Iskra Uno: инструкция, примеры использования и документация

Iskra Uno — эквивалент итальянской флагманскай платформы Arduino Uno для разработки на языке программирования С++.

Iskra Uno выполнена на микроконтроллере ATmega328P с тактовой частотой 16 МГц. На плате предусмотрены 20 портов входа-выхода для подключения внешних устройств, например плат расширения или датчиков.

Подключение и настройка

Шаг 1

Подключите плату к компьютеру по USB. Для коммуникации используйте кабель USB (A — B).

Шаг 2

Что-то пошло не так?

Пример работы

В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка 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-разъём выполняет две полезные функции:

  1. Используется для передачи сигнальных пинов интерфейса SPI при подключении Shield’ов или других плат расширения. Линии ICSP-разъёма также продублированы на цифровых пинах SS/10, MOSI/11, MISO/12 и SCK/13.
  2. Предназначен для загрузки прошивки в микроконтроллер ATmega328P через внешний программатор. Одна из таких прошивок — Bootloader для Uno, который позволяет прошивать платформу по USB.

А подробности распиновки читайте в соответствующем разделе.

ICSP-разъём ATmega16U2

ICSP-разъём предназначен для программирования микроконтроллера ATmega16U2. А подробности распиновки читайте в соответствующем разделе.

Распиновка

Пины питания

  • VIN: Входной пин для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт.
  • 5V: Выходной пин от стабилизатора напряжения с выходом 5 вольт и максимальным током 1 А. Регулятор обеспечивает питание микроконтроллера и другой обвязки платы.
  • 3V3: Выходной пин от стабилизатора напряжения с выходом 3,3 вольта и максимальным током 300 мА.
  • IOREF: Вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В нашем случае рабочее напряжение платформы 5 вольт.
  • AREF: Пин для подключения внешнего опорного напряжения АЦП относительно которого происходят аналоговые измерения при использовании функции analogReference() с параметром «EXTERNAL».
  • GND: Выводы земли.

Порты ввода/вывода

  • Пины общего назначения: 20 пинов: 019
    Логический уровень единицы — 5 В, нуля — 0 В. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
  • АЦП: 6 пинов: 1419 / A0A5
    Позволяет представить аналоговое напряжение в виде цифровом виде. Разрядность АЦП не меняется и установлена в 10 бит. Диапазон входного напряжения от 0 до 5 В, при подаче большего напряжения микроконтроллер может выйти из строя.
  • ШИМ: 6 пинов: 3, 5, 6 и 911
    Позволяет выводить аналоговое напряжение в виде ШИМ-сигнала из цифровых значений. Разрядность ШИМ не меняется и установлена в 8 бит.
  • I²C Для общения Arduino c платами расширения и сенсорами по интерфейсу I²C.
    • I²C: пины SDA/18/A4 и SCL0/19/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 мм

Ресурсы