STEMTera breadboard: инструкция, подключение, распиновка и документация
Видеообзор
Подключение и настройка
STEMTera состоит из двух частей, каждая из которых управляется отдельным микроконтроллером.
Первая построена на микроконтроллере
ATmega328P и повторяет архитектуру Ардуино. Это означает полную совместимость с
Arduino Shield’ами.
Вторая базируется на микроконтроллере
ATmega32U2, который служит для связи микроконтроллера ATmega328 с USB-портом компьютера.
В отличии от Arduino Uno, на STEMTera выведены пины микроконтроллера ATmega32U2, которыми можно управлять через Atmel Studio.
Рассмотрим более подробно оба варианта подключения.
Пример работы ATmega328
Соедините STEMTera с компьютером по USB-кабелю. На плате должен загореться светодиод «ON».
Соберите на новоиспечённой макетной плате первый эксперимент из набора
Матрёшка —
маячок.
Для программирования платформы STEMTera в операционной системе Windows
скачайте и установите на компьютер интегрированную среду разработки Arduino IDE. В диспетчере устройств платформа должна определиться как COM-порт с именем
Arduino Uno
.
После загрузки примера, светодиод на 13
пине и встроенный светодиод L
, начнут мигать раз в секунду. Это значит всё получилось и можно смело переходить к экспериментам на Arduino.
Пример работы ATmega32u2
Микроконтроллер ATmega32U2 при стандартной прошивке обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера.
Но в отличии от Arduino Uno, на STEMTera выведены пины микроконтроллера ATmega32U2.
После перепрошивки STEMTera не будет определяться как виртуальный COM-порт
в диспетчере устройств и микроконтроллер ATmega328 будет недоступен. Для восстановления доступа, прошейте ATme32U2 стандартной прошивкой.
Повторим эксперимент «маячок», но на этот раз мозгом устройства будет ATmega32U2.
Соедините STEMtera с компьютером по USB-кабелю. На плате должен загореться светодиод «ON».
Откройте «Диспетчер устройств» Windows и раскройте вкладку «Порты (COM и LPT)». Вы должны увидеть следующую картину:
Запустите плату STEMtera в режиме программирования Atmega32U2. Для этого с помощью
провода «папа-папа» замкните пин
RST
с землёй.
По истечению
2
-
3
секунд снимите провод «папа-папа». Обратите внимание плата STEMtera определилась как устройство
ATmega32U2
:
Повторите задание
«маячок». Но светодиод вместо
13
пина, подключите к пину
PD0
.
Для работы STEMtera с микроконтроллером ATmega32U2 в операционной системе Windows
скачайте и установите на компьютер интегрированную среду разработки микроконтроллеров семейства AVR — Atmel Studio.
Прошейте платформу примером приведённым ниже:
- blink
// подключаем необходимые библиотеки
#include <avr/io.h>
#define F_CPU 16000000
#include <avr/io.h>
#include <util/delay.h>
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
начнёт мигать раз в секунду. Это значит всё получилось и можно дальше продолжать программировать ATmega32U2
более серьёзными программами.
Для перепрошивки ATmega32U2 существует множество готовых примеров использующих фреймворк LUFA. С его помощью STEMTera подключается к компьютеру в режиме эмуляции HID-контроллера. Windows определит плату как клавиатуру, джойстик или принтер — всё будет зависеть от выбранной прошивки.
Элементы платы
Микроконтроллер 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.
Принципиальная и монтажная схемы
Характеристики
Общие
Входное напряжение питания: 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 КБ
Ресурсы