WeMos D1 Mini Модуль матрица светодиодная 8х8

Цена:

290 р.
Код товара: 14244
Оригинальное название:
WeMos D1 mini Matrix LED Shield V1.0.0 8x8 Matrix Dot Matrix LED

Светодиодная матрица WeMos 8х8 с драйвером для контроллера D1 Mini

Одновременно с выходом в недалёком 2014 году чипа беспроводной связи ESP8266EX по стандарту WiFi, набравшего по-настоящему оглушительную популярность в кругу любителей собирать самодельные устройства, компания WEMOS Electronics представила общественности большую линейку собственных модульных электронных плат под торговой маркой WeMos, задав новый вектор развития ардуино-совместимых платформ. Взяв за основу микроконтроллер от компании Espressif Systems, разработчики значительно потрудились не только над уменьшением размеров базовых модулей, сделав их максимально компактными, но и над выпуском целого спектра расширений, предложив пользователям богатый функционал, способный помочь в реализации задач различного уровня сложности при проектировании и конструировании разнообразных полезных изобретений.

Современные электронные продукты WeMos входят в категорию эффективных низкоценовых решений и позиционируются создателями как открытая платформа для самостоятельной разработки многоцелевых устройств на основе беспроводной связи по технологии WiFi. При этом основной упор сделан на создание и развитие изделий с поддержкой сетей нового поколения "Интернет вещей" (англ. - Internet of Things, IoT), чему активно способствуют существующие возможности облачных вычислений и межмашинных взаимодействий.

Чтобы потребитель не смог запутаться в физической совместимости плат, каждая серия обладает своими отличительными особенностями. Например, серия WeMos D1 Mini, к которому принадлежит Модуль со светодиодной матрицей 8х8, имеет синий цвет поверхности текстолита и небольшой скруглённый угловой вырез рядом с маркировкой 3V3.  Вырез служит ориентиром, гарантирующим правильное совмещение нескольких плат между собой.

Технические характеристики

  • Питание: 3.3В, 5В, смешанное
  • Совместимость: WeMos D1 mini / WeMos D1 mini PRO
  • Активные выводы: D5, D7, 3V3, 5V, GND
  • Разрешение матрицы: 8 х 8
  • Количество светодиодов: 64
  • Цвет свечения: красный
  • Интенсивность свечения: 8 режимов яркости
  • Контроллер: TM1640
  • Размер: 28.5 х 25.6 х 9.5 мм
  • Рабочая температура: -40°С...+85°С

Функционал модуля Wemos Matrix Led

Светодиодный экран WEMOS Matrix Led специально разработан для совместного использования с микроконтроллерами Wemos D1 Mini и Wemos D1 Mini Pro. Он способен значительно повысить уровень информативности разрабатываемого проекта на платформе WeMos. При желании, любое приложение получит элементы интерактивности в сочетании с простыми световыми эффектами. Выполняя программирование модуля, пользователь сможет создавать и выводить на светодиодную матрицу не только статические изображения произвольной формы, но и простую анимацию, прокрутку текста и многое другое. Например, экран покажет символ солнышка или снежинки, если модуль стоит в термометре. Или отобразит различные символы или буквы при переключении микроконтроллера в разные режимы работы. Вот так это может выглядеть:

  WeMos Matrix Led demo. Светодиодная матрица Wemos.  

Управление светодиодной матрицей возложено на чип контроллера TM1640, который умеет не только зажигать или гасить определённые "точки", но и задавать интенсивность свечения всей матрицы целиком. В подключаемой библиотеке Wemos Matrix Led предусмотрено 8 режимов, устанавливающих свечение светодиодов от самого слабого до максимально яркого. В некоторых случаях, режимы слабого свечения позволят сократить потребление электроэнергии при питании от автономного источника напряжения.

Питание WeMos Matrix Led Shield

Основное питание модуль получает от контакта с напряжением 5В, микросхема TM1640 и светодиодная матрица 788AS работают именно от этого источника. Учитывая, что микроконтроллер ESP8266EX, установленный в WeMos D1 Mini (Pro), обрабатывает сигналы с максимальным напряжением 3.3В, в схеме платы предусмотрена пара преобразователей уровня между низким и высоким напряжением, по одному для контактов D7 (DIN) и D5 (SCLK). Собраны преобразователи на транзисторах BSS138 MOSFET. Такой подход позволит задействовать модуль в Арудино-совместимых платформах, имеющих в своём распоряжении аналогичное питание.

Методы программирования

Библиотека Wemos Matrix Led не велика и не имеет набора команд для создания анимации или движения изображений. Зато с основными потребностями, такими как вывод одной точки или сразу целой строки из 8 точек, включая настраиваемую интенсивность свечения матрицы, она легко справится. Библиотека описывает класс MLED, содержащий переменные и функции. Матрица модуля WeMos в ней программно поделена на 8 строк (буферов) по 8 светодиодов в каждой.

Основные команды:

  • display() — выводит на матрицу содержимое всех буферов с учётом яркости.
  • clear() — очищает все буферы.
  • dot(posX, posY, draw) — записывает точку в буфер строки posY в положение posX. Необязательный параметр draw со значением 0 инвертирует отображение точки, то есть "выключает" её. По умолчанию, параметр draw всегда равен 1.
  • intensity — переменная для яркости матрицы. Возможные значения 0-7.
  • disBuffer[0-7] — массив из значений для одной из строк.

Пример кода, выполняющего включение и выключение каждой светодиодной точки, начиная от позиции 0,0 и заканчивая позицией 7,7. Затем происходит повтор.

#include <WEMOS_Matrix_LED.h>


MLED mled(5); //интенсивность = 5

void setup() {
}

