Ардуино Уно. Описание, характеристики, распиновка, схема.

Ардуино Уно. Описание, характеристики, распиновка, схема.

Arduino Uno – это микроконтроллерная плата на основе ATmega328P.
В нее входит 14 цифровых входов/выходов (из которых 6 могут использоваться в качестве PWM-выходов), 6 аналоговых входов, 16 MHz, USB-подключение, разъем питания, ICSP и кнопка сброса.
Все необходимое для поддержки микроконтроллера уже встроено, просто подключите его к компьютеру с помощью USB-кабеля или запитайте от адаптера постоянного тока или батареи, чтобы начать работу.
Вы можете экспериментировать с Uno, не беспокоясь  о возможных ошибках, в крайнем случае вы можете заменить микросхему и начать заново.

"Uno" означает "один" на итальянском и было выбрано для обозначения в Arduino IDE.
Плата Uno и версия 1.0 программного обеспечения Arduino IDE были эталонными версиями Arduino, которые сейчас эволюционировали в более новые релизы. Она является первой в серии USB-плат и эталонной моделью для Arduino; для подробного списка текущих, прошлых или устаревших плат смотрите на сайте Arduino.

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

Параметр Значение
Микроконтроллер ATmega328P
Рабочее напряжение 5V
Рекомендуемое входное напряжение 7-12V
Лимит входного напряжения 6-20V
Цифровые входы/выходы 14 (из них 6 ШИМ)
Цифровые выходы с ШИМ 6
Аналоговые входы 6
Ток на выходе цифрового пина 20 мА
Ток на выходе 3.3V пина 50 мА
Флеш-память 32 КБ (ATmega328P), из которых 0.5 КБ используется загрузчиком
Оперативная память (SRAM) 2 КБ (ATmega328P)
EEPROM 1 КБ (ATmega328P)
Тактовая частота 16 МГц
Встроенный светодиод (LED_BUILTIN) 13
Длина 68.6 мм
Ширина 53.4 мм
Вес 25 г

 

Часто Задаваемые Вопросы (FAQs)

Программирование
Arduino Uno можно программировать с использованием Arduino IDE.
Выберите "Arduino Uno" в меню Tools > Board (в зависимости от микроконтроллера на вашей плате). Дополнительные сведения в соответствующих статьях в Блоге или в видеоуроках на канале.

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

Также можно обойти загрузчик и программировать микроконтроллер через разъем ICSP (In-Circuit Serial Programming) с использованием Arduino ISP или аналогичных средств.

Исходный код прошивки ATmega16U2 (или 8U2 на платах rev1 и rev2) доступен в репозитории Arduino.

ATmega16U2/8U2 загружен загрузчиком DFU, который можно активировать:
На платах Rev1: подключите перемычку на обратной стороне платы (рядом с картой Италии), а затем сбросьте 8U2.
На платах Rev2 или более поздних версий: есть резистор, который выводит линию HWB 8U2/16U2 на землю, что упрощает вход в режим DFU.
Затем можно использовать программное обеспечение Atmel FLIP (Windows) или программатор DFU (Mac OS X и Linux) для загрузки новой прошивки.
Или можно использовать разъем ISP с внешним программатором. 

Предупреждения
Arduino Uno оснащена сбрасываемым полимерным предохранителем, который защищает 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-подключения или другого регулированного источника питания). Вы можете подавать напряжение через пин Vin или, если подаете напряжение через гнездо питания, получать доступ к нему на этом же пине.
+5V
Этот пин выдает стабилизированные 5 вольт от регулятора на плате.
Питание платы может поступать либо от разъема питания постоянного тока (7 - 12В), USB-разъема (5В), или от пина VIN платы (7-12В).
Подача напряжения через пины +5V или +3.3V обходит регулятор и может повредить плату.
+3.3V
Питание 3,3 вольта, сгенерированное встроенным регулятором. Максимальный ток - 50 мА.
GND
Контакты Земли.
IOREF
Этот пин на плате Arduino предоставляет опорное напряжение, с которым работает микроконтроллер. Правильно настроенный может считывать напряжение пина IOREF и выбирать соответствующий источник питания или включать трансляторы напряжения на выходах для работы с +5В или +3,3В.

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

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

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

Кроме того, некоторые пины имеют специализированные функции:
Serial: 0 (RX) и 1 (TX).
Используются для приема (RX) и передачи (TX) TTL серийных данных. Эти пины подключены к соответствующим пинам чипа ATmega8U2 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, светодиод выключен.
TWI: Пин A4 или SDA и пин A5 или SCL. Поддерживают TWI-коммуникацию с использованием библиотеки Wire.
Uno имеет 6 аналоговых входов, обозначенных A0 до A5, каждый из которых обеспечивает разрешение в 10 бит (т.е. 1024 различных значений). По умолчанию они измеряют от 0 до 5 вольт, хотя возможно изменение верхнего предела их диапазона с использованием пина AREF и функции analogReference().

Есть еще несколько других пинов на плате:
AREF: Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
Reset: Установка этого пина в LOW сбрасывает микроконтроллер. Обычно используется для добавления кнопки сброса к шилдам, которые блокируют встроенную кнопку на плате.

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

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

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

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

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

Плата Uno содержит дорожку, которую можно перерезать, чтобы отключить автоматический сброс. Провода с обеих сторон дорожки могут быть припаяны вместе, чтобы включить его снова. Он помечен как "RESET-EN".
Вы также можете отключить автоматический сброс, соединив резистор с сопротивлением 110 ом от +5V до линии сброса.

Дополнительные материалы по теме.
arduino ide библиотеки
arduino 1.8.13 windows. Установка arduino ide
Arduino NANO shield
Аналоговые порты Arduino
Arduino Nano ATmega168
Arduino Nano загрузка скетча
Arduino Nano v3 распиновка
Arduino Nano v 3.0 ch340g
Arduino Nano шим
Arduino Nano выходы
Arduino Nano datasheet
Arduino Nano описание
Ардуино Нано. Описание, характеристики, распиновка, схема.