Arduino Nano

## Что такое Arduino Nano?

    Arduino - это небольшая плата с собственным процессором и памятью. На плате также есть пара десятков контактов, к которым можно подключать всевозможные компоненты: лампочки, датчики, моторы, чайники, магнитные дверные замки и вообще всё, что работает от электричества.В процессор Arduino можно загрузить программу, которая будет управлять всеми этими устройствами по заданному алгоритму.

### Общие сведения

Arduino Nano – это небольшая, полнофункциональная отладочная плата, адаптированная для работы с макетными платами, построенная на базе микроконтроллера ATmega328 (Arduino Nano 3.x) или Atmega168 (Arduino Nano 2.x). Она обладает той же функциональностью, что и Arduino Duemilanove, но имеет меньшие размеры. Она отличается только отсутствием разъема питания и работой через mini-USB. Arduino Nano разработана и производится компанией Gravitech.

### Питание

Arduino Nano может получать питание через подключение Mini-B USB, или от нерегулируемого 6-20 В (вывод 30), или регулируемого 5 В (вывод 27), внешнего источника питания. Автоматически выбирается источник с самым высоким напряжением.

Микросхема FTDI FT232RL получает питание, только если сама платформа запитана от USB. Таким образом при работе от внешнего источника (не USB), будет отсутствовать напряжение 3.3 В, генерируемое микросхемой FTDI, при этом светодиоды RX и TX мигаю только при наличие сигнала высокого уровня на выводах 0 и 1.

### Память

Микроконтроллер ATmega168 имеет 16 кБ флеш-памяти для хранения кода программы, а микроконтроллер ATmega328, в свою очередь, имеет 32 кБ (в обоих случаях 2 кБ используется для хранения загрузчика). ATmega168 имеет 1 кБ ОЗУ и 512 байт EEPROM (которая читается и записывается с помощью библиотеки EEPROM), а ATmega328 – 2 кБ ОЗУ и 1 Кб EEPROM.

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

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

* **Последовательная шина: 0 (RX) и 1 (TX).** Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины FTDI USB-to-TTL.
* **Внешнее прерывание: 2 и 3.** Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt().
* **ШИМ: 3, 5, 6, 9, 10, и 11.** Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite().
* **SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)**. Посредством данных выводов осуществляется связь SPI, которая, хотя и поддерживается аппаратной частью, не включена в язык Arduino.
* **LED: 13.** Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.

На платформе Nano установлены 8 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством функции analogReference(). Некоторые выводы имеют дополнительные функции:

* **I2C: A4 (SDA) и A5 (SCL).**Посредством выводов осуществляется связь I2C (TWI). Для создания используется библиотека Wire (информация на сайте Wiring).

Дополнительная пара выводов платформы:

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