Uno Slot: распиновка, схема подключения и программирование

Uno Slot — платформа из линейки Slot для быстрой разработки компактных устройств из Troyka-модулей.

Плата выполнена на микроконтроллере ATmega328P, что означает полную программную совместимость с Arduino Uno.

Общие сведения

Платформа Uno Slot содержит на борту всё необходимое для быстрой и комфортной работы: 8-битный микроконтроллер ATmega328P, USB-разъём для программирования и отладки программы, 15 цифровых входов/выходов, 4 адресных RGB-светодиода WS2812B и две служебные кнопки.

Uno Slot позволяет подключить до четырёх Troyka-модулей. Используемые пины для связи сенсоров и модулей с Uno Slot зависят от конкретного устройства, точнее: от типа его коммуникации, сигнала и протокола. Обратитесь к странице с обзором сенсоров, чтобы определить как организована коммуникация с каждым устройством. После чего можно приступать к работе с модулем.

Программирование через Arduino IDE

Установка и настройка

  1. Подключите плату к ПК или ноутбуку по USB.
  2. Для начала работы с платформой Uno Slot на языке C++ скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.
  3. Плата Uno Slot по программной части аналогична Arduino Uno, поэтому в программе смело выбирайте: Инструменты Плата Arduino Uno.

После выполненных действий платформа Uno Slot готова к программированию через Arduino IDE.

Подробности о функциях и методах работы Uno Slot на языке C++ читайте на Arduino Core’s.

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

В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка. На плате уже есть встроенный пользовательский светодиод, подключенный к 13 пину микроконтроллера.

blink.ino
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.

Программирование через XOD IDE

Установка и настройка

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

Элементы платы

Микроконтроллер ATmega328P

Сердцем платформы Uno Slot является 8-битный микроконтроллер семейства AVR — Microchip ATmega328P с тактовой частотой 16 МГц. Контроллер предоставляет 32 КБ Flash-памяти для хранения прошивки, 2 КБ оперативной памяти SRAM и 1 КБ энергонезависимой памяти EEPROM для хранения данных.

Преобразователь USB-UART

Связь микроконтроллера ATmega328P с USB-портом компьютера обеспечивает USB-UART преобразователь на микросхеме Silicon Labs CP2102. При подключении к ПК Uno Slot определяется как виртуальный COM-порт.

USB-UART преобразователь общается с микроконтроллером ATmega328P по интерфейсу UART через сигналы RX и TX, которые параллельно выведены на контакты D0 и D1 платы Uno Slot. Во время прошивки и отладки программы, не используйте эти пины в своём проекте.

Разъём micro-USB

Разъём 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

Кнопка предназначена для ручного сброса прошивки — аналог кнопки RESET обычного компьютера.

Пользовательская кнопка

Пользовательская кнопка подключённая к D4 цифровому пину микроконтроллера. Кнопка пригодиться для создания и теста простых программ, без подключения дополнительных тактильных сенсоров.

ICSP-разъём

ICSP-разъём предназначен для загрузки прошивки в микроконтроллер ATmega328P через внешний программатор. Одна из таких прошивок — Bootloader платы Uno Slot, который позволяет прошивать платформу по USB.

Разъём Slot Connector

Если вам не хватает 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.

Распиновка

Пины питания

  • 5V: На вывод поступает напряжение 5 В от разъёма micro-USB.
  • GND: Выводы земли.

Пины ввода/вывода

  • Цифровые входы/выходы 22 пина: D0, D1, D3, D5, D6, D9D16
    Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 20 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
  • ШИМ 5 пинов: D3, D5, D6, D9D11
    Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ не меняется и установлена в 8 бит.
  • АЦП 5 пинов: A0A2, A6 и A7
    Позволяет представить аналоговое напряжение в виде цифровом виде. Разрядность АЦП не меняется и установлена в 8 бит.
  • TWI/I²C пины SDA/18 и SCL/19
    Для общения с платами расширения и сенсорами по интерфейсу «I²C». Для работы используйте библиотеку Wire.
  • SPI пины MOSI/11, MISO/12 и SCK/13
    Для общения с платами расширения и сенсорами по интерфейсу «SPI». Для работы — используйте библиотеку SPI.
  • Serial пины: RX/D0 и TX/D1
    Для общения с платами расширения и сенсорами по интерфейсу «UART». Для работы — используйте библиотеку Serial. Выводы шины также параллельно соединены с соответствующими выводами USB-UART преобразователя CP2102 для прошивки и отладки программы: во время работы по USB, не используйте эти пины в своём проекте.

Принципиальная и монтажная схемы

Габаритный чертёж

Характеристики

  • Микроконтроллер: ATmega328P
  • Тактовая частота: 16 МГц
  • Порты с АЦП: 5
  • Разрядность АЦП: 10 бит
  • Порты с ШИМ: 5
  • Разрядность ШИМ: 8 бит
  • Аппаратные интерфейсы SPI: 1
  • Аппаратные интерфейсы I²C: 1
  • Аппаратные интерфейсы UART: 1
  • Flash-память: 32 КБ
  • EEPROM-память: 1 КБ
  • Оперативная память: 2 КБ
  • Напряжение логических уровней: 5 В
  • Порты общего назначения: всего 13
    • 13 ввода-вывода (GPIO)
    • 2 дополнительных ввода (GPI)
  • Максимальный ток с пина ввода-вывода: 20 мА
  • Максимальный выходной ток пина 5V: ограничен источником питания
  • Габариты: 50,8×50,8 мм

Ресурсы