Электронный компонент:Плата RePhone/Xadow Duino: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
 
Строка 110: Строка 110:
'''7.''' Скопируйте в рабочую область [[IDE Arduino]] код, показанный ниже. Установите библиотеку '''«WS2812B»''', если еще не установили.
'''7.''' Скопируйте в рабочую область [[IDE Arduino]] код, показанный ниже. Установите библиотеку '''«WS2812B»''', если еще не установили.


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
#include <Adafruit_NeoPixel.h>
#include <Adafruit_NeoPixel.h>



Текущая версия от 20:05, 23 мая 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Черновик


Плата RePhone/Xadow Duino[1]

Плата Xadow Duino предназначена для создания осветительных устройств, использующих популярные RGB-светодиоды WS2812B. Она оснащена микроконтроллером ATmega32u4 и портом MicroUSB, что позволяет управлять RGB-светодиодами напрямую при помощи ПО в RePhone Kit Create и программировать плату при помощи IDE Arduino. В отличие от других Xadow-модулей, Xadow Duino оснащена собственным батарейным коннектором (JST 1.0). Таким образом, Xadow Duino можно питать 4 разными способами:

  • Через 5-вольтовый USB-порт (это также позволяет заряжать батарею, если она подключена к Xadow Duino)
  • От 3,7-вольтовой литий-полимерной батареи
  • Через контакты-отверстия
  • От платы Xadow GSM+BLE

Купить плату Xadow Duino можно по этой ссылке.

Особенности

  • Совместимость с Arduino
  • При использовании RePhone Kit Create подключение не требует дополнительной настройки («plug-n-play»)
  • ПО и «железо» с открытым кодом
  • Тонкая и компактная
  • Разработана специально для RGB-светодиодов WS2812B
  • Встроенные 11-контакные Xadow-порты (чтобы было легче подключать другие Xadow-платы)
  • Удобно размещать вместе с другими Xadow-модулями (поверх друг друга или цепочкой)
  • Предназначена для проектов, использующих светодиоды

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

Параметр Значение
Микроконтроллер ATmega32u4
Питание через USB-порт 5 вольт, 1.5 ампер (макс.)
Питание через батарейный коннектор 3.3 – 4.2 вольта, 1.5 ампер (макс.)
Питание через контакты-отверстия 3.3 – 6 вольт, 500 миллиампер (макс.)
Питание от Xadow GSM+BLE 3.3 – 4.2 вольта, 500 миллиампер (макс.)
Сила тока при зарядке 500 мА
Flash-память 32 Кб (ATmega32u4), из которых 4 Кб используются загрузчиком
Память SRAM 2.5 Кб (ATmega32u4)
Память EEPROM 1 Кб (ATmega32u4)
Тактовая частота 16 МГц
Порты, контакты Два 11-контактных Xadow-порта, контактные площадки (в виде отверстий) для RGB-светодиодов WS2812B
Интерфейсы Коммуникация с Xadow GSM+BLE через I2C (7 бит, адрес – 0x23)
Размеры 25,37 мм х 20,30 мм

Распиновка и расположение компонентов

Схема ниже демонстрирует распиновку 11-контактного Xadow-порта и контактов-отверстий на плате Xadow Duino.

Управление RGB-светодиодами WS2812B

С помощью RePhone Kit Create

Самый простой способ управления RGB-светодиодами WS2812B – использование ПО, идущего в наборе с RePhone Kit Create. Это приложение Actuator Control, которое позволяет воспроизвести на WS2812B три разных эффекта:

  1. Светодиоды будут гореть только один цветом
  2. Светодиоды будут гореть бегущей строкой
  3. Светодиоды будут гореть радужными цветами

При помощи IFTTT

Если вы хотите, чтобы RGB-светодиоды загорались каким-то особым образом, то это можно выполнить при помощи сервиса IFTTT (это сокр. от «if this then that», что можно перевести как «если, то»).

При помощи IDE Arduino

Также уникальный паттерн работы RGB-светодиодов можно задать при помощи IDE Arduino.

Использование платы Xadow Duino вместе с IDE Arduino

Чтобы подготовить Xadow Duino для программирования при помощи IDE Arduino, нужно выполнить несколько действий. Вот они: 1. Загрузите драйверы и IDE Arduino, а затем установите их.

