Iskra Uno: инструкция, примеры использования и документация
Iskra Uno — эквивалент итальянской флагманской платформы Arduino Uno для разработки на языке программирования С++.
Iskra Uno выполнена на микроконтроллере ATmega328P с тактовой частотой 16 МГц. На плате предусмотрены 20 портов входа-выхода для подключения внешних устройств, например плат расширения или датчиков.
Подключение и настройка
Шаг 1
Подключите плату к компьютеру по USB. Для коммуникации используйте кабель USB (A — B).
Шаг 2
Установите и настройте интегрированную среду разработки Arduino IDE.
Что-то пошло не так?
Пример работы
В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка Z. На плате уже есть встроенный пользовательский светодиод L
, подключенный к 13
пину микроконтроллера.
- blink.ino
void setup() { // Устанавливаем пин светодиода в режим выхода. // Используем определение LED_BUILTIN, // которое содержит в себе пин светодиода pinMode(LED_BUILTIN, OUTPUT); } void loop() { // Включаем светодиод digitalWrite(LED_BUILTIN, HIGH); // Ждём пол секунды delay(500); // Выключаем светодиод digitalWrite(LED_BUILTIN, LOW); // Ждём пол секунды delay(1000); }
После загрузки программы встроенный светодиод L
начнёт мигать раз в секунду.
Это значит, всё получилось, и можно смело переходить к другим экспериментам на Uno.
Элементы платы
Микроконтроллер ATmega328P
Сердцем платформы Iskra Uno является 8-битный микроконтроллер фирмы Microchip — ATmega328P на архитектуре AVR с тактовой частотой 16 МГц. Контроллер обладает тремя видами памяти:
- 32 КБ Flash-памяти, из которых 0,5 КБ используются загрузчиком, который позволяет прошивать Iskra Uno с обычного компьютера через USB. Flash-память постоянна и её предназначение — хранение программ и сопутствующих статичных ресурсов.
- 2 КБ RAM-памяти, которые предназначены для хранения временных данных, например переменных программы. По сути, это оперативная память платформы. RAM-память энергозависимая, при выключении питания все данные сотрутся.
- 1 КБ энергонезависимой EEPROM-памяти для долговременного хранения данных, которые не стираются при выключении контроллера. По своему назначению — это аналог жёсткого диска для Uno.
USB-UART CH340
Микроконтроллер ATmega328P не содержит USB интерфейса, поэтому для прошивки и коммуникации с ПК на плате присутствует USB-UART преобразователь CH340G. При подключении к ПК, Uno определяется как виртуальный COM-порт.
Если плата не определяется компьютером, установите драйвер на чип USB-UART CH340G.
Микроконтроллер ATmega328P общается с ПК через преобразователь CH340G по интерфейсу UART используя сигналы RX
и TX
, которые параллельно выведены на контакты 0
и 1
платы Iskra Uno. Во время прошивки и отладки программы, не используйте эти пины в своём проекте.
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
ON | Индикатор питания платформы. |
L | Пользовательский светодиод на 13 пине микроконтроллера. Используйте определение LED_BUILTIN для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается. |
RX и TX | Мигают при прошивки и обмене данными между Arduino Uno и компьютером. А также при использовании пинов 0 и 1 . |
Порт USB Type-B
Разъём USB Type-B предназначен для прошивки и питания платформы Arduino. Для подключения к ПК понадобится кабель USB (A — B).
Разъём питания DC
Коннектор DC Barrel Jack для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт.
Понижающий регулятор 5V
Понижающий линейный преобразователь MC7805BDTRKG обеспечивает питание микроконтроллера и другой логики платы при подключении питания через разъём питания DC или пин Vin. Диапазон входного напряжения от 7 до 12 вольт. Выходное напряжение 5 В с максимальным выходным током 1 А.
Понижающий регулятор 3V3
Понижающий линейный преобразователь MC33275ST-3.3T3G обеспечивает напряжение на пине 3V3
. Регулятор принимает входное питание от линии 5 вольт и выдаёт напряжение 3,3 В с максимальным выходным током 300 мА.
Кнопка сброса
Кнопка предназначена для ручного сброса прошивки — аналог кнопки RESET
обычного компьютера.
ICSP-разъём ATmega328P
ICSP-разъём выполняет две полезные функции:
- Используется для передачи сигнальных пинов интерфейса SPI при подключении Shield’ов или других плат расширения. Линии ICSP-разъёма также продублированы на цифровых пинах
SS/10
,MOSI/11
,MISO/12
иSCK/13
. - Предназначен для загрузки прошивки в микроконтроллер ATmega328P через внешний программатор. Одна из таких прошивок — Bootloader для Uno, который позволяет прошивать платформу по USB.
А подробности распиновки читайте в соответствующем разделе.
ICSP-разъём ATmega16U2
ICSP-разъём предназначен для программирования микроконтроллера ATmega16U2. А подробности распиновки читайте в соответствующем разделе.
Распиновка
Пины питания
- VIN: Входной пин для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт.
- 5V: Выходной пин от стабилизатора напряжения с выходом 5 вольт и максимальным током 1 А. Регулятор обеспечивает питание микроконтроллера и другой обвязки платы.
- 3V3: Выходной пин от стабилизатора напряжения с выходом 3,3 вольта и максимальным током 300 мА.
- IOREF: Выходной пин, который предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В нашем случае рабочее напряжение платформы 5 вольт.
- AREF: Входной пин для подключения внешнего опорного напряжения АЦП относительно которого происходят аналоговые измерения при использовании функции analogReference() с параметром ..
- GND: Выводы земли.
Пины ввода/вывода
- Пины общего назначения: 20 пинов:
0
–13
иA0
–A5
Логический уровень единицы — 5 В, нуля — 0 В. - АЦП: 6 пинов:
A0
–A5
Позволяет представить аналоговое напряжение в виде цифровом виде. Разрядность АЦП не меняется и установлена в 10 бит. Диапазон входного напряжения от 0 до 5 В, при подаче большего напряжения микроконтроллер может выйти из строя. - ШИМ: 6 пинов:
3
,5
,6
и9
–11
Позволяет выводить аналоговое напряжение в виде ШИМ-сигнала из цифровых значений. Разрядность ШИМ не меняется и установлена в 8 бит. - I²C Для общения Arduino c платами расширения и сенсорами по интерфейсу I²C.
- I²C: пины
SDA/A4
иSCL0/A5
- SPI Для общения Arduino c платами расширения и сенсорами по интерфейсу SPI.
- SPI: пины
MOSI/11
,MISO/12
иSCK/13
- Serial/UART Для общения Arduino c платами расширения и сенсорами по интерфейсу UART.
- Serial: пины
TX1/1
иRX1/0
. Контакты также соединены с соответствующими выводами USB-UART преобразователя CH340 для общения платы по USB. Во время прошивки и отладки программы через ПК, не используйте эти пины в своём проекте.
Принципиальная и монтажная схемы
Габаритный чертёж
Характеристики
- Микроконтроллер: ATmega328P
- Ядро: 8-битный AVR
- Тактовая частота: 16 МГц
- Flash-память: 32 КБ
- RAM-память: 2 КБ
- EEPROM-память: 1 КБ
- Пины ввода-вывода: 20
- Пины с прерыванием: 2
- Пины с АЦП: 6
- Разрядность АЦП: 10 бит
- Пины с ШИМ: 6
- Разрядность ШИМ: 8 бит
- Аппаратные интерфейсы: 1× UART, 1× I²C, 1× SPI
- Напряжение логических уровней: 5 В
- Входное напряжение питания:
- через USB: 5 В
- через DC-разъём или пин Vin: 7,5–12 В
- Максимальный выходной ток пина 3V3: 150 мА
- Максимальный выходной ток пина 5V: 1 А
- Размеры: 69×53 мм