Arduino Diecimila
Примечание
Эта страница относится к продукту, который снят с производства.
Arduino Diecimila
Обзор
Arduino Diecimila — это плата микроконтроллера на базе ATmega168 (даташит). Она имеет 14 цифровых входов/выходов (из которых 6 могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, USB-разъем, разъем питания, разъем ICSP и кнопку сброса. Плата содержит все необходимое для поддержки микроконтроллера; просто подключите ее к компьютеру с помощью USB-кабеля или запитайте от адаптера переменного тока или батареи, чтобы начать работу.
«Diecimila» означает 10 000 на итальянском языке и была названа так, чтобы отметить факт, что было произведено более 10 000 плат Arduino. Diecimila — последняя в серии USB-плат Arduino.
Характеристики
Микроконтроллер |
ATmega168 |
Рабочее напряжение |
5 В |
Входное напряжение (рекомендуемое) |
7–12 В |
Входное напряжение (предельное) |
6–20 В |
Цифровые выводы ввода-вывода |
14 (из которых 6 обеспечивают вывод ШИМ) |
Аналоговые входы |
6 |
Постоянный ток на вывод ввода-вывода |
40 мА |
Постоянный ток для вывода 3.3V |
50 мА |
Флеш-память |
16 КБ (из которых 2 КБ используются загрузчиком) |
SRAM |
1 КБ |
EEPROM |
512 байт |
Тактовая частота |
16 МГц |
Компоненты
Схемы и эталонный дизайн
Файлы EAGLE: arduino-diecimila-reference-design.zip
Примечание
Обратите внимание, что R2 не установлен, а R3 заменен конденсатором 100 нанофарад.
Питание
Arduino Diecimila может получать питание через USB-подключение или от внешнего источника питания. Источник питания выбирается перемычкой PWR_SEL: для питания платы от USB-подключения установите ее на два контакта ближе к USB-разъему, для внешнего питания — на два контакта ближе к разъему питания.
Внешнее (не USB) питание может поступать от адаптера переменного тока (сетевого адаптера) или батареи. Адаптер подключается путем вставки штекера 2,1 мм с центральным положительным контактом в разъем питания платы. Провода от батареи можно вставить в выводы Gnd и Vin разъема POWER. Низковольтный стабилизатор обеспечивает повышенную энергоэффективность.
Плата может работать от внешнего питания 6–20 В. Однако при питании менее 7 В вывод 5V может выдавать менее 5 В, и плата может работать нестабильно. При использовании более 12 В стабилизатор напряжения может перегреться и повредить плату. Рекомендуемый диапазон — 7–12 В.
Выводы питания:
VIN. Входное напряжение на плату Arduino при использовании внешнего источника питания (в отличие от 5 В от USB-подключения или другого стабилизированного источника). Вы можете подавать напряжение через этот вывод, или, если напряжение подается через разъем питания, получить к нему доступ через этот вывод.
5V. Стабилизированное питание, используемое для питания микроконтроллера и других компонентов платы. Может поступать от VIN через встроенный стабилизатор, от USB или другого стабилизированного источника 5 В.
3V3. Источник питания 3,3 В, генерируемый встроенным чипом FTDI. Максимальный потребляемый ток — 50 мА.
GND. Выводы заземления.
Память
ATmega168 имеет 16 КБ флеш-памяти для хранения кода (из которых 2 КБ используются загрузчиком). Он имеет 1 КБ SRAM и 512 байт EEPROM (которые можно читать и записывать с помощью библиотеки EEPROM).
Входы и выходы
Каждый из 14 цифровых выводов Diecimila может использоваться как вход или выход с помощью функций pinMode(), digitalWrite() и digitalRead(). Они работают при напряжении 5 В. Каждый вывод может отдавать или потреблять максимум 40 мА и имеет внутренний подтягивающий резистор (по умолчанию отключенный) 20–50 кОм. Кроме того, некоторые выводы имеют специализированные функции:
Serial: 0 (RX) и 1 (TX). Используются для приема (RX) и передачи (TX) последовательных данных TTL. Эти выводы подключены к соответствующим выводам чипа FTDI USB-to-TTL Serial.
Внешние прерывания: 2 и 3. Эти выводы могут быть настроены на вызов прерывания по низкому значению, нарастающему или спадающему фронту, или по изменению значения. Подробности см. в функции
attachInterrupt().ШИМ: 3, 5, 6, 9, 10 и 11. Обеспечивают 8-битный вывод ШИМ с помощью функции
analogWrite().SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Эти выводы поддерживают связь SPI, которая, хотя и обеспечивается аппаратно, в настоящее время не включена в язык Arduino.
LED: 13. Встроенный светодиод подключен к цифровому выводу 13. Когда вывод имеет значение HIGH, светодиод горит; когда LOW — выключен.
Diecimila имеет 6 аналоговых входов, каждый из которых обеспечивает разрешение 10 бит (т.е. 1024 различных значения). По умолчанию они измеряют от земли до 5 В, хотя можно изменить верхний предел их диапазона с помощью вывода AREF и низкоуровневого кода. Кроме того, некоторые выводы имеют специализированную функциональность:
I2C: 4 (SDA) и 5 (SCL). Поддерживают связь I2C (TWI) с использованием библиотеки Wire.
Также на плате есть другие выводы:
AREF. Опорное напряжение для аналоговых входов. Используется с
analogReference().Reset. Подтяните эту линию к LOW для сброса микроконтроллера. Обычно используется для добавления кнопки сброса на шилды, которые закрывают кнопку на плате.
См. также соответствие между выводами Arduino и портами ATmega168.
Связь
Arduino Diecimila имеет ряд средств связи с компьютером, другой Arduino или другими микроконтроллерами. ATmega168 обеспечивает UART TTL (5 В) последовательную связь, которая доступна на цифровых выводах 0 (RX) и 1 (TX). Чип FTDI FT232RL на плате направляет эту последовательную связь через USB, а драйверы FTDI (входящие в состав программного обеспечения Arduino) предоставляют виртуальный COM-порт для программного обеспечения на компьютере. Программное обеспечение Arduino включает монитор последовательного порта, который позволяет отправлять и получать простые текстовые данные на плату Arduino. Светодиоды RX и TX на плате мигают при передаче данных через чип FTDI и USB-соединение к компьютеру (но не при последовательной связи на выводах 0 и 1).
Библиотека SoftwareSerial позволяет осуществлять последовательную связь на любом из цифровых выводов Diecimila.
ATmega168 также поддерживает связь I2C (TWI) и SPI. Программное обеспечение Arduino включает библиотеку Wire для упрощения использования шины I2C. Для использования связи SPI обратитесь к даташиту ATmega168.
Программирование
Arduino Diecimila можно программировать с помощью программного обеспечения Arduino. Подробности см. в справочнике и руководствах.
ATmega168 на Arduino Diecimila поставляется с предустановленным загрузчиком, который позволяет загружать новый код без использования внешнего программатора. Он взаимодействует по оригинальному протоколу STK500 (справка, заголовочные файлы C).
Вы также можете обойти загрузчик и запрограммировать ATmega168 через разъем ICSP (внутрисхемное последовательное программирование); подробности см. в этих инструкциях.
Автоматический (программный) сброс
Вместо физического нажатия кнопки сброса перед загрузкой, Arduino Diecimila спроектирована так, что позволяет выполнять сброс программно с подключенного компьютера. Одна из линий управления потоком (DTR) FT232RL подключена к линии сброса ATmega168 через конденсатор 100 нанофарад. Когда эта линия активируется (переходит в низкое состояние), линия сброса опускается на достаточное время для сброса чипа. Версия 0009 программного обеспечения Arduino использует эту возможность, позволяя загружать код простым нажатием кнопки загрузки в среде Arduino. Это означает, что загрузчик может иметь более короткий тайм-аут, поскольку опускание DTR может быть хорошо скоординировано с началом загрузки.
Эта конфигурация имеет и другие последствия. Когда Diecimila подключена к компьютеру под управлением Mac OS X или Linux, она сбрасывается каждый раз, когда к ней устанавливается соединение из программного обеспечения (через USB). В течение следующей полусекунды или около того на Diecimila работает загрузчик. Хотя он запрограммирован игнорировать некорректные данные (т.е. все, кроме загрузки нового кода), он перехватит первые несколько байтов данных, отправленных на плату после открытия соединения. Если скетч, работающий на плате, получает однократные данные конфигурации или другие данные при первом запуске, убедитесь, что программное обеспечение, с которым он взаимодействует, ждет секунду после открытия соединения и перед отправкой этих данных.
Защита от перегрузки USB
Arduino Diecimila имеет самовосстанавливающийся предохранитель, который защищает USB-порты вашего компьютера от коротких замыканий и перегрузки. Хотя большинство компьютеров обеспечивают собственную внутреннюю защиту, предохранитель обеспечивает дополнительный уровень защиты. Если к USB-порту приложено более 500 мА, предохранитель автоматически разрывает соединение до устранения короткого замыкания или перегрузки.
Физические характеристики
Максимальная длина и ширина печатной платы Diecimila составляют 2,7 и 2,1 дюйма соответственно, при этом USB-разъем и разъем питания выступают за указанный размер. Три отверстия для винтов позволяют прикрепить плату к поверхности или корпусу. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 составляет 160 мил (0,16 дюйма), что не является четным кратным шагу 100 мил остальных выводов.