Arduino Nano — это небольшая и дружественная к макету плата с микроконтроллером. Плата разработанна итальянской компанией Arduino.cc на основе ATmega328p (Arduino Nano V3.x) / Atmega168 (Arduino Nano V2.x).
Описание пинов
У ардуино нано распиновка выполнена так, как показано на картинке ниже:
- Vin. Это входное напряжение питания платы при использовании внешнего источника питания от 7 до 12 В.
- 5V. Это регулируемое напряжение питания платы, которое используется для питания контроллера и других компонентов, размещенных на плате.
- 3.3В. Это минимальное напряжение, генерируемое регулятором напряжения на плате.
- GND. Это штыри заземления. На плате имеется несколько заземляющих контактов, которые могут быть соответствующим образом соединены, когда требуется более одного заземляющего контакта.
- RST. Пин сброса, который сбрасывает плату. Это очень полезно, когда запущенная программа слишком сложна и зависает. Низкое значение на выводе сброса приведет к сбросу контроллера.
- A0-A7. Аналоговые контакты. На плате есть 8 аналоговых контактов, помеченных как A0 — A7. Эти контакты используются для измерения аналогового напряжения в диапазоне от 0 до 5 В.
- Rx,Tx. Эти контакты используются для последовательной связи, где Tx представляет передачу данных, в то время как Rx представляет приемник данных.
- D13. Этот вывод используется для включения встроенного светодиода.
- REF. Этот вывод используется в качестве опорного напряжения для входного напряжения.
- ШИМ. Шесть контактов 3,5, 6, 9, 10, 11 могут использоваться для обеспечения 8-канального выхода ШИМ (широтно-импульсной модуляции). Это метод, используемый для получения аналоговых результатов с цифровыми источниками.
- SPI. Четыре контакта 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) используются для SPI (последовательный периферийный интерфейс). SPI является интерфейсной шиной и в основном используется для передачи данных между микроконтроллерами и другими периферийными устройствами, такими как датчики, регистры и SD-карта.
- Прерыватель. Контакты 2 и 3 используются как внешние прерывания, которые используются в случае чрезвычайной ситуации, когда нам нужно остановить основную программу и вызвать важные инструкции в этот момент. Основная программа возобновляется после вызова и выполнения инструкции прерывания.
- I2C. Связь I2C разработана с использованием выводов A4 и A5, где A4 представляет собой линию последовательных данных (SDA), которая переносит данные, а A5 представляет собой последовательную линию синхронизации (SCL), которая является тактовым сигналом, генерируемым ведущим устройством, используемым для синхронизации данных между устройства на шине I2C.
Как подключить Arduino NANO / Установка драйвера / Загрузка скетча
Распиновка ICSP
ICSP (In Circuit Serial Programming) — это один из нескольких методов, доступных для программирования плат Arduino. Обычно для программирования платы Arduino используется программа загрузчика Arduino, но если загрузчик отсутствует или поврежден, вместо него можно использовать ICSP. ICSP можно использовать для восстановления отсутствующего или поврежденного загрузчика.
Как загрузить прошивку в Arduino nano подробная инструкция
Каждый вывод ICSP обычно соединен с другим выводом Arduino с тем же именем или функцией. Например, MISO в ICSP Nano подключен к MISO / цифровому выводу D12, MOSI в ISCP подключен к MOSI / цифровому выводу D11, и так далее.
Источник: 100mom.ru
Arduino Nano
Arduino Nano – это отладочная плата небольшого размера, которая входит в тройку лидеров по популярности среди радиолюбителей-программистов. Несмотря на свой скромный размер, она практически ничем не уступает нашумевшей Arduino Uno по функционалу и может использоваться в проектах, где габариты играют существенную роль.
Ранние версии Arduino Nano базировались на основе микроконтроллера ATmega168. Начиная с версии 3.0, в них установлены более продвинутые ATmega328, с увеличенным объёмом FLASH и EEPROM-памяти, а также с большей тактовой частотой. Ниже показан внешний вид платы Arduino Nano V3.0.
Плата Arduino Nano
Как видно из фото выше, для общения с внешним миром в этой плате предусмотрены штыревые колодки. Это удобно для макетирования, но при желании их можно не устанавливать. В таком случае провода к нужным выводам припаиваются напрямую. Также штыревые колодки нужны при использовании в проекте специализированных плат расширения (шилдов), которых для данной модификации Arduino придумано огромное множество.
Если внимательно рассмотреть плату Arduino Nano, то на ней можно заметить не только микроконтроллер ATmega328, но и ряд дополнительных компонентов, обеспечивающих «жизнедеятельность» этого аппаратного комплекса в целом. Ниже можно увидеть, за что отвечает каждый из них.
Состав платы Arduino Nano
Чтобы сэкономить место, разработчики расположили радиоэлементы по обе стороны платы. С лицевой стороны нанесена вся информативная шелкография, установлен микроконтроллер ATmega328, кварцевый резонатор, разъём Mini-USB, кнопка сброса и четыре индикаторных светодиода (TX, RX, PWR и L). Первые два светодиода загораются при обмене данными платы Arduino Nano с другими устройствами через последовательный серийный порт. Индикатор PWR отражает поступление на плату питания, а светодиод L является индикатором общего назначения и загорается в случае подачи высокого сигнала на вывод №13.
Обратная сторона послужила основой для линейного стабилизатора напряжения 5V и преобразователя интерфейса FTDI USB.
Программирование и связь с ПК
Процесс подключения платы Arduino Nano к персональному компьютеру обычно не вызывает затруднений – он полностью аналогичен работе с платой Arduino Uno, за исключением некоторых моментов, о которых будет сказано ниже.
Если работа с платой происходит впервые, скорее всего, потребуется скачать и установить драйвер для микросхемы CH340. Эта микросхема представляет собой USB-to-Serial преобразователь, который обеспечивает общение Arduino Nano с компьютером через USB-кабель. Подобные микросхемы установлены в большинстве модификаций и реплик плат Arduino Nano.
Следующий момент, на котором необходимо заострить внимание – это тип установленного микроконтроллера. Как говорилось выше, их может быть два: ATmega168 и ATmega328. Перед программированием, необходимо выбрать в среде Arduino IDE именно тот, с которым будет вестись работа. Этот нюанс отражён на нижеприведённом рисунке.
Выбор типа микроконтроллера, установленного на плате Arduino Nano
Если всё сделано правильно, то при соединении Arduino Nano с компьютером во вкладке меню Инструменты-Порт, должен появиться номер виртуального COM-порта, привязанный к текущей плате. С этого момента можно загружать скетч в микроконтроллер путём нажатия всего одной кнопки, в виде смотрящей направо стрелки.
Для продвинутых пользователей предусмотрена возможность внутрисхемного программирования «напрямую» через разъём ICSP. В таком случае не обойтись без стороннего программатора, например USB-ASP, STK500 или AVRISP.
Система питания
Чтобы Arduino Nano начала функционировать, её необходимо запитать одним из двух возможных способов, а именно:
- через USB-кабель при подключении к компьютеру или другому источнику питания 5V.
- при помощи внешнего стабилизированного источника питания, напряжение которого должно лежать в диапазоне 6-20V (рекомендуется 7-12V). Данное напряжение подаётся непосредственно на вход VIN платы Arduino Nano.
Примечание. Если одновременно подключить два источника питания, то плата выберет тот, потенциал которого будет выше. Независимо от способа подключения, вывод GND платы Arduino Nano является общим минусом.
Что касается портов ввода-вывода, то следует помнить, что они работают с напряжениями 0-5V. Любое превышение, несмотря на встроенные ограничительные диоды, может вывести микроконтроллер из строя. То же самое касается и нагрузочной способности порта. Максимальный ток, который может выдать один вывод, равен 40мА, а суммарный ток всех выводов не должен превышать значение 200мА.
Также плату Arduino Nano можно использовать для питания мелкой периферии. Для этого на ней предусмотрены выводы 5V и 3.3V. Первое напряжение формируется встроенным линейным стабилизатором LM1117IMPX-5.0, а второе берётся с четвёртого вывода микросхемы-конвертора CH340G (у платы Arduino Uno для этого предусмотрен свой отдельный стабилизатор). Следовательно, использовать напряжение 3.3V можно только в случае питания через разъём USB.
Для полноты картины, ниже приведена электрическая схема платы Arduino Nano, на которой наглядно можно увидеть оговоренные ранее моменты.
Электрическая схема Arduino Nano
Порты ввода-вывода
Для пользователя платы Arduino Nano доступно 14 цифровых контактов ввода/вывода. Их обозначение начинается с латинской буквы «D», от английского слова digital-цифровой. Каждый из этих контактов может быть настроен как на вход, так и на выход. Настройка направления осуществляется при помощи функции pinMode(), например:
- pinMode(13, OUTPUT); – настройка на выход вывода №13;
- pinMode(13, INPUT); – настройка на вход вывода №13;
- pinMode(13, INPUT_PULLUP); – настройка на вход вывода №13 с подтяжкой к напряжению питания через внутренний резистор.
Если цифровой пин настроен на выход, он может выдавать два уровня сигнала, которые соответствует логическому нулю или логической единице. Делается это при помощи следующих команд:
- digitalWrite(13, LOW); – установить нулевой уровень на выводе №13;
- digitalWrite(13, HIGH); – установить 5V на выводе №13;
Также, некоторые из цифровых выводов способны генерировать на своём выходе ШИМ-сигнал с настраиваемой скважностью. Эти выводы помечаются на плате специальным дополнительным символом «*». Для Arduino Nano эти выводы имеют обозначение D3, D5, D6, D9, D10, D11. Ниже даны несколько соответствующих примеров:
- analogWrite(3, 0); – установить на выводе №3 ШИМ сигнал с максимальной скважностью (аналогично логическому нулю);
- analogWrite(3, 255); – установить на выводе №3 ШИМ сигнал с минимальной скважностью (аналогично логической единице);
- analogWrite(3, 128); – установить на выводе №3 ШИМ сигнал со скважностью 50%.
В случае, когда цифровой пин настроен на вход, пользователь может узнать логический уровень, который в данный момент на нём присутствует, например:
- uint8_t level=digitalRead(13); – переменной level будет присвоено значение 0 или 1 в зависимости от уровня напряжения на входе №13.
Помимо цифровых контактов, плата Arduino Nano имеет на своём борту 8 аналоговых входов, которые связаны с 10-битным АЦП. Это даёт возможность измерять напряжение в пределах 0-5V с точностью 0,0048V. Расширение диапазона измеряемых напряжений достигается путём использования резистивных делителей.
Обозначение аналоговых входов начинается буквой «А», от английского слова analog. На плате Arduino Nano эти входы маркируются как A0, A1, A2, A3, A4, A5, A6, A7. Первые пять входов могут использоваться в качестве цифровых, работая в оба направления. Пины A6 и A7 способны работать только на вход. Это следует помнить при проектировании программного обеспечения. Чтобы оценить уровень напряжения на аналоговом входе, необходимо воспользоваться следующей командой:
Ввиду того, что Arduino Nano построена на базе микроконтроллера ATmega328, некоторые её выводы имеют также и альтернативные функции, например шину SPI, I2C, Serial и. т.д. Все эти структуры при необходимости активируются с помощью встроенных в Arduino IDE библиотек или напрямую через работу с регистрами микроконтроллера.
Чтобы наглядно увидеть возможности этой небольшой платы в комплексе со всеми альтернативными возможностями, ниже приведена полная карта распиновки выводов Arduino Nano.
Распиновка выводов платы Arduino Nano
Некоторые наиболее из часто используемых в Arduino IDE альтернативных функций для удобства восприятия сведены в таблицу ниже.
Вывод платы Arduino Nano
Название вывода в скетче
Альтернативная функция
Генерация ШИМ
Источник: 3drob.ru