В данном обзоре будет рассмотрен модуль светодиодной матрицы 24х8, от магазина DFRobot.
Упаковка, внешний вид и детальные фото модуля.
Посылка была отправлена EMS, и после прохождения таможни доставлена Почтой России. Упаковка выше всяких похвал, в чем убедиться можете по фото ниже (уголок помялся сами понимаете где и кем).
Открываем коробочку...
А там еще одна коробочка, окруженная защитным слоем пенопласта!
В маленьком коробке тоже не все так просто. Непосредственно модуль, а также сопровождающие аксессуары (разъемы, прозрачный шильдик) запаяны в антистатические блистеры, переложенные полистироловыми вкладышами. Весьма впечатляющий уровень защиты платки ценой в ~600р.
Ниже представлены фото внешнего вида:
Макро фото качества монтажа:
Плата модуля выполнена качественно. Все отверстия, предназначенные для пайки металлизированы. Маска отличная. Номера элементов на плате выполнены белой краской, и отлично видны на фоне черной маски.
Но, внешний вид не самое главное. Куда важнее для нас, радиолюбителей, то, какой функционал у того или иного устройства. Исходя из того, что нам предлагает базовая библиотека для данного модуля, можно сделать вывод, что он может переходить в режим пониженного энергопотребления. А возможности библиотеки позволяют рисовать точки, линии, а также выводить текст (статический или бегущую строку). Все это будет протестировано далее, а сейчас прошу обратить внимание на электрические характеристики модуля, которые указаны на страничке заказа товара:
- Напряжение питания: 3.3 ... 5В
- Цвет светодиодов: Синий
- Контроллер: HT1632C
- Потребляемый ток (зависит от количества включенных светодиодов): 6 ... 100мА
- Режим пониженного энергопотребления: 5нА
- Частота контроллера: 256KГц
- Выбор кристалла (CS): D2, D3, D4, D5
- Последовательная передача данных
- Поддержка библиотеками Arduino
- Поддержка прокрутки изображения
- Тип интерфейса: совместим с серией FireBeetle
- Рабочая температура: -10℃ ... +85℃
- Габариты: 24 × 58(мм)/0.94 x 2.28(дюймов)
- Вес: 26 грамм
Контроллер HT1632C это уже хорошо - для Arduino есть библиотеки с поддержкой данного контроллера, так что подключение этого модуля проблем вызвать не должно. Более того, на страничке покупки есть ссылка на Wiki, где описано подключение и использования данного модуля, пусть и на английском.
Ток потребления относительно небольшой, учитывая что на плате более 190 светодиодов.
Диапазон питающих напряжений, можно сказать, стандартный (3.3 ... 5В), что позволяет использовать данный модуль как с МК, работающими от 5В, так и с теми, которые предпочитают для питания использовать 3.3В.
Для тестирования модуля мной был использован микроконтроллер STM32F103C8T6, с залитым бутлоадером для использования с Arduino IDE.
Первым делом подключим модуль к "Arduino". Для этого нужно соединить выводы CS (один выбранный переключателем на тыльной стороне платы модуля, D2 ... D5), WR и DATA.
Далее, загружаем скетч и радуемся приветствию модуля =)
Пример №1
#include <DFRobot_HT1632C.h> #define DATA PB3 #define CS PB4 #define WR PB5 //#define RD 7 DFRobot_HT1632C ht1632c = DFRobot_HT1632C(DATA, WR, CS); char str[] = "Hello"; void setup() { ht1632c.begin(); ht1632c.isLedOn(true); ht1632c.clearScreen(); ht1632c.setCursor(0,0); ht1632c.print(str); } void loop() { }
Но, это было самое простое, что можно вывести - статический текст. Попробуем по инструкции сделать что-то более интересное!
Пример №2
#include <DFRobot_HT1632C.h> #define DATA PB3 #define CS PB4 #define WR PB5 DFRobot_HT1632C ht1632c = DFRobot_HT1632C(DATA, WR,CS); char str[] = "http://cxem.net"; void setup() { ht1632c.begin(); ht1632c.isLedOn(true); ht1632c.clearScreen(); delay(500); } void loop() { ht1632c.print(str,50); //delay(100); }
И, пожалуй посмотрим еще один пример, который есть в стандартной библиотеке. Речь идет о рисовании линии. Но, как бы просто не выглядело со стороны название примера, на самом деле он гораздо интереснее. Контроллер умеет менять яркость, и те, кто писал эти примеры не забыли про такую интересную функцию.
Пример №3
#include <DFRobot_HT1632C.h> #define DATA PB3 #define CS PB4 #define WR PB5 DFRobot_HT1632C ht1632c = DFRobot_HT1632C(DATA, WR,CS); char text[] = "123"; void setup() { // put your setup code here, to run once: ht1632c.begin(); ht1632c.isLedOn(true); ht1632c.clearScreen(); ht1632c.drawLine(0, 0, 0, 7); ht1632c.drawLine(0, 7, 23, 7); ht1632c.drawLine(23, 7, 23, 0); ht1632c.drawLine(0, 0, 23, 0); ht1632c.writeScreen(); } void loop() { // put your main code here, to run repeatedly: for(uint8_t i = 1; i < 16; i++){ ht1632c.setPwm(i); delay(50); } for(uint8_t i = 15; i > 0; i--){ ht1632c.setPwm(i); delay(50); } }
Посмотрим, как будет выглядеть вывод точек.
Пример №4
#include <DFRobot_HT1632C.h> #define DATA PB3 #define CS PB4 #define WR PB5 //#define RD 7 DFRobot_HT1632C ht1632c = DFRobot_HT1632C(DATA, WR,CS); void setup() { ht1632c.begin(); ht1632c.isLedOn(true); ht1632c.clearScreen(); } void loop() { for(uint8_t x=0; x<24; x++){ for(uint8_t y=0; y<8; y++){ ht1632c.setPixel(x,y); ht1632c.writeScreen(); delay(100); } } for(uint8_t x=0; x<24; x++){ for(uint8_t y=0; y<8; y++){ ht1632c.clrPixel(x,y); ht1632c.writeScreen(); delay(100); } } }
(на гифке ускорено воспроизведение в три раза).
Кроме этого, хотелось бы показать работу модуля со светофильтром, который поставляется в комплекте (при интенсивном внешнем освещении, обеспеченном фотовспышкой):
При солнечном свете, скорее всего, качество изображения будет хуже, и не стоит забывать про блики. Но в целом, все выглядит хорошо.
Модуль тестировался при напряжениях 3.3В и 5В. В обоих случаях сбоев в работе не наблюдалось. В режиме статического текста из примера №1 потребление тока для 3.3В и 5В составило 10 и 36,5мА соответственно. В режиме полной заливки, при напряжении питания 5В, ток потребления составил 76мА. В режиме пониженного энергопотребления, при тех же 5В, он составил 0.9мА.
Использование.
Исходя из вышеперечисленного, данный модуль целесообразно использовать в устройствах, имеющих сетевое питание. Все таки ток потребления в 50 - 70мА это не так уж и мало. Но если у вас есть возможность использовать аккумулятор большой емкости, то и портативные устройства могут обзавестись таким светодиодным дисплеем. К примеру, можно на основе этого модуля собрать дисплей для ПК, который будет отображать важную информацию. Или электронный "бейджик", крепящийся на рюкзак. Все зависит от вашей фантазии =)
Подведем итоги.
Данный модуль, на мой взгляд, свои деньги отрабатывает. И пусть заявленные 5нА мы не увидели, остальные параметры оказались в заявленных пределах (а еще у меня стойкое впечатление, что на сайте опечатка, и на самом деле должно быть "5мА"). Хотя, будь его цена рублей на сто дешевле, приятного было бы больше. Но в то же время, в эту цену входит надежная упаковка от магазина, которая не позволит вашей покупке выйти из строя без вашего ведома ;).
Прикрепленные файлы:
- Примеры.zip (2 Кб)
Комментарии (6) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
*Обзор подредактирую, добавлю фото со светофильтром. Просто на фото видно не очень, ибо сильно гасит яркость (по этому и не вставлял фото с ним).
[Автор]