Arduino:Продукты/Продукты Arduino/Плата Arduino Duemilanove
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Черновик |
Arduino Duemilanove[1]
Arduino Duemilanove («2009») – это микроконтроллерная плата на базе ATmega168 или ATmega328. У нее 14 цифровых I/O контактов (из которых 6 можно использовать для выдачи ШИМ), 6 входных аналоговых контактов, кристаллический тактовый генератор на 16 МГц, USB-соединение, разъем для питания, ICSP-гребешок и кнопка сброса. Она содержит все необходимое для поддержки микроконтроллера – чтобы начать, просто подключите ее к компьютеру при помощи USB-кабеля или запитайте от адаптера, конвертирующего переменный ток в постоянный.
Duemilanove означает «2009» на итальянском языке, т.е. она названа в честь года выпуска. Duemilanove – это последняя из плат Arduino USB; для сравнения с предыдущими версиями смотрите здесь.
Технические характеристики
- Микроконтроллер – Микроконтроллер::ATmega168
- Рабочее напряжение – Рабочее напряжение::5 вольт
- Входное напряжение (рекомендуемое) – Входное напряжение (рекомендуемое)::7-12 вольт
- Входное напряжение (лимит) – Входное напряжение (лимит)::6-20 вольт
- Цифровые I/O контакты – Цифровые I/O контакты::14 шт. (из них 6 шт. можно использовать для выдачи ШИМ)
- Входные аналоговые контакты – Входные аналоговые контакты::6 шт.
- Максимальная сила тока на один I/O контакт – Максимальная сила тока на один I/O контакт::40 миллиампер
- Максимальная сила тока на контакт 3.3V – Максимальная сила тока на контакт 3.3V::50 миллиампер
- Flash-память – Flash-память::16 Кб (ATmega168) или 32 Кб (ATmega328), из которых 2 Кб используются загрузчиком
- SRAM – SRAM::1 Кб (ATmega168) или 2 Кб (ATmega328)
- EEPROM – EEPROM::512 байт (ATmega168) или 1 Кб (ATmega328)
- Тактовая частота – Тактовая частота::16 МГц
Документация
Питание
Arduino Duemilanove можно питать от USB-соединения или внешнего источника питания. Источник питания выбирается автоматически.
Внешнее (не USB) питание идет либо от адаптера, конвертирующего переменный ток в постоянный, либо от батареи. Адаптер можно подключить, подсоединив 2,1-миллиметровый разъем с центральным положительным контактом к разъему для питания на плате. Провода от батареи можно подсоединить к контактам Gnd и Vin на коннекторе POWER.
Плата может работать на внешнем питании в диапазоне от 6 до 20 вольт. Впрочем, если на плату будет подаваться ниже 7 вольт, то контакт 5V, возможно, будет получать меньше 5 вольт, из-за чего работа платы станет нестабильной. Если подать на плату более 12 вольт, регулятор напряжения может перегреться и повредить плату. Поэтому рекомендуется питать Duemilanove напряжением в 7-12 вольт.
Контакты для питания на Arduino Duemilanove:
- VIN – входное напряжение для платы Arduino при использовании внешнего источника питания (в противовес 5 вольтам от USB-соединения или другого регулированного источника питания). Этот контакт можно использовать по-разному: во-первых, чтобы подавать через него питание на плату, а во-вторых, получать через него питание (если питающее напряжение подается на плату через разъем для питания).
- 5V – регулированное напряжение для питания микроконтроллера и других компонентов платы. Оно может подаваться либо от контакта VIN (через регулятор напряжения), либо от USB-соединения, либо от другого источника, дающего отрегулированные 5 вольт.
- 3V3 – напряжение в 3,3 вольта, генерируемое встроенным чипом FTDI. Максимальная сила тока, которую можно тянуть отсюда, составляет 50 миллиампер.
- GND – контакты для «земли».
Память
Чип ATmega168 имеет 16 Кб flash-памяти для хранения кода, а ATmega328 – 32 Кб. Из этих 16/32 Кб загрузчику отведено 2 Кб. ATmega168 имеет 1 Кб памяти типа SRAM, а ATmega328 – 2 Кб. Также ATmega168 имеет 512 байт памяти типа EEPROM, а ATmega328 – 1 Кб. Запись и считывание с этой памяти осуществляется при помощи библиотеки EEPROM.
Входные и выходные контакты
Каждый из 14 цифровых контактов Duemilanove можно использовать и в качестве входного, и в качестве выходного контакта – при помощи функций pinMode(), digitalRead() и digitalWrite(). Они работают на 5 вольтах. Каждый контакт может получать/отдавать не более 40 миллиампер и имеет встроенный подтягивающий (по умолчанию отключен) резистор на 20-50 кОм. Кроме того, некоторые контакты имеют специальные функции:
- Последовательная передача данных: контакты 0 (RX) и 1 (TX). Используются для передачи (TX) и приема (RX) последовательных TTL-данных. Эти контакты подключены к соответствующим контактам чипа FTDI, конвертирующего USB-данные в TTL-данные.
- Внешние прерывания: контакты 2 и 3. Эти контакты можно настроить на запуск прерывания при переключении на значение LOW, при убывающем/возрастающем фронте импульса или при изменении значения. Более подробно читайте в статье о функции attachInterrupt().
- ШИМ: контакты 3, 5, 6, 9, 10 и 11. Поддерживают выдачу 8-битной ШИМ при помощи функции analogWrite().
- Интерфейс SPI: контакты 10 (SS), 11 (MOSI), 12 (MISO) и 13 (SCK). Эти контакты поддерживают коммуникацию типа SPI при помощи библиотеки SPI.
- Встроенный светодиод: подключен к контакту 13. Если подать на этот контакт HIGH, то светодиод включится, а если LOW, то выключится.
Duemilanove также имеет 6 входных аналоговых контактов, каждый из которых поддерживает 10-битное разрешение (т.е. может работать с 1024 разными значениями). По умолчанию вольтовый диапазон на них составляет от «земли» до 5 вольт, однако верхнюю границу этого диапазона можно поменять при помощи контакта AREF и функции analogReference(). Некоторые из этих контактов имеют специальные функции:
- Интерфейс I2C: контакты A4 (SDA) и A5 (SCL). Поддерживают коммуникацию типа I2C (TWI) при помощи библиотеки Wire.
На Duemilanove есть еще несколько специальных контактов:
- AREF – эталонное напряжение для входных аналоговых контактов. Используется вместе с функцией analogReference().
- Reset – если подать на этот контакт LOW, это сбросит микроконтроллер. Как правило, используется, чтобы добавить на «шилд» кнопку сброса, потому что подключение «шилда» блокирует кнопку сброса на самой плате.
Смотрите также распиновку между контактами Arduino и портами ATmega168.
Коммуникация
Arduino Duemilanove имеет ряд средств для коммуникации с компьютером, а также другими Arduino и микроконтроллерами. Чипы ATmega168 и ATmega328 обеспечивают последовательную UART TTL (5-вольтовую) коммуникацию, которая доступна на контактах 0 (RX) и 1 (TX). Чип FTDI FT232RL перенаправляет эту коммуникацию на USB, а драйверы FTDI (есть в версии IDE Arduino для Windows) обеспечивают виртуальный COM-порт для ПО на компьютере. Кроме того, в IDE Arduino есть монитор порта, который позволяет отправлять простые текстовые данные – и на плату, и от нее. Светодиоды RX и TX на плате загораются, когда данные передаются через чип FTDI и USB-соединение с компьютером (но не через последовательный порт на контактах 0 и 1).
Кроме того, для последовательной коммуникации можно использовать любой цифровой контакт Duemilanove, и это осуществляется при помощи библиотеки SoftwareSerial.
Чипы ATmega168 и ATmega328 также поддерживают коммуникации типа I2C (TWI) и SPI. Для коммуникации через шину I2C в IDE Arduino есть библиотека Wire, а для шины SPI – библиотека SPI.
Программирование
Arduino Duemilanove программируется при помощи среды разработки IDE Arduino. Чтобы начать работать с Duemilanove, зайдите в IDE Arduino и кликните на Инструменты > Плата > Arduino Duemilanove or Diecimila (Tools > Board > Arduino Duemilanove or Diecimila). О языке программирования Arduino читайте тут, а руководства смотрите тут.
Вы также можете обойти загрузчик и программировать микроконтроллер через ICSP-гребешок. Более подробно читайте в этих инструкциях.
Автоматический (программный) сброс
Arduino Duemilanove устроена так, что вам необязательно вручную нажимать на кнопку сброса перед загрузкой скетча – сброс можно выполнить при помощи ПО на компьютере, к которому подключена плата. Одна из линий управления потоками на FT232RL (если точнее, линия DTR) подключена к линии сброса на ATmega168/ATmega328 через 100-нанофарадный конденсатор. Если на эту линию подается значение LOW, значение на линии сброса падает, тем самым инициируя сброс чипа. Таким образом, чтобы загрузить код, достаточно просто нажав на кнопку загрузки в IDE Arduino. Это уменьшает таймаут загрузчика, т.к. подачу значения LOW на линию DTR можно скоординировать с началом загрузки.
Это влияет на работу платы и в другом. Когда Duemilanove подключена к компьютеру на Mac OS X или Linux, то сбрасывается каждый раз при открытии соединения между ней и IDE Arduino (через USB). Следующие примерно полсекунды на Duemlanove будет запускаться загрузчик. Хотя он запрограммирован, чтобы игнорировать ненужные данные (т.е. всего, что не относится к загрузке нового кода), он все же перехватит первые несколько байтов, отправленных на плату после открытия соединения. Таким образом, если скетч, первый раз запущенный на плате, получает исходные настройки или другую важную информацию, то сделайте так, чтобы ПО, с которым коммуницирует этот скетч, подождало примерно секунду после открытия соединения и перед отправкой данных.
Кроме того, Duemilanove имеет специальную трассу – если обрезать ее, это отключит функцию автоматического сброса. Чтобы снова ее включить, спаяйте друг с другом контактные площадки, находящиеся по обе стороны этой трассы. Она подписана как «RESET-EN». Кроме того, автоматический сброс можно отключить, подключив резистор на 110 ом между контактом 5V и линией сброса. Более подробно читайте в этом посте на форуме Arduino.
Защита USB-портов от перегрузок
Arduino Duemilanove имеет самовосстанавливающийся предохранитель, который защищает USB-порты вашего компьютера от коротких замыканий и других перегрузок. Хотя у многих компьютеров есть собственная защита от подобных напастей, этот предохранитель добавляет к ней еще один слой. Если на USB-порт будет подано более 500 миллиампер, этот предохранитель автоматически прервет соединение, пока короткое замыкание или перегрузка не будут устранены.
Физические характеристики
Максимальные длина и ширина печатной платы Duemilanove составляют Длина::68,58 мм. и Ширина::53,34 мм., однако USB-коннектор и разъем для питания могут немного выходить за эти границы. Также на плате есть три сквозных отверстия, благодаря которым ее можно прикрепить к какой-нибудь поверхности или корпусу. Обратите внимание, что расстояние между контактами 7 и 8 составляет 4,06 мм, а между остальными контактами – 2,54 мм.
Правильное произношение
Чтобы узнать, как правильно произносится название платы, можете загрузить один из файлов ниже (в зависимости от предпочитаемого формата): WAV, OGG, MP3, FLAC, WMA.
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Черновик
- Надо доработать
- Черновой вариант статьи
- Черновой вариант
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом