Arduino UNO Rev3 с удлинёнными выводами

Примечание

Эта страница относится к продукту, который снят с производства.

Arduino UNO с удлинёнными выводами — это версия UNO, классической платы Arduino, с более длинными выводами, позволяющими устанавливать плату поверх любой несущей схемы.

Плата Arduino UNO

Arduino UNO — это плата микроконтроллера на базе ATmega328P (даташит). Она имеет 14 цифровых контактов ввода-вывода (из которых 6 могут использоваться как выходы ШИМ), 6 аналоговых входов, керамический резонатор 16 МГц (CSTCE16M0V53-R0), USB-разъём, разъём питания, разъём ICSP и кнопку сброса. Она содержит всё необходимое для поддержки микроконтроллера; просто подключите её к компьютеру с помощью USB-кабеля или подайте питание от адаптера переменного тока или батареи для начала работы. Вы можете экспериментировать с UNO, не особо беспокоясь о том, что сделаете что-то неправильно — в худшем случае вы можете заменить чип за несколько долларов и начать заново.

«Uno» означает «один» на итальянском языке и было выбрано для обозначения выхода Arduino Software (IDE) 1.0. Плата UNO и версия 1.0 Arduino Software (IDE) были эталонными версиями Arduino, которые теперь эволюционировали в более новые релизы. Плата UNO является первой в серии USB-плат Arduino и эталонной моделью для платформы Arduino; обширный список текущих, прошлых или устаревших плат см. в индексе плат Arduino.

Информацию о гарантии на вашу плату можно найти здесь.

Начало работы

В разделе Начало работы вы найдёте всю информацию, необходимую для настройки платы, использования Arduino Software (IDE) и начала работы с программированием и электроникой.

Нужна помощь?

Документация

OSH: Схемы

Arduino UNO является открытым оборудованием! Вы можете создать собственную плату, используя следующие файлы:

Схема распиновки

Схема распиновки Arduino UNO Rev3

Скачайте полную схему распиновки в формате PDF здесь.

Программирование

Arduino UNO можно программировать с помощью Arduino Software (IDE). Выберите «Arduino UNO» в меню Tools > Board (в соответствии с микроконтроллером на вашей плате). Подробнее см. справку и руководства.

ATmega328 на Arduino UNO поставляется с предустановленным загрузчиком, который позволяет загружать новый код без использования внешнего аппаратного программатора. Он обменивается данными по оригинальному протоколу STK500 (справка, заголовочные файлы C).

Вы также можете обойти загрузчик и программировать микроконтроллер через разъём ICSP (внутрисхемное последовательное программирование) с помощью Arduino ISP или аналогичного устройства; подробнее см. эти инструкции.

Исходный код прошивки ATmega16U2 (или 8U2 в платах rev1 и rev2) доступен в репозитории Arduino. ATmega16U2/8U2 загружен с DFU-загрузчиком, который можно активировать:

  • На платах Rev1: соединив паяльную перемычку на обратной стороне платы (рядом с картой Италии) и затем сбросив 8U2.

  • На платах Rev2 и более поздних: имеется резистор, подтягивающий линию HWB 8U2/16U2 к земле, что упрощает переход в режим DFU.

Затем вы можете использовать программу FLIP от Atmel (Windows) или DFU programmer (Mac OS X и Linux) для загрузки новой прошивки. Или вы можете использовать разъём ISP с внешним программатором (перезаписав DFU-загрузчик). Подробнее см. это руководство от пользователей.

Предупреждения

Arduino UNO имеет самовосстанавливающийся предохранитель (polyfuse), который защищает USB-порты вашего компьютера от коротких замыканий и перегрузки по току. Хотя большинство компьютеров имеют собственную внутреннюю защиту, предохранитель обеспечивает дополнительный уровень защиты. Если к USB-порту подаётся более 500 мА, предохранитель автоматически разрывает соединение до устранения короткого замыкания или перегрузки.

Отличия от других плат

UNO отличается от всех предыдущих плат тем, что не использует микросхему USB-to-serial FTDI. Вместо этого она оснащена Atmega16U2 (Atmega8U2 в версиях до R2), запрограммированным в качестве USB-to-serial конвертера.

Питание

Плата Arduino UNO может питаться через USB-соединение или от внешнего источника питания. Источник питания выбирается автоматически.

Внешнее (не USB) питание может поступать от адаптера переменного тока (сетевой адаптер) или батареи. Адаптер можно подключить, вставив штекер с положительным центром диаметром 2,1 мм в разъём питания платы. Провода от батареи можно вставить в контакты GND и Vin разъёма POWER.

Плата может работать от внешнего источника питания от 6 до 20 вольт. Однако при напряжении менее 7 В контакт 5V может выдавать менее пяти вольт, и плата может работать нестабильно. При использовании более 12 В стабилизатор напряжения может перегреться и повредить плату. Рекомендуемый диапазон — от 7 до 12 вольт.

Контакты питания:

  • Vin. Входное напряжение на плату Arduino при использовании внешнего источника питания (в отличие от 5 вольт от USB-соединения или другого стабилизированного источника). Вы можете подать напряжение через этот контакт, или, если подаёте напряжение через разъём питания, получить доступ к нему через этот контакт.

  • 5V. Этот контакт выдаёт стабилизированные 5 В от регулятора на плате. Плата может питаться от разъёма постоянного тока (7-12 В), USB-разъёма (5 В) или контакта VIN (7-12 В). Подача напряжения через контакты 5V или 3.3V обходит регулятор и может повредить плату. Мы не рекомендуем этого делать.

  • 3V3. Источник 3,3 В, генерируемый встроенным регулятором. Максимальный потребляемый ток — 50 мА.

  • GND. Контакты заземления.

  • IOREF. Этот контакт на плате Arduino предоставляет опорное напряжение, при котором работает микроконтроллер. Правильно сконфигурированный шилд может считать напряжение на контакте IOREF и выбрать соответствующий источник питания или включить преобразователи уровня на выходах для работы с 5 В или 3,3 В.

Память

ATmega328 имеет 32 КБ (из которых 0,5 КБ занято загрузчиком). Также имеется 2 КБ SRAM и 1 КБ EEPROM (который можно читать и записывать с помощью библиотеки EEPROM).

Входы и выходы

Соответствие между контактами Arduino и портами ATmega328P см. в маппинге. Маппинг для Atmega8, 168 и 328 идентичен.

Маппинг контактов ATmega328P

Каждый из 14 цифровых контактов на UNO может использоваться как вход или выход с помощью функций pinMode(), digitalWrite() и digitalRead(). Они работают при напряжении 5 вольт. Каждый контакт может обеспечивать или принимать 20 мА в качестве рекомендуемого режима работы и имеет внутренний подтягивающий резистор (по умолчанию отключён) номиналом 20-50 кОм. Максимальное значение 40 мА — это значение, которое не должно быть превышено на любом контакте ввода-вывода во избежание необратимого повреждения микроконтроллера.

Кроме того, некоторые контакты имеют специализированные функции:

  • Serial: 0 (RX) и 1 (TX). Используются для приёма (RX) и передачи (TX) TTL-данных последовательного порта. Эти контакты подключены к соответствующим контактам микросхемы ATmega8U2 USB-to-TTL Serial.

  • Внешние прерывания: 2 и 3. Эти контакты могут быть настроены на срабатывание прерывания по низкому уровню, по фронту или спаду, или по изменению значения. Подробнее см. функцию attachInterrupt().

  • PWM: 3, 5, 6, 9, 10 и 11. Обеспечивают 8-битный ШИМ-выход с помощью функции analogWrite().

  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Эти контакты поддерживают связь SPI с использованием библиотеки SPI.

  • LED: 13. Встроенный светодиод подключён к цифровому контакту 13. Когда контакт имеет значение HIGH, светодиод горит, когда LOW — выключен.

  • TWI: A4 или SDA и A5 или SCL. Поддерживают связь TWI с использованием библиотеки Wire.

UNO имеет 6 аналоговых входов, обозначенных от A0 до A5, каждый из которых обеспечивает 10-битное разрешение (т.е. 1024 различных значения). По умолчанию они измеряют от земли до 5 вольт, хотя можно изменить верхний предел диапазона с помощью контакта AREF и функции analogReference(). Есть ещё несколько контактов на плате:

  • AREF. Опорное напряжение для аналоговых входов. Используется с analogReference().

  • Reset. Подача LOW на эту линию сбрасывает микроконтроллер. Обычно используется для добавления кнопки сброса на шилды, которые блокируют кнопку на плате.

