====== Iskra Uno: инструкция, примеры использования и документация ====== [[amp>product/iskra-uno?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|Iskra Uno]] — эквивалент итальянской флагманской платформы [[amp>product/arduino-uno?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|Arduino Uno]] для разработки на языке программирования С++. {{ :products:iskra-uno:iskra-uno-overview.png?nolink |}} Iskra Uno выполнена на микроконтроллере ATmega328P с тактовой частотой 16 МГц. На плате предусмотрены 20 портов входа-выхода для подключения внешних устройств, например плат расширения или датчиков. ===== Подключение и настройка ===== ==== Шаг 1 ==== Подключите плату к компьютеру по USB. Для коммуникации используйте [[amp>product/usb-cable?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|кабель USB (A — B)]].{{:products:iskra-uno:iskra-uno-hardware.png?nolink|}} ==== Шаг 2 ==== Установите и настройте интегрированную среду разработки [[:articles:arduino-ide-install|Arduino IDE]]. ==== Что-то пошло не так? ==== * [[установка-и-настройка-arduino-ide:arduino-uno-restore|У меня не появляется новых устройств при подключении Iskra Uno]] ===== Пример работы ===== В качестве примера повторим первый эксперимент [[:конспект-arduino:светильник-с-управляемой-яркостью|«Маячок»]] из набора [[amp>product/matryoshka-z?utm_source=man&utm_campaign=iskra-uno&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(1000); } После загрузки программы встроенный светодиод ''L'' начнёт мигать раз в секунду. {{ :products:iskra-uno:iskra-uno-blink.gif?nolink |}} Это значит, всё получилось, и можно смело переходить к другим [[мини-проекты-arduino-breadboard:оглавление|экспериментам на Uno]]. ===== Элементы платы ===== {{ :products:iskra-uno:iskra-uno-annotation.png?nolink |}} ==== Микроконтроллер ATmega328P ==== Сердцем платформы Iskra Uno является 8-битный микроконтроллер фирмы Microchip — {{ :products:iskra-uno:atmega328p-datasheet.pdf |ATmega328P}} на архитектуре AVR с тактовой частотой 16 МГц. Контроллер обладает тремя видами памяти: * 32 КБ Flash-памяти, из которых 0,5 КБ используются загрузчиком, который позволяет прошивать Iskra Uno с обычного компьютера через USB. Flash-память постоянна и её предназначение — хранение программ и сопутствующих статичных ресурсов. * 2 КБ RAM-памяти, которые предназначены для хранения временных данных, например переменных программы. По сути, это оперативная память платформы. RAM-память энергозависимая, при выключении питания все данные сотрутся. * 1 КБ энергонезависимой EEPROM-памяти для долговременного хранения данных, которые не стираются при выключении контроллера. По своему назначению — это аналог жёсткого диска для Uno. ==== USB-UART CH340 ==== Микроконтроллер [[#микроконтроллер_atmega328p|ATmega328P]] не содержит USB интерфейса, поэтому для прошивки и коммуникации с ПК на плате присутствует USB-UART преобразователь {{ :products:iskra-uno:ch340g-datasheet.pdf |CH340G}}. При подключении к ПК, Uno определяется как виртуальный COM-порт. Если плата не определяется компьютером, установите драйвер на [[articles:driver-ch340|чип USB-UART CH340G]]. [[#микроконтроллер_atmega328p|Микроконтроллер ATmega328P]] общается с ПК через [[#usb-uart_ch340|преобразователь 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. Для подключения к ПК понадобится [[amp>product/usb-cable?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|кабель USB (A — B)]]. ==== Разъём питания DC ==== Коннектор DC Barrel Jack для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт. ==== Понижающий регулятор 5V ==== Понижающий линейный преобразователь {{ :products:iskra-uno:mc33275st-3.3t3g-datasheet.pdf |MC7805BDTRKG}} обеспечивает питание микроконтроллера и другой логики платы при подключении питания через [[#разъём_питания_dc|разъём питания DC]] или пин Vin. Диапазон входного напряжения от 7 до 12 вольт. Выходное напряжение 5 В с максимальным выходным током 1 А. ==== Понижающий регулятор 3V3 ==== Понижающий линейный преобразователь {{ :products:iskra-uno:mc33275st-3.3t3g-datasheet.pdf |MC33275ST-3.3T3G}} обеспечивает напряжение на пине ''3V3''. Регулятор принимает входное питание от линии 5 вольт и выдаёт напряжение 3,3 В с максимальным выходным током 300 мА. ==== Кнопка сброса ==== Кнопка предназначена для ручного сброса прошивки — аналог кнопки ''RESET'' обычного компьютера. ==== ICSP-разъём ATmega328P ==== ICSP-разъём выполняет две полезные функции: - Используется для передачи сигнальных пинов интерфейса SPI при подключении [[amp>collection/arduino-shields?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|Shield]]’ов или других [[amp>collection/boards?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|плат расширения]]. Линии ICSP-разъёма также продублированы на цифровых пинах ''SS/10'', ''MOSI/11'', ''MISO/12'' и ''SCK/13''. - Предназначен для загрузки прошивки в микроконтроллер [[#микроконтроллер_atmega328p|ATmega328P]] через внешний программатор. Одна из таких прошивок — Bootloader для Uno, который позволяет [[#порт_usb_type-b|прошивать платформу по USB]]. А подробности распиновки [[#распиновка|читайте в соответствующем разделе]]. ==== ICSP-разъём ATmega16U2 ==== ICSP-разъём предназначен для программирования микроконтроллера [[#микроконтроллер_atmega16u2|ATmega16U2]]. А подробности распиновки [[#распиновка|читайте в соответствующем разделе]]. ===== Распиновка ===== [[this>_media/products:iskra-uno:iskra-uno-pinout.pdf|{{:products:iskra-uno:iskra-uno-pinout.png}}]] ==== Пины питания ==== * **VIN:** Входной пин для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт. * **5V:** Выходной пин от [[#понижающий_регулятор_5v|стабилизатора напряжения]] с выходом 5 вольт и максимальным током 1 А. Регулятор обеспечивает питание микроконтроллера и другой обвязки платы. * **3V3:** Выходной пин от [[#понижающий_регулятор_3v3|стабилизатора напряжения]] с выходом 3,3 вольта и максимальным током 300 мА. * **IOREF:** Выходной пин, который предоставляет [[amp>collection/arduino-shields?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|платам расширения]] информацию о рабочем напряжении микроконтроллера. В нашем случае рабочее напряжение платформы 5 вольт. * **AREF:** Входной пин для подключения внешнего опорного напряжения АЦП относительно которого происходят аналоговые измерения при использовании функции [[https://www.arduino.cc/reference/en/language/functions/analog-io/analogreference/|analogReference()]] с параметром EXTERNAL.. * **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 [[amp>collection/boards?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|платами расширения]] и [[amp>collection/sensors?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|сенсорами]] по интерфейсу I²C. * **I²C**: пины ''SDA/A4'' и ''SCL0/A5'' * **SPI** Для общения Arduino c [[amp>collection/boards?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|платами расширения]] и [[amp>collection/sensors?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|сенсорами]] по интерфейсу SPI. * **SPI**: пины ''MOSI/11'', ''MISO/12'' и ''SCK/13'' * **Serial/UART** Для общения Arduino c [[amp>collection/boards?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|платами расширения]] и [[amp>collection/sensors?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|сенсорами]] по интерфейсу UART. * **Serial**: пины ''TX1/1'' и ''RX1/0''. Контакты также соединены с соответствующими выводами USB-UART преобразователя [[#микроконтроллер_atmega16u2|CH340]] для общения платы по USB. Во время прошивки и отладки программы через ПК, не используйте эти пины в своём проекте. ===== Принципиальная и монтажная схемы ===== {{:products:iskra-uno:iskra-uno-schematic.png?direct&390 }} {{ :products:iskra-uno:iskra-uno-layout-top.png?direct&235}} {{ :products:iskra-uno:iskra-uno-layout-bottom.png?direct&235}} ===== Габаритный чертёж ===== [[this>_media/products:iskra-uno:iskra-uno-dimensions.pdf|{{:products:iskra-uno:iskra-uno-dimensions.png}}]] ===== Характеристики ===== * Микроконтроллер: 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 мм ===== Ресурсы ===== * [[amp>product/iskra-uno?utm_source=man&utm_campaign=iskra-uno&utm_medium=wiki|Iskra Uno ]] в магазине. * [[articles:driver-ch340 | Установка драйвера USB-UART преобразователя CH340]] * [[https://github.com/amperka/hardware-drawings/blob/master/iskra-uno.svg|Векторное изображение Iskra Uno]] * {{ :products:iskra-uno:atmega328p-datasheet.pdf |Datasheet на микроконтроллер Atmega328P}}