Uno Slot — платформа из линейки Slot для быстрой разработки компактных устройств из Troyka-модулей.
Плата выполнена на микроконтроллере ATmega328P, что означает полную программную совместимость с Arduino Uno.
Платформа Uno Slot содержит на борту всё необходимое для быстрой и комфортной работы: 8-битный микроконтроллер ATmega328P, USB-разъём для программирования и отладки программы, 15 цифровых входов/выходов, 4 адресных RGB-светодиода WS2812B и две служебные кнопки.
Uno Slot позволяет подключить до четырёх Troyka-модулей. Используемые пины для связи сенсоров и модулей с Uno Slot зависят от конкретного устройства, точнее: от типа его коммуникации, сигнала и протокола. Обратитесь к странице с обзором сенсоров, чтобы определить как организована коммуникация с каждым устройством. После чего можно приступать к работе с модулем.
После выполненных действий платформа Uno Slot готова к программированию через Arduino IDE.
Подробности о функциях и методах работы Uno Slot на языке C++ читайте на Arduino Core’s.
В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка. На плате уже есть встроенный пользовательский светодиод, подключенный к 13
пину микроконтроллера.
void setup() { // initialize digital pin LED_BUILTIN as an output pinMode(LED_BUILTIN, OUTPUT); } void loop() { // turn the LED on (HIGH is the voltage level) digitalWrite(LED_BUILTIN, HIGH); // wait for a second delay(1000); // turn the LED off by making the voltage LOW digitalWrite(LED_BUILTIN, LOW); // wait for a second delay(1000); }
После загрузки встроенный светодиод 13
начнёт мигать раз в полсекунды.
Это значит всё получилось и можно смело переходить к экспериментам на Uno Slot.
Четытре светодиода подключены ко второму цифровому пину. Управлять ими можно как обычной адресной светодиодной лентой.
Вы сами можете выбрать библиотеку для управления. Например скетч для включения светодиодов с помощью библиотеки "fastled".
// Подключаем библиотеку FastLED #include <FastLED.h> // Указываем, к какому порту подключен вход ленты DIN #define LED_PIN 2 // Указываем, какое количество пикселей у нашей ленты #define NUM_LEDS 4 // Устанавливаем последовательность цветов #define COLOR_ORDER GRB // Указываем тип светодиодного чипсета // Библиотека поддерживает APA102, WS2811, WS2812, WS2813 // TM1809, TM18094,TM1803, UCS1903, GW6205, LPD8806, WS2801, // SM16716, APA102, APA102HD, P9813, LPD6803 #define CHIPSET WS2812 // Устанавливаем яркость светодиодов (от 10 до 255) #define BRIGHTNESS 60 // Устанавливаем частоту мерцания светодиодов #define FRAMES_PER_SECOND 60 // Создаем переменную leds для управления нашей лентой CRGB leds[NUM_LEDS]; void setup() { // Задержка для инициализации светодиодов delay(3000); // Передаём ленте параметры инициализации FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip ); // Передаём ленте яркость FastLED.setBrightness( BRIGHTNESS ); } void loop(){ // Включаем все светодиоды for (int i = 0; i < NUM_LEDS; i++){ // Красный цвет leds[i] = CRGB::Red; } // Передаем цвета ленте FastLED.show(); // Ждем 500 мс delay(500); // Выключаем все светодиоды for (int i = 0; i < NUM_LEDS; i++){ // Черный цвет, т.е. выключено leds[i] = CRGB::Black; } // Передаем цвета ленте. FastLED.show(); // Ждем 500 мс delay(500); }
Сердцем платформы Uno Slot является 8-битный микроконтроллер семейства AVR — Microchip ATmega328P с тактовой частотой 16 МГц. Контроллер предоставляет 32 КБ Flash-памяти для хранения прошивки, 2 КБ оперативной памяти SRAM и 1 КБ энергонезависимой памяти EEPROM для хранения данных.
Связь микроконтроллера ATmega328P с USB-портом компьютера обеспечивает USB-UART преобразователь на микросхеме Silicon Labs CP2102. При подключении к ПК Uno Slot определяется как виртуальный COM-порт.
USB-UART преобразователь общается с микроконтроллером ATmega328P по интерфейсу UART через сигналы RX
и TX
, которые параллельно выведены на контакты D0
и D1
платы Uno Slot. Во время прошивки и отладки программы, не используйте эти пины в своём проекте.
Разъём micro-USB предназначен для прошивки платформы Uno Slot с помощью компьютера. Для подключения к ПК понадобится кабель USB (A — Micro USB).
Имя светодиода | Назначение |
---|---|
PWR | Индикатор питания платформы. |
13 | Пользовательский светодиод на D13 пине микроконтроллера. Используйте определение LED_BUILTIN для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается. |
RX и TX | Мигают при прошивки и обмене данными между Uno Slot и компьютером. |
LED1-LED4 | На платформе расположено четыре адресных светодиода WS2812B по одному в каждом слоте. Каждый светодиод состоит из контроллера WS2812 и трёх кристаллов: R – красный, G – зелёный и B – синий. Изменяя ток одного, двух или трёх кристаллов одновременно, можно получить практически любой цвет излучения из видимого спектра. Электрически светодиодные модули WS2812B соединены между собой в цепочку, где первый светодиод подключен к D2 цифровому пину управляющей платы Uno Slot. Для работы через Arduino IDE используйте библиотеку Adafruit NeoPixel. |
Кнопка предназначена для ручного сброса прошивки — аналог кнопки RESET
обычного компьютера.
Пользовательская кнопка подключённая к D4
цифровому пину микроконтроллера. Кнопка пригодиться для создания и теста простых программ, без подключения дополнительных тактильных сенсоров.
ICSP-разъём предназначен для загрузки прошивки в микроконтроллер ATmega328P через внешний программатор. Одна из таких прошивок — Bootloader платы Uno Slot, который позволяет прошивать платформу по USB.
Если вам не хватает GPIO-пинов платформы Uno Slot, обратите внимания на плату расширения Slot Expander, которая предоставляет десять дополнительных пинов ввода/вывода. Slot Expander общается с центральной платформой через интерфейс I²C и позволяет изменять программно свой адрес, а это означает возможность подключить около сотни Slot Expander к Uno Slot: каждое расширения добавляет новые десять GPIO-пинов.
Расширение Slot Expander подключается к Uno Slot через специальный разъём Slot Connector в виде двух металлизированных отверстий. Для физической коммуникации и передачи данных также понадобиться переходник Slot Connector совместно с винтами, шайбами и гайками.
Имя контакта | Назначение |
---|---|
5V | Питание |
GND | Земля |
SDA | Линия данных I²C |
SCL | Линия синхронизации I²C |
Подробнее о расширении читайте в технической документации на Slot Expander.
D0
, D1
, D3
, D5
, D6
, D9
–D16
D3
, D5
, D6
, D9
–D11
A0
–A2
, A6
и A7
SDA/18
и SCL/19
MOSI/11
, MISO/12
и SCK/13
RX/D0
и TX/D1