Arduino:Продукты/Продукты Arduino/Плата Arduino Nano
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Arduino Nano[1]
Arduino Nano – это маленькая плата, ориентированная на работу с макетными платами. Она основана на чипе ATmega328 (Arduino Nano 3.x) или ATmega168 (Arduino Nano 2.x) и выполняет примерно те же функции, что и Arduino Duemilanove, но выполнена в другом форм-факторе. У Arduino Nano нет разъема для питания, и она работает с кабелем типа Mini-B USB. Эта плата разработана и производилась компанией Gravitech.
Идеи для вдохновения
О проектах, которые можно сделать при помощи Arduino Nano, можно почитать на Arduino Project Hub – это образовательная платформа официального сайта Arduino.
Документация
Для Arduino Nano 3.0 (ATmega328):
Для Arduino Nano 2.0 (ATmega168):
Технические характеристики
- Микроконтроллер – Atmel ATmega168 или ATmega328
- Рабочее напряжение – 5 вольт
- Входное напряжение (рекомендуемое) – 7-12 вольт
- Входное напряжение (лимит) – 6-20 вольт
- Цифровые I/O контакты – 14 шт. (из которых 6 шт. можно использовать для выдачи ШИМ)
- Входные аналоговые контакты – 8 шт.
- Максимальная сила тока на один I/O контакт – 40 миллиампер
- Flash-память – 16 Кб (ATmega168) или 32 Кб (ATmega328), из которых 2 Кб используются загрузчиком
- SRAM – 1 Кб (ATmega168) или 2 Кб (ATmega328)
- EEPROM – 512 байт (ATmega168) или 1 Кб (ATmega328)
- Тактовая частота – 16 МГц
- Длина – 45 мм.
- Ширина – 18 мм.
- Вес – 5 грамм
Распиновка
Питание
Плату Arduino Nano можно питать от соединения типа Mini-B USB, нерегулированного внешнего источника питания на 6-20 вольт (30-ый контакт) или от регулированного внешнего источника питания на 5 вольт (27-ой контакт). Источником питания выбирается источник с наибольшим напряжением; выбор происходит автоматически.
Память
Чип ATmega168 оснащен 16 Кб flash-памяти для хранения кода (из которых 2 Кб используются загрузчиком), а чип ATmega328 – 32 Кб (из которых те же 2 Кб используются загрузчиком). Кроме того, оба чипа оснащены памятью типа SRAM (ATmega168 имеет 1 Кб, а ATmega328 – 2 Кб) и памятью типа EEPROM (ATmega168 имеет 512 байт, а ATmega328 – 1 Кб). Запись и считывание с EEPROM осуществляется при помощи библиотеки EEPROM.
Входные и выходные контакты
Любой из 14 цифровых контактов Nano можно использовать и в качестве входного, и в качестве выходного контакта – при помощи функций pinMode(), digitalWrite() и digitalRead(). Они работают на 5 вольтах. Каждый контакт может получать/отдавать не более 40 миллиампер, а также имеет встроенный подтягивающий резистор (по умолчанию отключен) на 20-50 кОм. Кроме того, некоторые контакты имеют специальные функции:
- Последовательная передача данных: 0-ой (RX) и 1-ый (TX) контакты. Используются для получения (RX) и передачи (TX) последовательных (TTL) данных. Эти контакты подключены к соответствующим контактам на чипе FTDI FT232RL, который конвертирует USB-данные в TTL-данные.
- Внешние прерывания: 2-ой и 3-ий контакты. Эти контакты можно настроить, чтобы запускать прерывания при переключении на значение LOW, при убывающем/возрастающем фронте импульса или при изменении значения. Более подробно читайте в статье о функции attachInterrupt().
- ШИМ: 3-ий, 5-ый, 6-ой, 9-ый, 10-ый и 11-ый контакты. Поддерживают выдачу 8-битной ШИМ при помощи функции analogWrite().
- Интерфейс SPI: 10-ый (SS), 11-ый (MOSI), 12-ый (MISO) и 13-ый (SCK) контакты. Эти контакты поддерживают коммуникацию типа SPI, которая осуществляется при помощи библиотеки SPI.
- Встроенный светодиод: 13-ый цифровой контакт. Если подать на этот контакт значение HIGH, то светодиод включится, а если LOW, то выключится.
Плата Arduino Nano имеет 8 входных аналоговых контактов, и все они поддерживают 10-битное разрешение (т.е. могут работать с 1024 разными значениями). По умолчанию вольтовый диапазон в них составляет от «земли» до 5 вольт, однако верхнюю границу этого диапазона можно увеличить при помощи функции analogReference(). Аналоговые контакты 7 и 8 нельзя использовать в качестве цифровых контактов.
- Интерфейс I2C: контакты A4 (SDA) и A5 (SCL). Поддерживают коммуникацию типа I2C (TWI), которая осуществляется при помощи библиотеки Wire.
Также на Nano есть еще несколько специальных контактов:
- AREF – эталонное напряжение для входных аналоговых контактов. Используется вместе с функцией analogReference().
- Reset – если подать на этот контакт LOW, это сбросит микроконтроллер. Как правило, используется, чтобы добавить на «шилд» кнопку сброса, потому что подключение «шилда» блокирует кнопку сброса на самой плате.
Смотрите также распиновку между контактами Arduino и портами Atmega168.
Коммуникация
Плата Arduino Nano имеет несколько средств для коммуникации с компьютером, а также другими Arduino и микроконтроллерами. Чипы ATmega168 и ATmega328 обеспечивают последовательную UART TTL (5-вольтовую) коммуникацию, которая доступна на 0-ом (RX) и 1-ом (TX) цифровых контактах. Также на плате есть чип FTDI FT232RL, который перенаправляет эту последовательную коммуникацию на USB, а благодаря драйверам FTDI (есть в IDE Arduino) ОС компьютера видит плату как виртуальный COM-порт. Также в IDE Arduino встроен монитор порта, который позволяет отправлять простые текстовые данные – и на плату, и от нее. Кроме того, на Nano есть светодиоды RX и TX, которые загораются при передаче данных через чип FTDI и USB-соединение с компьютером (но не через последовательный порт на 0-ом и 1-ом контактах).
Все цифровые контакты Nano поддерживает последовательную коммуникацию, которая осуществляется при помощи библиотеки SoftwareSerial.
Кроме того, чипы ATmega168 и ATmega328 поддерживают коммуникацию типа I2C (TWI) и SPI. Для упрощения работы с шиной I2C в IDE Arduino встроена библиотека Wire, а для SPI – библиотека SPI.
Программирование
Плата Arduino Nano программируется при помощи IDE Arduino. Зайдите в нее и кликните по Инструменты > Плата > Arduino Nano (Tools > Board > Arduino Nano). О языке программирования Arduino читайте тут, а руководства ищите тут.
Чипы ATmega168 и ATmega328 на Arduino Nano идут уже с записанным загрузчиком, который позволяет вам загружать на плату новый код без использования внешнего аппаратного программатора.
Загрузчик коммуницирует через протокол STK500 (описание, заголовочные файлы на C).
Вы также можете обойти программный загрузчик и программировать микроконтроллер через ICSP-гребешок при помощи программатора ISP или похожего устройства. Более подробно читайте в этих инструкциях.
Автоматический (программный) сброс
Плата Arduino Nano устроена таким образом, что вам необязательно нажимать на кнопку сброса перед загрузкой нового скетча – это может сделать ПО на компьютере, к которому подключена ваша плата.
Одна из линий управления потоками данных на чипе FT232RL (а именно – линия DTR) подключена к Reset-линии на чипе ATmega168 (или ATmega328) через 100-нанофарадный конденсатор. Если подать на эту линию LOW, значение на линии Reset снизится достаточно для того, чтобы сбросить чип. Эту возможность можно использовать для того, чтобы загружать новый код, просто нажав в IDE Arduino кнопку загрузки. Это значит, что у загрузчика может быть более короткий таймаут, поскольку подачу значения LOW на линию DTR можно скоординировать с началом загрузки скетча.
Это влияет на работу платы и в другом. Если Nano подключена к компьютеру на Linux или Mac OS X, то будет сбрасываться каждый раз при открытии USB-соединения между платой и ПО на компьютере. В течение следующих полсекунды (или вроде того) на Nano будет запускаться загрузчик. И хотя он запрограммирован на то, чтобы игнорировать дефектные данные (т.е. всего, что не относится к загрузке кода), он все же перехватит первые несколько байт, отправленных на плату после открытия соединения. Таким образом, если скетч при запуске платы получает исходные настройки или другие важные данные, убедитесь, что ПО, с которым коммуницирует скетч ждет примерно секунду после открытия соединения и перед отправкой этих данных.
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Продукты Arduino
- Arduino продукты
- Плата Arduino