Arduino Duemilanove
Примечание
Эта страница относится к продукту, который снят с производства.
Arduino Duemilanove
Обзор
Arduino Duemilanove («2009») — это плата микроконтроллера на базе ATmega168 (даташит) или ATmega328 (даташит). Она имеет 14 цифровых входов/выходов (из которых 6 могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, USB-разъем, разъем питания, разъем ICSP и кнопку сброса. Плата содержит все необходимое для поддержки микроконтроллера; просто подключите ее к компьютеру с помощью USB-кабеля или запитайте от адаптера переменного тока или батареи, чтобы начать работу.
«Duemilanove» означает 2009 на итальянском языке и названа в честь года выпуска. Duemilanove — последняя в серии USB-плат Arduino.
Характеристики
Микроконтроллер |
ATmega168 |
Рабочее напряжение |
5 В |
Входное напряжение (рекомендуемое) |
7–12 В |
Входное напряжение (предельное) |
6–20 В |
Цифровые выводы ввода-вывода |
14 (из которых 6 обеспечивают вывод ШИМ) |
Аналоговые входы |
6 |
Постоянный ток на вывод ввода-вывода |
40 мА |
Постоянный ток для вывода 3.3V |
50 мА |
Флеш-память |
16 КБ (ATmega168) или 32 КБ (ATmega328), из которых 2 КБ используются загрузчиком |
SRAM |
1 КБ (ATmega168) или 2 КБ (ATmega328) |
EEPROM |
512 байт (ATmega168) или 1 КБ (ATmega328) |
Тактовая частота |
16 МГц |
Схемы и эталонный дизайн
Файлы EAGLE: arduino-duemilanove-reference-design.zip
Питание
Arduino Duemilanove может получать питание через 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 КБ используются загрузчиком); ATmega328 имеет 32 КБ (также с 2 КБ для загрузчика). ATmega168 имеет 1 КБ SRAM и 512 байт EEPROM (которые можно читать и записывать с помощью библиотеки EEPROM); ATmega328 имеет 2 КБ SRAM и 1 КБ EEPROM.
Входы и выходы
Каждый из 14 цифровых выводов Duemilanove может использоваться как вход или выход с помощью функций 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 с использованием библиотеки SPI.
LED: 13. Встроенный светодиод подключен к цифровому выводу 13. Когда вывод имеет значение HIGH, светодиод горит; когда LOW — выключен.
Duemilanove имеет 6 аналоговых входов, каждый из которых обеспечивает разрешение 10 бит (т.е. 1024 различных значения). По умолчанию они измеряют от земли до 5 В, хотя можно изменить верхний предел их диапазона с помощью вывода AREF и функции analogReference(). Кроме того, некоторые выводы имеют специализированную функциональность:
I2C: аналоговые входы A4 (SDA) и A5 (SCL). Поддерживают связь I2C (TWI) с использованием библиотеки Wire.
Также на плате есть другие выводы:
AREF. Опорное напряжение для аналоговых входов. Используется с
analogReference().Reset. Подтяните эту линию к LOW для сброса микроконтроллера. Обычно используется для добавления кнопки сброса на шилды, которые закрывают кнопку на плате.
См. также соответствие между выводами Arduino и портами ATmega168.
Связь
Arduino Duemilanove имеет ряд средств связи с компьютером, другой Arduino или другими микроконтроллерами. ATmega168 и ATmega328 обеспечивают UART TTL (5 В) последовательную связь, которая доступна на цифровых выводах 0 (RX) и 1 (TX). Чип FTDI FT232RL на плате направляет эту последовательную связь через USB, а драйверы FTDI (входящие в состав Windows-версии программного обеспечения Arduino) предоставляют виртуальный COM-порт для программного обеспечения на компьютере. Программное обеспечение Arduino включает монитор последовательного порта, который позволяет отправлять и получать простые текстовые данные на плату Arduino. Светодиоды RX и TX на плате мигают при передаче данных через чип FTDI и USB-соединение к компьютеру (но не при последовательной связи на выводах 0 и 1).
Библиотека SoftwareSerial позволяет осуществлять последовательную связь на любом из цифровых выводов Duemilanove.
ATmega168 и ATmega328 также поддерживают связь I2C (TWI) и SPI. Программное обеспечение Arduino включает библиотеку Wire для упрощения использования шины I2C. Для связи SPI используйте библиотеку SPI.
Программирование
Arduino Duemilanove можно программировать с помощью программного обеспечения Arduino. Выберите «Arduino Diecimila or Duemilanove w/ ATmega168» или «Arduino Duemilanove w/ ATmega328» из меню Tools > Board (в зависимости от микроконтроллера на вашей плате). Подробности см. в справочнике и руководствах.
ATmega168 или ATmega328 на Arduino Duemilanove поставляется с предустановленным загрузчиком, который позволяет загружать новый код без использования внешнего программатора. Он взаимодействует по оригинальному протоколу STK500 (справка, заголовочные файлы C).
Вы также можете обойти загрузчик и запрограммировать микроконтроллер через разъем ICSP (внутрисхемное последовательное программирование); подробности см. в этих инструкциях.
Автоматический (программный) сброс
Вместо физического нажатия кнопки сброса перед загрузкой, Arduino Duemilanove спроектирована так, что позволяет выполнять сброс программно с подключенного компьютера. Одна из линий управления потоком (DTR) FT232RL подключена к линии сброса ATmega168 или ATmega328 через конденсатор 100 нанофарад. Когда эта линия активируется (переходит в низкое состояние), линия сброса опускается на достаточное время для сброса чипа. Программное обеспечение Arduino использует эту возможность, позволяя загружать код простым нажатием кнопки загрузки в среде Arduino. Это означает, что загрузчик может иметь более короткий тайм-аут, поскольку опускание DTR может быть хорошо скоординировано с началом загрузки.
Эта конфигурация имеет и другие последствия. Когда Duemilanove подключена к компьютеру под управлением Mac OS X или Linux, она сбрасывается каждый раз, когда к ней устанавливается соединение из программного обеспечения (через USB). В течение следующей полусекунды или около того на Duemilanove работает загрузчик. Хотя он запрограммирован игнорировать некорректные данные (т.е. все, кроме загрузки нового кода), он перехватит первые несколько байтов данных, отправленных на плату после открытия соединения. Если скетч, работающий на плате, получает однократные данные конфигурации или другие данные при первом запуске, убедитесь, что программное обеспечение, с которым он взаимодействует, ждет секунду после открытия соединения и перед отправкой этих данных.
Duemilanove содержит дорожку, которую можно разрезать, чтобы отключить автоматический сброс. Контактные площадки по обе стороны дорожки можно спаять вместе, чтобы снова включить его. Дорожка помечена «RESET-EN». Вы также можете отключить автоматический сброс, подключив резистор 110 Ом от 5V к линии сброса.
Защита от перегрузки USB
Arduino Duemilanove имеет самовосстанавливающийся предохранитель, который защищает USB-порты вашего компьютера от коротких замыканий и перегрузки. Хотя большинство компьютеров обеспечивают собственную внутреннюю защиту, предохранитель обеспечивает дополнительный уровень защиты. Если к USB-порту приложено более 500 мА, предохранитель автоматически разрывает соединение до устранения короткого замыкания или перегрузки.
Физические характеристики
Максимальная длина и ширина печатной платы Duemilanove составляют 2,7 и 2,1 дюйма соответственно, при этом USB-разъем и разъем питания выступают за указанный размер. Три отверстия для винтов позволяют прикрепить плату к поверхности или корпусу. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 составляет 160 мил (0,16 дюйма), что не является четным кратным шагу 100 мил остальных выводов.
Произношение названия
Так произносится название платы на правильном итальянском языке. Скачайте звуковой файл в удобном формате: WAV, OGG, MP3, FLAC, WMA