====== STEMTera breadboard: инструкция, подключение, распиновка и документация ====== STEMTera — это слоёный пирог из [[amp>collection/breadboards?utm_source=man&utm_campaign=stemtera&utm_medium=wiki|макетной платы]] и платформы [[amp>product/arduino-uno?utm_source=man&utm_campaign=stemtera&utm_medium=wiki|Arduino Uno]]. {{ :продукты:stemtera:stemtera_overview.jpg |}} ===== Видеообзор ===== {{youtube>hzoFpSSQQoE?large}} ===== Подключение и настройка ===== [[amp>product/stemtera?utm_source=man&utm_campaign=stemtera&utm_medium=wiki|STEMTera]] состоит из двух частей, каждая из которых управляется отдельным микроконтроллером. - Первая построена на микроконтроллере {{:продукты:stemtera:atmega328.pdf|ATmega328P}} и повторяет архитектуру Ардуино. Это означает полную совместимость с [[amp>collection/arduino-shields?utm_source=man&utm_campaign=stemtera&utm_medium=wiki| Arduino Shield]]’ами. - Вторая базируется на микроконтроллере {{:продукты:stemtera:atmega32u2.pdf|ATmega32U2}}, который служит для связи микроконтроллера ATmega328 с USB-портом компьютера. В отличии от Arduino Uno, на STEMTera выведены пины микроконтроллера ATmega32U2, которыми можно управлять через Atmel Studio. Рассмотрим более подробно оба варианта подключения. ==== Пример работы ATmega328 ==== - Соедините STEMTera с компьютером по USB-кабелю. На плате должен загореться светодиод «ON». - Соберите на новоиспечённой макетной плате первый эксперимент из набора [[amp>product/matryoshka-z?utm_source=man&utm_campaign=stemtera&utm_medium=wiki|Матрёшка]] — [[:конспект-arduino:маячок|маячок]].{{ :продукты:stemtera:stemtera_328_blink1.png |}} - Для программирования платформы STEMTera в операционной системе Windows [[articles:arduino-ide-install|скачайте и установите]] на компьютер интегрированную среду разработки Arduino IDE. В диспетчере устройств платформа должна определиться как COM-порт с именем ''Arduino Uno''.{{ :продукты:stemtera:stemtera_328_start1.png |}} После загрузки примера, светодиод на ''13'' пине и встроенный светодиод ''L'', начнут мигать раз в секунду.{{ :продукты:stemtera:stemtera_328_blink.gif |}} Это значит всё получилось и можно смело переходить к [[мини-проекты-arduino-breadboard:оглавление|экспериментам]] на Arduino. ==== Пример работы ATmega32u2 ==== Микроконтроллер ATmega32U2 при стандартной прошивке обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера. Но в отличии от Arduino Uno, на STEMTera выведены пины микроконтроллера ATmega32U2. После перепрошивки STEMTera не будет определяться как виртуальный ''COM-порт'' в диспетчере устройств и микроконтроллер ATmega328 будет недоступен. Для восстановления доступа, прошейте ATme32U2 стандартной прошивкой. Повторим эксперимент «маячок», но на этот раз мозгом устройства будет ATmega32U2. - Соедините STEMtera с компьютером по USB-кабелю. На плате должен загореться светодиод «ON». - Откройте «Диспетчер устройств» Windows и раскройте вкладку «Порты (COM и LPT)». Вы должны увидеть следующую картину:{{ :продукты:stemtera:stemtera_32u2_start1.png |}} - Запустите плату STEMtera в режиме программирования Atmega32U2. Для этого с помощью [[amp>product/wire-mm?utm_source=man&utm_campaign=stemtera&utm_medium=wiki|провода «папа-папа»]] замкните пин ''RST'' с землёй.{{ :продукты:stemtera:stemtera_32u2_reset.png |}}По истечению ''2''-''3'' секунд снимите провод «папа-папа». Обратите внимание плата STEMtera определилась как устройство ''ATmega32U2'':{{ :продукты:stemtera:stemtera_32u2_start2a.png |}} - Повторите задание [[:конспект-arduino:маячок|«маячок»]]. Но светодиод вместо ''13'' пина, подключите к пину ''PD0''.{{ :продукты:stemtera:stemtera_32u2_blink1.png |}} - Для работы STEMtera с микроконтроллером ATmega32U2 в операционной системе Windows [[:atmel-studio:start|скачайте и установите]] на компьютер интегрированную среду разработки микроконтроллеров семейства AVR — Atmel Studio. - Прошейте платформу примером приведённым ниже: // подключаем необходимые библиотеки #include #define F_CPU 16000000 #include #include int main(void) { // порт B в режим выхода DDRB = 0xFF; // устанавливаем нули на выходе PORTB = 0x00; while (1) { // зажигаем светодиод PORTB |= (1 << PB0); // ждём 1 секунду _delay_ms(1000); // гасим светодиод PORTB &= ~(1 << PB0); // ждём 1 секунду _delay_ms(1000); } }После загрузки программы, светодиод на пине ''PB0'' начнёт мигать раз в секунду.{{ :продукты:stemtera:stemtera_32u2_blink.gif |}} Это значит всё получилось и можно дальше продолжать программировать ''ATmega32U2'' более серьёзными программами. Для перепрошивки ATmega32U2 существует множество готовых примеров использующих [[https://github.com/STEMTera/STEMTera-Breadboard-B328-LUFA-Demo-Project|фреймворк LUFA]]. С его помощью STEMTera подключается к компьютеру в режиме эмуляции HID-контроллера. Windows определит плату как клавиатуру, джойстик или принтер — всё будет зависеть от выбранной прошивки. ===== Элементы платы ===== {{ :продукты:stemtera:stemtera_annotation.png |}} ==== Микроконтроллер ATmega328P ==== Сердцем платформы Arduino-части является 8-битный микроконтроллер семейства AVR. ==== Микроконтроллер ATmega32U2 ==== Микроконтроллер ATmega32U2 обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера. При подключении к ПК Arduino Uno определяется как виртуальный COM-порт. Прошивка микросхемы 32U2 использует стандартные драйвера USB-COM, поэтому установка внешних драйверов не требуется. ==== Пины питания ==== * **VIN:** Напряжение от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, если к устройству подключён внешний адаптер. * **5V:** На вывод поступает напряжение 5 В от стабилизатора платы. Данный стабилизатор обеспечивает питание микроконтроллеров ATmega328 и ATmega32U2. Запитывать устройство через вывод ''5V'' не рекомендуется — в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя. * **3.3V:** 3,3 В от стабилизатора платы. Максимальный ток вывода — 50 мА. * **GND:** Выводы земли. * **IOREF:** Вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от напряжения, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3,3 В устройствами. ==== Порты ввода/вывода ==== * **Цифровые входы/выходы:** пины ''0''–''13''\\ Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно. * **ШИМ:** пины ''3'',''5'',''6'',''9'',''10'' и ''11''\\ Позволяют выводить 8-битные аналоговые значения в виде ШИМ-сигнала. * **АЦП:** пины ''A0''–''A5''\\ 6 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 значений). Разрядность АЦП — 10 бит. * **TWI/I²C:** пины ''SDA'' и ''SCL''\\ Для общения с периферией по синхронному протоколу, через 2 провода. Для работы — используйте библиотеку ''Wire''. * **SPI:** пины ''10(SS)'', ''11(MOSI)'', ''12(MISO)'', ''13(SCK)''.\\ Через эти пины осуществляется связь по интерфейсу SPI. Для работы — используйте библиотеку ''SPI''. * **UART:** пины ''0(RX)'' и ''1(TX)''\\ Эти выводы соединены с соответствующими выводами микроконтроллера ATmega16U2, выполняющей роль преобразователя USB-UART. Используется для коммуникации платы Arduino с компьютером или другими устройствами через класс ''Serial''. ==== Светодиодная индикация ==== ^ Имя светодиода ^ Назначение ^ | RX и TX |Мигают при обмене данными между STEMtera в режиме Arduino и ПК.| | L | Светодиод вывода ''13'' микроконтроллера ATmega328. При отправке значения ''HIGH'' светодиод включается, при отправке ''LOW'' – выключается.| | ON |Индикатор питания на платформе.| ==== Разъём для внешнего питания ==== Разъём для подключения внешнего питания от 7 В до 12 В. ==== Кнопка сброса ==== Осуществляет сброс микроконтроллера ATmega328 — перезапуск микроконтроллера ATmega328. ===== Принципиальная и монтажная схемы ===== {{:продукты:stemtera:stemtera_schematic.png?direct&350 |}} {{ :продукты:stemtera:stemtera_layout.png?direct&300|}} ===== Характеристики ===== **Общие** * Входное напряжение питания: 7–12 В * Максимальный выходной ток пина 3.3V: 50 мА * Максимальный выходной ток пина 5V: 800 мА * 4 светодиодных индикации: ON, TX, RX и L * Габариты: 115×80×16 мм **Микроконтроллер: ATmega328** * Тактовая частота: 16 МГц * Напряжение логических уровней: 5 В * Портов ввода-вывода общего назначения: 20 * Максимальный ток с пина ввода-вывода: 20 мА * Портов с поддержкой ШИМ: 6 * Портов, подключённых к АЦП: 6 * Разрядность АЦП: 10 бит * Flash-память: 32 КБ * EEPROM-память: 1 КБ * SRAM-память: 2 КБ **Микроконтроллер: ATmega32U2** * Портов ввода-вывода общего назначения: 20 * Напряжение логических уровней: 5 В * Портов ввода-вывода общего назначения: 21 * Максимальный ток с пина ввода-вывода: 20 мА * Портов с поддержкой ШИМ: 3 * Flash-память: 32 КБ * EEPROM-память: 1 КБ * SRAM-память: 1 КБ ===== Ресурсы ===== * [[amp>product/stemtera?utm_source=man&utm_campaign=stemtera&utm_medium=wiki|STEMTera]] в магазине * {{:продукты:stemtera:atmega328.pdf|Datasheet на микроконтроллер Atmega328P}} * {{:продукты:stemtera:atmega32u2.pdf|Datasheet на микроконтроллер Atmega32U2}}