====== Iskra Nano Pro: инструкция, примеры использования и документация ====== Iskra Nano Pro — платформа на микроконтроллере {{ :products:iskra-nano-pro:atmega328pb-datasheet.pdf |ATmega328PB}} для разработки на языке программирования С++. Мы производим две версии платы: * [[amp>product/iskra-nano-pro?utm_source=man&utm_campaign=iskra-nano-pro&utm_medium=wiki|Iskra Nano Pro (с ногами)]] пригодится для разработки и прототипирования устройств на [[amp>collection/breadboards?utm_source=man&utm_campaign=iskra-nano-pro&utm_medium=wiki|макетной плате]]. * [[amp>product/iskra-nano-pro-headless?utm_source=man&utm_campaign=iskra-nano-pro&utm_medium=wiki|Iskra Nano Pro (без ног)]] для установки в самых труднодоступных местах. {{ :products:iskra-nano-pro:iskra-nano-pro-overview.jpg?nolink |}} ===== Видеообзор ====== {{youtube>NQ7EmKPyh4o?large}} ===== Подключение и настройка ===== ==== Шаг 1 ==== Подключите плату к компьютеру по USB. Понадобится [[amp>product/usb-cable-micro?utm_source=man&utm_campaign=iskra-nano-pro&utm_medium=wiki|кабель micro-USB]].{{ :products:iskra-nano-pro:iskra-nano-pro-begin.1.png?nolink&600 |}} ==== Шаг 2 ==== Скачайте и установите на компьютер интегрированную среду разработки [[amp>page/arduino-ide?utm_source=man&utm_campaign=iskra-nano-pro&utm_medium=wiki|Arduino IDE]]. ==== Шаг 3 ==== По умолчанию среда программирования настроена только на стандартные AVR-платы. Для работы с Iskra Nano Pro добавьте в менеджере плат поддержку [[articles:arduino-boards-manager#платформы_amperka_iskra_boards|платформ Amperka Iskra Boards]]. ==== Шаг 4 ==== Пользователям Windows может понадобиться установка [[articles:driver-ch340|драйвера для преобразователя USB-UART]]. ===== Пример работы ===== В качестве примера повторим первый эксперимент [[:конспект-arduino:светильник-с-управляемой-яркостью|«Маячок»]] из набора [[amp>product/matryoshka-z?utm_source=man&utm_campaign=iskra-nano-pro&utm_medium=wiki|Матрёшка Z]]. На плате уже есть встроенный пользовательский светодиод ''L'', подключенный к ''13'' пину микроконтроллера. void setup() { // Устанавливаем пин светодиода в режим выхода. // Используем определение LED_BUILTIN, // которое содержит в себе пин светодиода pinMode(LED_BUILTIN, OUTPUT); } void loop() { // Включаем светодиод digitalWrite(LED_BUILTIN, HIGH); // Ждём пол секунды delay(500); // Выключаем светодиод digitalWrite(LED_BUILTIN, LOW); // Ждём пол секунды delay(500); } После загрузки программы встроенный светодиод ''L'' начнёт мигать раз в секунду. {{ :products:iskra-nano-pro:iskra-nano-pro-blink.gif?nolink350 |}} Если всё получилось, значит плата работает и можно смело приступать к своим проектам. ===== Элементы платы ===== {{ :products:iskra-nano-pro:iskra-nano-pro-annotation.png?nolink |}} ==== Микроконтроллер ATmega328PB ==== Сердцем платформы Iskra Nano Pro является 8-битный микроконтроллер фирмы Microchip — {{ :products:iskra-nano-pro:atmega328pb-datasheet.pdf |ATmega328PB}} на архитектуре AVR с тактовой частотой 16 МГц. Чип содержит три вида памяти: * 32 КБ Flash-памяти, из которых 0,5 КБ используются загрузчиком, чтобы прошивать Iskra Nano Pro с обычного компьютера через USB. Flash-память постоянна, в ней хранится программа и сопутствующие статичные ресурсы. * 2 КБ оперативной памяти SRAM для хранения временных данных, например переменных программы. SRAM-память энергозависимая, при выключении питания все данные в ней стираются. * 1 КБ энергонезависимой памяти EEPROM для долговременного хранения данных, которые не стираются при выключении контроллера. По своему назначению это аналог жёсткого диска. ==== Преобразователь USB-UART ==== Микроконтроллер [[#микроконтроллер_atmega328pb|ATmega328PB]] не содержит USB-интерфейса, поэтому для прошивки и обмена данными с компьютером на плате присутствует USB-UART-преобразователь {{ :products:iskra-nano-pro:ch340g-datasheet.pdf |CH340G}}. При подключении к компьютеру плата определяется как виртуальный COM-порт. Если плата не определяется компьютером, установите драйвер для [[articles:driver-ch340|чипа USB-UART CH340G]]. Микроконтроллер [[#микроконтроллер_atmega328pb|ATmega328PB]] общается с компьютером через преобразователь [[#usb-uart_ch340|CH340G]] по интерфейсу UART, используя сигналы ''RX'' и ''TX'', которые параллельно выведены на контакты ''0'' и ''1'' платы Iskra Nano Pro. Не используйте эти пины в своём проекте во время прошивки и отладки программы. ==== Светодиодная индикация ==== ^ Имя светодиода ^ Назначение ^ | ON |Индикатор питания платформы.| | L |Пользовательский светодиод, подключённый к 13 пину микроконтроллера. При задании высокого уровня светодиод включается, при низком — выключается.| | RX и TX |Индикаторы, которые мигают при прошивке и обмене данными между Iskra Nano Pro и компьютером, а также при использовании пинов ''0'' и ''1''.| ==== Разъём micro-USB ==== Предназначен для прошивки и питания платформы Iskra Nano Pro. Для подключения к компьютеру понадобится [[amp>product/usb-cable-micro?utm_source=man&utm_campaign=iskra-nano-pro&utm_medium=wiki|кабель micro-USB]]. ==== Регулятор напряжения 5 В ==== Понижающий линейный преобразователь напряжения {{ :products:iskra-nano-pro:ams1117-datasheet.pdf |AMS1117-5.0}} обеспечивает питание микроконтроллера ATmega328PB и другой логики при подключении платформы через пин ''Vin''. Диапазон входного напряжения — от 7 до 12 вольт. Выдаёт напряжение 5 В с максимальным выходным током 1 А. ==== Регулятор напряжения 3,3 В ==== Понижающий линейный преобразователь {{ :products:iskra-nano-pro:ams1117-datasheet.pdf |AMS1117-3.3}} обеспечивает напряжение на пине ''3V3''. Питается от линии 5 В и выдаёт напряжение 3,3 В с максимальным выходным током 1 А. ==== ICSP-разъём для ATmega328PB ==== Разъём ICSP выполняет две полезные функции: - Несёт сигнальные пины интерфейса SPI. Линии ICSP-разъёма также продублированы на цифровых пинах ''10'', ''11'', ''12'' и ''13''. - Предназначен для загрузки прошивки в микроконтроллер [[#микроконтроллер_atmega328pb|ATmega328PB]] через внешний программатор. Одна из таких прошивок — Bootloader для Nano, который позволяет [[#разъём_micro-usb|прошивать платформу по USB]]. Подробности распиновки ICSP — в [[#распиновка|соответствующем разделе]]. ==== Кнопка RESET ==== Предназначена для ручного перезапуска платформы — аналог кнопки ''Reset'' на обычном компьютере. ===== Распиновка ===== [[this>_media/products:iskra-nano-pro:iskra-nano-pro-pinout.pdf|{{:products:iskra-nano-pro:iskra-nano-pro-pinout.png}}]] ==== Пины питания ==== ^ Имя пина ^ Описание ^ | VIN | Входной пин для внешнего источника питания с напряжением от 7 до 12 вольт. | | 5V | Выходной пин с напряжением 5 В. На пин поступает питание от [[#разъём_usb|USB]] или от [[#регулятор_напряжения_5_в |регулятора напряжения 5 В]]. Максимальный выходной ток 1 А. | | 3V3 | Выходной пин с напряжением 3,3 В. На пин поступает питание от [[#регулятор_напряжения_3_3_в |регулятора напряжения 3,3 В]]. Максимальный выходной ток 1 А. | | GND | Общая земля. | | AREF | Входной пин для внешнего опорного напряжения АЦП, относительно которого происходят аналоговые измерения при использовании функции [[https://www.arduino.cc/reference/en/language/functions/analog-io/analogreference/|analogReference()]] с параметром ''EXTERNAL''.| ==== Пины ввода-вывода ==== ^ Категория пинов ^ Количество пинов ^ Используемые пины ^ Описание ^ | Пины ввода-вывода GPIO | 22 | 0 – 13, A0 – A7 | Пины могут быть настроены как вход или выход. Логический уровень единицы — 5 В, нуля — 0 В. На вход можно подавать сигнал до 5 В. | | ШИМ / PWM | 9 | 0, 1, 5, 6, 8 – 11 и 13 | Позволяют выводить аналоговое напряжение в виде ШИМ-сигнала. Разрядность ШИМ — 8 бит. | | АЦП / ADC | 8 | A0–A7 | Позволяют представить аналоговое напряжение в цифровом виде. Диапазон входного напряжения — от 0 до 5 В. Разрядность АЦП — 10 бит. | ==== Интерфейсы ==== ^ Интерфейс ^ Количество / Название ^ Используемые пины ^ Описание ^ | I²C | 1 | SDA — A4\\ SCL — A5 | Для общения с периферией по интерфейсу I²C с помощью программной библиотеки [[https://www.arduino.cc/reference/en/language/functions/communication/wire/|Wire]].| | SPI | SPI | MOSI — 11\\ MISO — 12\\ SCK — 13| Для общения с периферией по интерфейсу SPI с помощью программной библиотеки [[https://www.arduino.cc/en/Reference/Spi|SPI]].| | ::: | SPI1 | MOSI1 — A7\\ MISO1 — A0\\ SCK1 — A1 | Для общения с периферией по интерфейсу SPI1. Для работы используйте регистры из документации микроконтроллера [[#микроконтроллер_atmega328pb|ATmega328PB]].| | Serial / UART | Serial | RX — 0\\ TX — 1| Для общения с периферией по интерфейсу UART с помощью программной библиотеки [[https://www.arduino.cc/reference/en/language/functions/communication/serial/|Serial]]. Выводы шины Serial ''RX'' и ''TX'' также соединены с соответствующими контактами [[#преобразователь_usb-uart|преобразователя USB-UART]]. Не используйте эти пины во время прошивки и отладки программы по USB.| | ::: | Serial1 | RX1 — 12\\ TX1 — 11| Для общения с периферией по интерфейсу UART с помощью программной библиотеки [[https://www.arduino.cc/reference/en/language/functions/communication/serial/|Serial]].| ===== Принципиальная и монтажная схемы ===== {{:products:iskra-nano-pro:iskra-nano-pro-schematic.png?direct&280 |}} {{ :products:iskra-nano-pro:iskra-nano-pro-layout-top.png?direct&370|}} {{ :products:iskra-nano-pro:iskra-nano-pro-layout-bottom.png?direct&370|}} ===== Габаритный чертёж ===== ==== Размеры Iskra Nano Pro с контактными ножками ==== {{ :products:iskra-nano-pro:iskra-nano-pro-dimensions.png?nolink |}} ==== Размеры Iskra Nano Pro без ножек ==== {{ :products:iskra-nano-pro:iskra-nano-pro-headless-dimensions.png?nolink |}} ===== Характеристики ===== * Модель: Amperka Iskra Nano Pro * Микроконтроллер: ATmega328PB * Ядро: 8-битный AVR * Тактовая частота: 16 МГц * Flash-память: 32 КБ (2 КБ занимает загрузчик) * SRAM-память: 2 КБ * EEPROM-память: 1 КБ * Контакты ввода-вывода: 22 * Контакты с ШИМ: 9 с разрядностью 8 бит * Контакты с АЦП: 8 с разрядностью 10 бит * Аппаратные интерфейсы: * 2× SPI * 1× I²C * 2× UART / Serial * Входное напряжение питания: * через USB: 5 В * через пин Vin: 7–12 В * Напряжение логических уровней: 5 В * Максимальный выходной ток пина 5V: 1 A * Максимальный выходной ток пина 3V3: 1 A * Максимальный ток с пина или на пин: 40 мА * Допустимое входное напряжение от внешнего источника: 7–12 В * Размеры: 45×18 мм ===== Ресурсы ===== * [[amp>product/iskra-nano-pro?utm_source=man&utm_campaign=iskra-nano-pro&utm_medium=wiki|Iskra Nano Pro (с ногами)]] в магазине. * [[amp>product/iskra-nano-pro-headless?utm_source=man&utm_campaign=iskra-nano-pro&utm_medium=wiki|Iskra Nano Pro (без ног)]] в магазине. * [[https://github.com/amperka/hardware-drawings/blob/master/iskra-nano-pro.svg|Векторное изображение Iskra Nano Pro (с ногами)]]. * [[https://github.com/amperka/hardware-drawings/blob/master/iskra-nano-pro-headless.svg|Векторное изображение Iskra Nano Pro (без ног)]]. * {{ :products:iskra-nano-pro:atmega328pb-datasheet.pdf |Datasheet на микроконтроллер Atmega328PB}}. * {{ :products:iskra-nano-pro:ams1117-datasheet.pdf |Datasheet на понижающий регулятор напряжения AMS1117 с выходным напряжением 3,3 и 5 вольт}}.