====== Iskra Nano: инструкция, примеры использования и документация ======
Iskra Nano — платформа на микроконтроллере {{ :products:iskra-nano:atmega328p-datasheet.pdf |ATmega328P}} для разработки на языке программирования С++.
Мы производим две версии платы:
* [[amp>product/iskra-nano-with-headers?utm_source=man&utm_campaign=iskra-nano&utm_medium=wiki|Iskra Nano (с ногами)]] пригодится для разработки и прототипирования устройств на [[amp>collection/breadboards?utm_source=man&utm_campaign=iskra-nano&utm_medium=wiki|макетной плате]].
* [[amp>product/iskra-nano?utm_source=man&utm_campaign=iskra-nano&utm_medium=wiki|Iskra Nano (без ног)]] для установки в самых труднодоступных местах.
{{ :products:iskra-nano:iskra-nano-overview.jpg?nolink |}}
===== Подключение и настройка =====
==== Шаг 1 ====
Подключите плату к компьютеру по USB. Понадобится [[amp>product/usb-cable-micro?utm_source=man&utm_campaign=iskra-nano&utm_medium=wiki|кабель micro-USB]].{{ :products:iskra-nano:iskra-nano-begin.1.png?nolink&600 |}}
==== Шаг 2 ====
Скачайте и установите на компьютер интегрированную среду разработки [[amp>page/arduino-ide?utm_source=man&utm_campaign=iskra-nano&utm_medium=wiki|Arduino IDE]].
==== Шаг 3 ====
Iskra Nano по архитектуре повторяет оригинальную платформу Arduino Nano. Соответственно, при выборе платы укажите ''Arduino Nano''.
==== Шаг 4 ====
Пользователям Windows может понадобиться установка [[articles:driver-ch340|драйвера преобразователя CH340 (USB-UART)]].
===== Пример работы =====
В качестве примера повторим первый эксперимент [[:конспект-arduino:светильник-с-управляемой-яркостью|«Маячок»]] из набора [[amp>product/matryoshka-z?utm_source=man&utm_campaign=iskra-nano&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:iskra-nano-blink.gif?nolink350 |}}
Если всё получилось, значит плата работает и можно смело приступать к своим проектам.
===== Элементы платы =====
{{ :products:iskra-nano:iskra-nano-annotation.png?nolink |}}
==== Микроконтроллер ATmega328P ====
Сердцем платформы Iskra Nano является 8-битный микроконтроллер фирмы Microchip — {{ :products:iskra-nano:atmega328p-datasheet.pdf |ATmega328P}} на архитектуре AVR с тактовой частотой 16 МГц.
Чип содержит три вида памяти:
* 32 КБ Flash-памяти, из которых 0,5 КБ используются загрузчиком, чтобы прошивать Iskra Nano с обычного компьютера через USB. Flash-память постоянна, в ней хранится программа и сопутствующие статичные ресурсы.
* 2 КБ оперативной памяти SRAM для хранения временных данных, например переменных программы. SRAM-память энергозависимая, при выключении питания все данные в ней стираются.
* 1 КБ энергонезависимой памяти EEPROM для долговременного хранения данных, которые не стираются при выключении контроллера. По своему назначению это аналог жёсткого диска.
==== Преобразователь USB-UART ====
Микроконтроллер [[#микроконтроллер_atmega328p|ATmega328P]] не содержит USB-интерфейса, поэтому для прошивки и обмена данными с компьютером на плате присутствует USB-UART-преобразователь {{ :products:iskra-nano:ch340g-datasheet.pdf |CH340G}}. При подключении к компьютеру плата определяется как виртуальный COM-порт.
Если плата не определяется компьютером, установите драйвер для [[articles:driver-ch340|чипа USB-UART CH340G]].
Микроконтроллер [[#микроконтроллер_atmega328p|ATmega328P]] общается с компьютером через преобразователь [[#usb-uart_ch340|CH340G]] по интерфейсу UART, используя сигналы ''RX'' и ''TX'', которые параллельно выведены на контакты ''0'' и ''1'' платы Iskra Nano. Не используйте эти пины в своём проекте во время прошивки и отладки программы.
==== Светодиодная индикация ====
^ Имя светодиода ^ Назначение ^
| ON |Индикатор питания платформы.|
| L |Пользовательский светодиод, подключённый к 13 пину микроконтроллера. При задании высокого уровня светодиод включается, при низком — выключается.|
| RX и TX |Индикаторы, которые мигают при прошивке и обмене данными между Iskra Nano и компьютером, а также при использовании пинов ''0'' и ''1''.|
==== Разъём micro-USB ====
Предназначен для прошивки и питания платформы Iskra Nano. Для подключения к компьютеру понадобится [[amp>product/usb-cable-micro?utm_source=man&utm_campaign=iskra-nano&utm_medium=wiki|кабель micro-USB]].
==== Регулятор напряжения 5 В ====
Понижающий линейный преобразователь напряжения {{ :products:iskra-nano:ams1117-datasheet.pdf |AMS1117-5.0}} обеспечивает питание микроконтроллера ATmega328PB и другой логики при подключении платформы через пин ''Vin''. Диапазон входного напряжения — от 7 до 12 вольт. Выдаёт напряжение 5 В с максимальным выходным током 1 А.
==== Регулятор напряжения 3,3 В ====
Понижающий линейный преобразователь {{ :products:iskra-nano:ams1117-datasheet.pdf |AMS1117-3.3}} обеспечивает напряжение на пине ''3V3''. Питается от линии 5 В и выдаёт напряжение 3,3 В с максимальным выходным током 1 А.
==== ICSP-разъём для ATmega328P ====
Разъём ICSP выполняет две полезные функции:
- Несёт сигнальные пины интерфейса SPI. Линии ICSP-разъёма также продублированы на цифровых пинах ''10'', ''11'', ''12'' и ''13''.
- Предназначен для загрузки прошивки в микроконтроллер [[#микроконтроллер_atmega328p|ATmega328P]] через внешний программатор. Одна из таких прошивок — Bootloader для Nano, который позволяет [[#разъём_micro-usb|прошивать платформу по USB]].
Подробности распиновки ICSP — в [[#распиновка|соответствующем разделе]].
==== Кнопка RESET ====
Предназначена для ручного перезапуска платформы — аналог кнопки ''Reset'' на обычном компьютере.
===== Распиновка =====
[[this>_media/products:iskra-nano:iskra-nano-pinout.pdf|{{:products:iskra-nano:iskra-nano-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 | 6 | 3, 5, 6, 9 – 11 | Позволяют выводить аналоговое напряжение в виде ШИМ-сигнала. Разрядность ШИМ — 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]].|
| 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.|
===== Принципиальная и монтажная схемы =====
{{:products:iskra-nano:iskra-nano-schematic.png?direct&270 |}}
{{ :products:iskra-nano:iskra-nano-layout-top.png?direct&370|}}
{{ :products:iskra-nano:iskra-nano-layout-bottom.png?direct&370|}}
===== Габаритный чертёж =====
==== Размеры Iskra Nano с контактными ножками ====
{{ :products:iskra-nano:iskra-nano-with-headers-dimensions.png?nolink |}}
==== Размеры Iskra Nano без ножек ====
{{ :products:iskra-nano:iskra-nano-dimensions.png?nolink |}}
===== Характеристики =====
* Модель: Amperka Iskra Nano
* Микроконтроллер: ATmega328P
* Ядро: 8-битный AVR
* Тактовая частота: 16 МГц
* Flash-память: 32 КБ (2 КБ занимает загрузчик)
* SRAM-память: 2 КБ
* EEPROM-память: 1 КБ
* Контакты ввода-вывода: 22
* Контакты с ШИМ: 6 с разрядностью 8 бит
* Контакты с АЦП: 8 с разрядностью 10 бит
* Аппаратные интерфейсы:
* 1× SPI
* 1× I²C
* 1× UART / Serial
* Входное напряжение питания:
* через USB: 5 В
* через пин Vin: 7–12 В
* Напряжение логических уровней: 5 В
* Максимальный выходной ток пина 5V: 1 A
* Максимальный выходной ток пина 3V3: 1 A
* Максимальный ток с пина или на пин: 40 мА
* Допустимое входное напряжение от внешнего источника: 7–12 В
* Размеры: 45×18 мм
===== Ресурсы =====
* [[amp>product/iskra-nano-with-headers?utm_source=man&utm_campaign=iskra-nano&utm_medium=wiki|Iskra Nano (с ногами)]] в магазине.
* [[amp>product/iskra-nano?utm_source=man&utm_campaign=iskra-nano&utm_medium=wiki|Iskra Nano (без ног)]] в магазине.
* [[https://github.com/amperka/hardware-drawings/blob/master/iskra-nano-with-headers.svg|Векторное изображение Iskra Nano (с ногами)]].
* [[https://github.com/amperka/hardware-drawings/blob/master/iskra-nano.svg|Векторное изображение Iskra Nano (без ног)]].
* {{ :products:iskra-nano:atmega328p-datasheet.pdf |Datasheet на микроконтроллер Atmega328P}}.
* {{ :products:iskra-nano:ams1117-datasheet.pdf |Datasheet на понижающий регулятор напряжения AMS1117 с выходным напряжением 3,3 и 5 вольт}}.