void loop() {

  for(int y=0;y<8;y++)
  {
    for(int x=0;x<8;x++)
    {
        mled.dot(x,y); // рисуем точку
        mled.display();
        delay(200);
        mled.dot(x,y,0); // удаляем точку
        mled.display();
        delay(200);        
    }  
  }

} 

Следующий простой скетч в циклическом режиме изменяет интенсивность свечения матрицы WeMos Matrix Led

#include <WEMOS_Matrix_LED.h>


MLED mled(0); //интенсивность = 0

void setup() {
  Serial.begin(115200);
  for(int i=0; i<8; i++)
  {
    mled.disBuffer[i]=0xff; // заполняем весь экран точками
  }
  
  
}

void loop() {

  for(int i=0;i<8;i++){
    mled.intensity=i; // меняем интенсивность
    mled.display();
    delay(1000);
  }
} 

Оба предыдущих примера доступны в библиотеке WeMos Matrix Led Arduino. Попробуйте пример посложнее, в котором выполняется запись каждого буфера в виде битовой карты для отображения картинки "шашечки".

#include <WEMOS_Matrix_LED.h>


MLED matrix(5); // интенсивность = 5

void setup() {
  matrix.disBuffer[0] = {0b10101010}; // буфер первой строки
  matrix.disBuffer[1] = {0b01010101}; // буфер второй строки и т.д.
  matrix.disBuffer[2] = {0b10101010};
  matrix.disBuffer[3] = {0b01010101};
  matrix.disBuffer[4] = {0b10101010};
  matrix.disBuffer[5] = {0b01010101};
  matrix.disBuffer[6] = {0b10101010};
  matrix.disBuffer[7] = {0b01010101};
  matrix.display();
}

void loop() {
} 

Загрузите в WeMos D1 Mini код программы, действие которой чем-то напоминает эффект бегущей строки. Пробуйте её изменить и понаблюдайте за результатом.

#include <WEMOS_Matrix_LED.h>

MLED mled(5); // интенсивность = 5

// задаем битовое значение для каждого изображения
byte face_1[8] = {B00000000,B01100110,B01100110,B00011000,B00011000,B00000000,B00111100,B01000010};
byte face_2[8] = {B00000000,B01100110,B01100110,B00011000,B00011000,B00000000,B01111110,B00000000};
byte face_3[8] = {B00000000,B01100110,B01100110,B00011000,B00011000,B01000010,B00111100,B00000000};
byte space_Char[8] = {B0000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000};
byte W_Char[8] = {B00000000,B01100011,B01100011,B01100011,B01101011,B01111111,B01110111,B01100011};
byte C_Char[8] = {B00000000,B00111100,B01100110,B01100000,B01100000,B01100000,B01100110,B00111100};
byte O_Char[8] = {B00000000,B00111100,B01100110,B01100110,B01100110,B01100110,B01100110,B00111100};
byte M_Char[8] = {B00000000,B01100011,B01110111,B01111111,B01101011,B01100011,B01100011,B01100011};
byte P_Char[8] = {B00000000,B01111100,B01100110,B01100110,B01100110,B01111100,B01100000,B01100000};
byte A_Char[8] = {B00000000,B00111100,B01100110,B01100110,B01111110,B01100110,B01100110,B01100110};
byte T_Char[8] = {B00000000,B01111110,B01011010,B00011000,B00011000,B00011000,B00011000,B00011000};
byte L_Char[8] = {B00000000,B01100000,B01100000,B01100000,B01100000,B01100000,B01100000,B01111110};                  
byte R_Char[8] = {B00000000,B01111100,B01100110,B01100110,B01111100,B01111000,B01101100,B01100110};
byte U_Char[8] = {B00000000,B01100110,B01100110,B01100110,B01100110,B01100110,B01100110,B00111110};
byte dot_Char[8] = {B0000000,B0000000,B00000000,B0000000,B0000000,B0000000,B0001100,B0001100};

#define TIME 500
#define PAUSE 1000

void setup() {
}

void loop() {

  drawChar(face_1); delay(PAUSE);
  drawChar(face_2); delay(PAUSE);
  drawChar(face_3); delay(PAUSE);
  drawChar(W_Char); delay(TIME);
  drawChar(space_Char); delay(TIME);
  drawChar(W_Char); delay(TIME);
  drawChar(space_Char); delay(TIME);
  drawChar(W_Char); delay(TIME);
  drawChar(dot_Char); delay(TIME);
  drawChar(C_Char); delay(TIME);
  drawChar(O_Char); delay(TIME);
  drawChar(M_Char); delay(TIME);
  drawChar(P_Char); delay(TIME);
  drawChar(A_Char); delay(TIME);
  drawChar(C_Char); delay(TIME);
  drawChar(T_Char); delay(TIME);
  drawChar(space_Char); delay(TIME);
  drawChar(T_Char); delay(TIME);
  drawChar(O_Char); delay(TIME);
  drawChar(space_Char); delay(TIME);
  drawChar(O_Char); delay(TIME);
  drawChar(L_Char); delay(TIME);
  drawChar(dot_Char); delay(TIME);
  drawChar(R_Char); delay(TIME);
  drawChar(U_Char); delay(TIME);
  drawChar(space_Char);  delay (PAUSE);
}

// выводим изображения с учетом ориентации экрана
void drawChar(byte character[8]) {
  for (int y = 7; y >= 0; y--) {
    for (int x = 0; x <= 7; x++) {
      if (character[(7 - y)] & (B10000000 >> x)) {
        mled.dot(x, y); // рисуем точку
      } else {
        mled.dot(x, y, 0); // стираем точку
      }
    }
    mled.display();
  }
}

Принципиальная схема

  Wemos Matrix Led Shield Shematic V1.0.0  

Техническая информация

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

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2019г https://compacttool.ru