Дайджест: Arduino Uno, Arduino Leonardo, Arduino Nano
Arduino – это плата, используемая для создания устройств способных взаимодействовать с окружающей средой и воспринимать различные данные из нее при помощи различных датчиков и управляющих устройств. Также это платформа с открытым исходным кодом, основанная на микроконтроллерах.
Особенности:
- Плата обладает встроенным программатором (не нужен компилятор);
- Использование языка программирования близкого к C/C++, что делает её простой в использовании и изучении;
- Наличие множества библиотек для модулей, сенсоров, дисплеев и т.п., доступных для свободного использования;
- Для сбора устройства не требуется пайка, компоненты соединяются при помощи специальной макетной платы, перемычек и проводов;
- Возможность автономной работы, т.е. использование батареек или аккумуляторов;
- Наличие версии для работы с популярной мобильной операционной системой Android;
- Огромное количество различных модулей, сенсоров, дисплеев, датчиков и т.п..
- Наличие большого количества плат расширения - shields или «шилды».
Arduino Uno:
Arduino Uno является стандартной платой Arduino и возможно наиболее распространенной. Она основана на чипе ATmega328, имеющем на борту 32 КБ флэш-памяти, 2 Кб SRAM и 1 Кбайт EEPROM памяти. На периферии имеет 14 дискретных (цифровых) каналов ввода / вывода и 6 аналоговых каналов ввода / вывода, это очень разносторонне-полезные девайсы, позволяющие перекрывать большинство любительских задач в области микроконтроллерной техники. Данная плата контроллера является одной из самых дешевых и наиболее часто используемых.
Характеристики:
Микроконтроллер | ATmega328 |
Рабочее напряжение | 5В |
Напряжение питания (рекомендуемое) | 7-12В |
Напряжение питания (предельное) | 6-20В |
Цифровые входы/выходы | 14 (из них 6 могут использоваться в качестве ШИМ-выходов) |
Аналоговые входы | 6 |
Максимальный ток одного вывода | 40 мА |
Максимальный выходной ток вывода 3.3V | 50 мА |
Flash-память | 32 КБ (ATmega328) из которых 0.5 КБ используются загрузчиком |
SRAM | 2 КБ (ATmega328) |
EEPROM | 1 КБ (ATmega328) |
Тактовая частота | 16 МГц |
Компоненты:
- Кнопка сброса (Reset Button) - это перезапустит любой код, который загружен на плату Arduino
- AREF или Analog Reference - используется для установки внешнего опорного напряжения
- Штырь заземления (GND, земля) - на Arduino есть несколько штырей заземления, и все они работают одинаково
- Цифровые входы/выходы - контакты 0-13 могут использоваться для цифрового ввода или вывода
- ШИМ (PWM) - выводы, помеченные символом (~), могут имитировать аналоговый выход
- USB-соединение - используется для включения питания Arduino и загрузки эскизов
- TX / RX - светодиоды индикации передачи и приема данных
- Микроконтроллер ATmega - это мозг и место хранения программ
- Светодиодный индикатор питания - этот светодиод загорается каждый раз, когда плата подключена к источнику питания
- Регулятор напряжения - контролирует количество напряжения, поступающего на плату Arduino
- Разъем питания платы (DC Power Jack) - разъем питания постоянного тока, используется для питания вашего Arduino с помощью блока питания
- 3,3 В контакт - этот контакт обеспечивает 3,3 вольт питания для ваших проектов
- Штырь 5 В - этот штырь подает 5 В на ваши проекты
- Штыри заземления - на Arduino есть несколько штырей заземления и все они работают одинаково
- Аналоговые контакты - эти контакты могут считывать сигнал с аналогового датчика и преобразовывать его в цифровой
Arduino Leonardo
Arduino Leonardo - это устройство на базе микроконтроллера ATmega32U4 (datasheet).
Плата Arduino Leonardo существенно расширяет возможности для подключения Arduino к компьютеру. Она рассматривается компьютером как стандартное HID-устройство и может напрямую слать нужные управляющие сигналы. Нельзя сказать, что эта плата может заменить Uno, но обладая уникальными свойствами, она может стать основной новых очень интересных и необычных проектов.
В основе Leonardo лежит достаточно продвинутый микроконтроллер ATmega32u4. Сама плата достаточно сильно похожа на Uno, на ней можно найти два десятка входов и выходов, разъем micro-USB, кнопка для перезагрузки, а также разъемы ICSP и силовой вход. Питание платы стандартное для ардуино, рекомендуемой напряжение 7-12 вольт.
Характеристики:
Микроконтроллер | ATmega32u4 |
Рабочее напряжение | 5В |
Напряжение питания (рекомендуемое) | 7-12В |
Напряжение питания (предельное) | 6-20В |
Цифровые входы/выходы | 20 |
Каналы ШИМ | 7 |
Аналоговые входы | 12 |
Максимальный ток одного вывода | 40 мА |
Максимальный выходной ток вывода 3.3V | 50 мА |
Flash-память | 32 КБ (ATmega32u4) из которых 4 КБ используются загрузчиком |
SRAM | 2.5 КБ (ATmega32u4) |
EEPROM | 1 КБ (ATmega32u4) |
Тактовая частота | 16 МГц |
Пины питания:
- VIN: Напряжение от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.
- 5V: На вывод поступает напряжение 5 В от стабилизатора платы. Стабилизатор обеспечивает питание микроконтроллера ATmega32U4. Питать устройство через вывод
5V
не рекомендуется — в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя. - 3.3V: 3,3 В от стабилизатора напряжения платы. Максимальный ток — 50 мА.
- GND: Выводы земли.
- IOREF: Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от напряжения, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3,3 В устройствами.
Порты ввода/вывода:
- Цифровые входы/выходы: пины
0
–13
Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно. - ШИМ: пины
3
,5
,6
,9
,10
,11
и13
Позволяют выводить 8-битные аналоговые значения в виде ШИМ-сигнала. - АЦП: пины
A0
–A5
,A6
–A11
(на цифровых пинах 4, 6, 8, 9, 10 и 12). В Arduino Leonardo есть 12 аналоговых входов, каждый из которых может представить напряжение в виде 10-битного кода (1024 значений). Разрядность АЦП — 10 бит. - TWI/I²C: пины
SDA
иSCL
Для общения с периферией по синхронному протоколу, через 2 провода с использованием библиотекиWire
. - SPI: пины разъёма
ICSP
Выводы позволяют осуществлять связь по интерфейсу SPI. Обратите внимание, что линии SPI выведены только на разъём ICSP и не соединены с выводами платы, как на Arduino Uno. Те SPI-платы расширения, у которых нет 6-контактного разъёма ICSP для подсоединения к Leonardo — работать не будут. - UART: пины
0(RX)
и1(TX)
Используется для коммутации платы Arduino с другими устройствами через классSerial1
. Для связи Arduino Leonardo с компьютером через порт micro-USB, используйте классSerial
Разъём micro-USB:
Разъём micro-USB предназначен для прошивки платформы Arduino Leonardo с помощью компьютера.
Разъём для внешнего питания:
Разъём для подключения внешнего питания от 7 В до 12 В.
ICSP-разъём:
ICSP-разъем предназначен для внутрисхемного программирования микроконтроллера ATmega32U4. Также с применением библиотеки SPI
данные выводы могут осуществлять связь по интерфейсу SPI. Обратите внимание линии SPI не продублированы на цифровых контактах, как например на Arduino Uno. Это означает, что если плата расширения использует SPI и не имеет снизу ICSP-разъёма ответного к этим штырькам на Arduino, она работать не будет.
Arduino Nano
Arduino NANO - компактная платформа для прототипирования микроэлектронных устройств, предназначенная для использования с макетной платой.
Основа Arduino Nano - микроконтроллер на базе ATmega328, логическая микросхема для обработки данных с тактовой частотой 16 МГц, имеющая на борту 8 аналоговых и 14 цифровых контактов общего назначения, а также все необходимые интерфейсы: I2C, SPI и UART.
Основные преимущества Arduino Nano:
- Простота использования
- Быстрое изучение
- Удобная среда разработки
- Открытый исходный код
- Сообщество поклонников
- Тысячи готовых проектов
- Возможности расширения
Из-за своих габаритных размеров плата часто используется в проектах, в которых важна компактность. На плате отсутствует вынесенное гнездо внешнего питания, Ардуино работает через USB (miniUSB или microUSB). В остальном параметры совпадают с моделью Arduino Uno.
Характеристики Arduino Nano
Микроконтроллер | Atmel ATmega168 или ATmega328 |
---|---|
Рабочее напряжение (логическая уровень) | 5 В |
Входное напряжение (рекомендуемое) | 7-12 В |
Входное напряжение (предельное) | 6-20 В |
Цифровые Входы/Выходы | 14 (6 из которых могут использоваться как выходы ШИМ) |
Аналоговые входы | 8 |
Постоянный ток через вход/выход | 40 mAh с одного вывода и 500 mAh со всех выводов |
Флеш-память | 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика |
ОЗУ | 1 Кб (ATmega168) или 2 Кб (ATmega328) |
EEPROM | 512 байт (ATmega168) или 1 Кб (ATmega328) |
Тактовая частота | 16 МГц |
Размеры | 1.85 см x 4.2 см |
Элементы Arduino Nano:
Микроконтроллер ATmega328P
Сердцем платформы Arduino Nano является 8-битный микроконтроллер семейства AVR — ATmega328P с тактовой частотой 16 МГц. Контроллер предоставляет 32 КБ Flash-памяти для хранения прошивки, 2 КБ оперативной памяти SRAM и 1 КБ энергонезависимой памяти EEPROM для хранения данных.
Микросхема FT232R
Микросхема FTDI FT232R обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера. При подключении к ПК Arduino Nano определяется как виртуальный COM-порт.
Разъём Mini-USB
Разъём Mini-USB предназначен для прошивки платформы Arduino Nano с помощью компьютера.
Регулятор напряжения 5 В
Линейный понижающий регулятор напряжения LM1117MPX-5.0 с выходом 5 вольт обеспечивает питание микроконтроллера ATmega328P и другой логики платформы. Максимальный выходной ток составляет 800 мА.
ICSP-разъём для ATmega328
ICSP-разъём предназначен для загрузки прошивки в микроконтроллер ATmega328 через программатор.
Через контакты ICSP Arduino Nano общается с платами расширения по интерфейсу SPI.
Распиновка:
Пины питания:
- VIN: Входной пин для подключения внешнего источника питания с напряжением в диапазоне от 7 до 12 вольт.
- 5V: Выходной пин от регулятора напряжения на плате с выходом 5 вольт и максимальных током 800 мА. Питать устройство через вывод
5V
не рекомендуется — вы рискуете спалить плату. - 3.3V: Выходной пин от стабилизатора микросхемы FT232R с выходом 3,3 вольта и максимальных током 50 мА. Питать устройство через вывод
3V3
не рекомендуется — вы рискуете спалить плату. - GND: Выводы земли.
- AREF: Пин для подключения внешнего опорного напряжения АЦП относительно которого происходят аналоговые измерения при использовании функции analogReference() с параметром «EXTERNAL».
Порты ввода/вывода:
- Цифровые входы/выходы: пины
0
–13
Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно. - ШИМ: пины
3
,5
,6
,9
,10
и11
Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ не меняется и установлена в 8 бит. - АЦП: пины
A0
–A7
Позволяет представить аналоговое напряжение в цифровом виде. Разрядность АЦП не меняется и установлена в 10 бит. Диапазон входного напряжения от 0 до 5 В. При подаче большего напряжения — вы убьёте микроконтроллер. - TWI/I²C: пины
A4(SDA)
иA5(SCL)
Для общения с периферией по интерфейсу I²C. Для работы используйте библиотеку Wire. - SPI: пины
11(MOSI)
,12(MISO)
,13(SCK)
и10(SS)
Для общения с периферией по интерфейсу SPI. Для работы — используйте библиотеку SPI. - UART: пины
0(RX)
и1(TX)
Используется для коммуникации платы Arduino с компьютером или другими устройствами по последовательному интерфейсу. Выводы0(RX)
и1(TX)
соединены с соответствующими USB-UART преобразователя FT232R. Для работы с последовательным интерфейсом — используйте методы библиотеки Serial.