Arduino Nano, построенная на микроконтроллере ATmega328, имеет небольшие размеры и может использоваться в готовых проектах. Она имеет схожую с Arduino Uno функциональность, однако отличается отсутствием силового разъема постоянного тока и работой через кабель Type-C USB.
Интерфейс USB – UART реализован на базе микросхемы CH340G.
Для программирования платы не нужны дополнительные преобразователи интерфейсов как для платы Pro Mini, а на самой плате уже расположен FTDI USB-to-TTL преобразователь.
Питание
Arduino Nano получает питание через разъем Type-C USB, а также от нерегулируемого 6-20 В (вывод 30) или регулируемого 5 В (вывод 27) внешнего источника питания. Автоматически выбирается источник с самым высоким напряжением.
Память
На борту микроконтроллера ATmega328 имеется 32 кБ памяти (2 кБ используется для хранения загрузчика). ATmega328 имеет 2 кБ ОЗУ и 1 Кб EEPROM.
Цифровые входы/выходы
Плата оснащена 14 цифровыми входами/выходами, 6 из которых имеют ШИМ интерфейс. Выводы работают при напряжении 5 В. Все 14 цифровых выводов (используя функции pinMode(), digitalWrite(), и digitalRead()) могут настраиваться как вход или выход. Каждый вывод имеет нагрузочный резистор, который стандартно отключен, 20-50 кОм и может пропускать до 40 мА. Каждый вывод индивидуально может быть запрограммирован и как выход и как вход командой pinMode().
Интерфейсы связи
- Последовательный (COM): 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины FTDI USB-TTL.
- Внешнее прерывание: 2 и 3. Эти выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Управление выполняется функцией attachInterrupt().
- ШИМ: 3, 5, 6, 9, 10, и 11. Любой из указанных выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством этих выводов осуществляется связь по протоколу SPI, которая поддерживается аппаратной частью платформы Arduino, но не включена в язык Arduino IDE.
На платформе NANO установлены 8 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Выводы имеют диапазон измерения до 5 В относительно земли,кроме этого имеется возможность изменить верхний предел посредством функции analogReference().
- I2C: 4 (SDA) и 5 (SCL). Посредством этих выводов осуществляется связь по протоколу I2C (TWI). Для создания используется библиотека Wire.
Дополнительные выводы
- REF. Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
- RST. Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.
Связь
На плате Arduino NANO имеется несколько способов связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega328 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). Установленная на плате микросхема FTDI FT232RL направляет данный интерфейс через USB, а драйверы FTDI (включены в программу Arduino) предоставляют виртуальный COM порт программе на компьютере. Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему FTDI или USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).
Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Nano.
ATmega328 поддерживают интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C.