2. Откройте «Менеджер устройств». На Windows 10 для этого нужно кликнуть на кнопку поиска (имеет иконку лупы и находится в левом нижнем углу), вписать там «Панель управления», кликнуть на пункт «Панель управления» (он появится выше, в поисковой выдаче), а затем кликнуть на «Система и безопасность» > «Система» > «Диспетчер устройств». Если ОС потребует пароль или подтверждение администратора, предоставьте их.

3. В «Диспетчере устройств» должен появиться COM-порт под названием вроде «Xadow Clip (COM20)», но в вашем случае вместо «20» может стоять какая-то другая цифра.

4. Скачайте ZIP-архив этого GitHub-репозитория, распакуйте его, откройте распакованную папку «\Files_For_Seeed_Main_Board-master.7z\Files_For_Seeed_Main_Board-master\v1.6.3», найдите там папку «seeeduino» и скопируйте ее в папку «\Arduino\hardware» (это место, куда установлена IDE Arduino; в моем случае это «C:\ProgramFiles(x86)\Arduino\hardware»).

5. Теперь попробуйте зажечь светодиоды. Подключите Xadow Duino к компьютеру при помощи кабеля MicroUSB, откройте IDE Arduino и кликните на Инструменты > Плата > Seeeduino Xadow (Tools > Board > Seeeduino Xadow).

6. Кликните в IDE Arduino на Инструменты > Порт > COM20(Seeeduino Xadow). В Англоязычной версии это будет Tools > Port > COM20(Seeeduino Xadow).

7. Скопируйте в рабочую область IDE Arduino код, показанный ниже. Установите библиотеку «WS2812B», если еще не установили.

#include <Adafruit_NeoPixel.h>

#define PIN 5   //  плата Xadow Duino использует контакт DIN/D5/PC6
                //  для управления RGB-светодиодами WS2812B

// параметр 1   = количество пикселей в ленте
// параметр 2   = номер контакта (подойдет большинство из них)
// параметр 3   = настройки для пикселей, вот допустимые значения:
//   NEO_RGB    = пиксели подключены для битового потока RGB
//   NEO_GRB    = пиксели подключены для битового потока GRB
//   NEO_KHZ400 = скорость битового потока 400 кГц 
//                (например, для пикселей FLORA)
//   NEO_KHZ800 = скорость битового потока 800 кГц 
//                (например, для светодиодных лент высокой плотности) 
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();
  strip.show();  // инициализируем пиксели выключенными

  // очень важно выставить контакт D13 в режим вывода данных
  // и задать ему значение HIGH, т.к. нам нужно, 
  // чтобы он служил «землей»:
  pinMode(13,OUTPUT);
  digitalWrite(13,HIGH);
}

void loop() {
  // несколько примеров, чтобы показать, как задавать разные цвета:
  colorWipe(strip.Color(255, 0, 0), 50); // красный
  colorWipe(strip.Color(0, 255, 0), 50); // зеленый
  colorWipe(strip.Color(0, 0, 255), 50); // синий
  rainbow(20);
  rainbowCycle(20);
}

// «закрашиваем» пиксели один за другим:
void colorWipe(uint32_t c, uint8_t wait) {
  for(uint16_t i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, c);
      strip.show();
      delay(wait);
  }
}

void rainbow(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256; j++) {
    for(i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel((i+j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

//  это функция выполняет немного другую задачу;
//  она равномерно заполняет ленту радужными цветами:
void rainbowCycle(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256*5; j++) {  //  5 циклов всех цветов
    for(i=0; i< strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

// вводим число между «0» и «255», чтобы получить определенный цвет;
// цвета переходят от красного к зеленому и синему,
// а потом снова возвращаются к красному:
uint32_t Wheel(byte WheelPos) {
  if(WheelPos < 85) {
   return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  } else if(WheelPos < 170) {
   WheelPos -= 85;
   return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  } else {
   WheelPos -= 170;
   return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
}

FAQ

По этой ссылке можно найти несколько часто задаваемых вопросов, связанных с устройствами RePhone/Xadow. К примеру, об установке драйвера и т.д.

Полезные ссылки

См.также

Внешние ссылки