Связь

Arduino UNO имеет ряд средств для связи с компьютером, другой платой Arduino или другими микроконтроллерами. ATmega328 обеспечивает UART TTL (5 В) последовательную связь, доступную на цифровых контактах 0 (RX) и 1 (TX). ATmega16U2 на плате направляет эту последовательную связь через USB и отображается как виртуальный COM-порт для программного обеспечения на компьютере. Прошивка 16U2 использует стандартные драйверы USB COM, и внешний драйвер не требуется. Однако в Windows требуется .inf файл. Программное обеспечение Arduino (IDE) включает монитор последовательного порта, который позволяет отправлять и получать простые текстовые данные с платы. Светодиоды RX и TX на плате мигают при передаче данных через микросхему USB-to-serial и USB-соединение с компьютером (но не при последовательной связи на контактах 0 и 1).

Библиотека SoftwareSerial позволяет осуществлять последовательную связь на любом из цифровых контактов UNO.

ATmega328 также поддерживает связь I2C (TWI) и SPI. Программное обеспечение Arduino (IDE) включает библиотеку Wire для упрощения использования шины I2C; подробнее см. документацию. Для связи SPI используйте библиотеку SPI.

Автоматический (программный) сброс

Вместо необходимости физически нажимать кнопку сброса перед загрузкой, плата Arduino UNO спроектирована таким образом, что позволяет выполнять сброс программно с подключённого компьютера. Одна из линий управления потоком (DTR) ATmega8U2/16U2 подключена к линии сброса ATmega328 через конденсатор 100 нФ. Когда эта линия активируется (переводится в низкое состояние), линия сброса опускается на достаточное время для сброса чипа. Программное обеспечение Arduino (IDE) использует эту возможность, позволяя загружать код простым нажатием кнопки загрузки в интерфейсе. Это означает, что загрузчик может иметь меньший таймаут, так как понижение DTR хорошо координируется с началом загрузки.

Эта схема имеет и другие последствия. Когда UNO подключён к компьютеру с Mac OS X или Linux, он сбрасывается каждый раз при установлении соединения (через USB). В течение следующей примерно полсекунды на UNO работает загрузчик. Хотя он запрограммирован игнорировать некорректные данные (т.е. всё, кроме загрузки нового кода), он перехватит первые несколько байтов данных, отправленных на плату после открытия соединения. Если скетч, работающий на плате, получает одноразовые данные конфигурации при первом запуске, убедитесь, что программное обеспечение, с которым он взаимодействует, ожидает секунду после открытия соединения и перед отправкой этих данных.

На плате UNO есть дорожка, которую можно разрезать для отключения автосброса. Контактные площадки по обе стороны дорожки можно соединить пайкой для повторного включения. Она обозначена «RESET-EN». Вы также можете отключить автосброс, подключив резистор 110 Ом от 5 В к линии сброса; подробнее см. эту тему форума.

Ревизии

Ревизия 3 платы имеет следующие новые функции:

  • Распиновка 1.0: добавлены контакты SDA и SCL рядом с контактом AREF и два других новых контакта рядом с контактом RESET — IOREF, позволяющий шилдам адаптироваться к напряжению платы. В будущем шилды будут совместимы как с платами на AVR (5 В), так и с Arduino Due (3,3 В). Второй — неподключённый контакт, зарезервированный для будущего использования.

  • Усиленная цепь RESET.

  • Atmega 16U2 заменил 8U2.

Технические характеристики

Микроконтроллер

ATmega328P

Рабочее напряжение

5 В

Входное напряжение (рекомендуемое)

7-12 В

Входное напряжение (предельное)

6-20 В

Цифровые контакты ввода-вывода

14 (из которых 6 обеспечивают ШИМ-выход)

Контакты ШИМ

6

Аналоговые входы

6

Ток на контакт ввода-вывода

20 мА

Ток для контакта 3,3 В

50 мА

Флеш-память

32 КБ (ATmega328P), из которых 0,5 КБ использует загрузчик

SRAM

2 КБ (ATmega328P)

EEPROM

1 КБ (ATmega328P)

Тактовая частота

16 МГц

LED_BUILTIN

13

Длина

68,6 мм

Ширина

53,4 мм

Вес

25 г