Оглавление:
- Шаг 1. Вещи, использованные в этом проекте
- Шаг 2: история
- Шаг 3: Подключение оборудования
- Шаг 4: Программирование программного обеспечения
- Шаг 5: Код
Видео: Зажгите свою валентинку сверкающей матрицей: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
День святого Валентина - это возможность отправить любовные послания. Почему бы не сделать забавное светодиодное лицо из недорогих компонентов, чтобы выразить свои чувства!
Шаг 1. Вещи, использованные в этом проекте
Компоненты оборудования
- Seeeduino V4.2
- Базовый щит
- Grove - красная светодиодная матрица с драйвером
- Роща - Жест (PAJ7620U2)
Программные приложения и онлайн-сервисы
IDE Arduino
Шаг 2: история
Шаг 3: Подключение оборудования
В этом проекте мы используем датчик жестов в качестве входа и даем обратную связь драйверу светодиодной матрицы для подачи на красную светодиодную матрицу.
Вам необходимо подключить Grove - Gesture и Grove - Red LED Matrix с драйвером к порту I ^ 2 ^ C базового экрана, который подключен к Seeeduino. Затем подключите Seeeduino к ПК с помощью кабеля USB.
Шаг 4: Программирование программного обеспечения
План этого проекта состоит в том, чтобы отображать статические эмодзи (плачущее лицо и ожидающее лицо), когда не было прочитано ни левого, ни правого жеста.
Отображение смайлов с динамическим изменением положения глаз с помощью жестов влево или вправо, когда читается жест влево или вправо.
В определенном положении глаз на светодиодной матрице будет отображаться бьющееся сердце.
Шаблоны светодиодных дисплеев разработаны с помощью редактора светодиодных матриц, вы можете изменить или добавить свои шаблоны светодиодных индикаторов в программе, показанной выше.
Чтобы подготовиться к этому проекту, необходимо установить библиотеки Grove - Gesture, Grove - Red LED Matrix с драйвером и MsTimer2 в IDE Arduino.
#include "Grove_LED_Matrix_Driver_HT16K33.h"
#include "MsTimer2.h" #include "paj7620.h" #include "Wire.h"
Во время процедуры настройки мы инициализировали функции Serial, matrix и MsTimer2. Initialized Serial используется для отладки программы, поэтому нет необходимости подключаться к ПК или использовать Serial Monitor после отладки. В этом проекте мы используем MsTimer2 для управления отображением статических эмодзи.
// Инициализировал серийный номер для отладки.
Serial.begin (9600); в то время как (! серийный); paj7620Init (); Wire.begin (); matrix.init (); matrix.setBrightness (15); matrix.setBlinkRate (BLINK_OFF); MsTimer2:: set (1000, displayStatic); MsTimer2:: start ();
В основном цикле мы получаем только два вывода от датчика жестов, GES_RIGHT_FLAG, GES_LEFT_FLAG, и они используются для управления функцией displayDynamic ().
Функция displayDynamic () вычислит интервал от последнего отображения динамических смайлов до текущего времени. Если интервал превышает TIMEOUT, воспроизведение статических смайлов прекращается, и для запуска устанавливается индекс отображаемых динамических смайлов. Когда читаются жесты слева направо, начальный индекс равен 0, и индекс будет увеличиваться после повторного чтения жестов слева направо. В противном случае начальным индексом будет последний индекс ДИНАМИЧЕСКОГО массива, и индекс будет уменьшен.
void displayDynamic (bool leftToRight) {
беззнаковый длинный currentTime = millis (); если (currentTime - prevTime> TIMEOUT) {dIndex = leftToRight? 0: ARRAY_LENGTH (ДИНАМИЧЕСКИЙ) - 1; showStatic = false; } // Это используется, чтобы избежать выхода за границу. если (dIndex> = ARRAY_LENGTH (ДИНАМИЧЕСКИЙ) || dIndex <= -1) {heartBeat (); dIndex = leftToRight? ARRAY_LENGTH (ДИНАМИЧЕСКИЙ) - 1: 0; } prevTime = currentTime; matrixDisplay = ДИНАМИЧЕСКИЙ [leftToRight? dIndex ++: dIndex--]; }
Жест не считывается, если период TIMEOUT превышен, статическое воспроизведение смайлов будет восстановлено.
Загрузите программу на свой Seeeduino, и все готово. Играйте и получайте удовольствие!
Шаг 5: Код
#include "Grove_LED_Matrix_Driver_HT16K33.h"
#include "MsTimer2.h" #include "paj7620.h" #include "Wire.h" #define TIMEOUT 5000 #define GES_REG_ADDR 0x43 #define ARRAY_LENGTH (массив) (sizeof (array) / sizeof (array [0])) Матрица Matrix_8x8; uint64_t matrixDisplay = 0; беззнаковый длинный prevTime = millis (); int8_t sIndex = 0; bool showStatic = true; const uint64_t STATIC = {0x00003c0000a54200, 0x00003c000000e700, 0x00003c004242e700}; int8_t dIndex = 0; const uint64_t DYNAMIC = {0x00003c000021e700, 0x00003c000042e700, 0x00003c000084e700}; const uint64_t СЕРДЦЕ = {0x00183c7e7e240000, 0x00183c7effff6600, 0x183c7effffffff66, 0x00183c7effff6600}; void displayStatic (void) {если (showStatic) {matrixDisplay = STATIC [sIndex]; sIndex = (sIndex + 1)% ARRAY_LENGTH (СТАТИЧЕСКИЙ); }} void heartBeat () {для (uint8_t я = 0; я TIMEOUT) {showStatic = false; prevTime = currentTime; dIndex = leftToRight? 0: ARRAY_LENGTH (ДИНАМИЧЕСКИЙ) - 1; } // Это используется, чтобы избежать выхода за границу. если (dIndex> = ARRAY_LENGTH (ДИНАМИЧЕСКИЙ) || dIndex TIMEOUT) {showStatic = true; } matrix.writeOnePicture (matrixDisplay); matrix.display (); задержка (100); }
Рекомендуемые:
Цифровые часы со светодиодной точечной матрицей - приложение ESP Matrix для Android: 14 шагов
Цифровые часы со светодиодной точечной матрицей - приложение ESP Matrix для Android: эта статья с гордостью спонсируется PCBWAY. Компания PCBWAY создает высококачественные прототипы печатных плат для людей во всем мире. Попробуйте сами и получите 10 печатных плат всего за 5 долларов на PCBWAY с очень хорошим качеством, спасибо PCBWAY. Матричная плата ESP, которую я разработал
Зажгите свою валентинку с помощью сверкающей RGB-матрицы: 3 шага
Зажгите свой валентинку сверкающей матрицей RGB: приближается День святого Валентина, вы встречаетесь с кем-то, кто влюбился с первого взгляда?
Зажгите кассету, будьте раздуты на рейв-вечеринках: 5 шагов (с изображениями)
Зажигай кассету, получай хайп на рэйв-вечеринках: Что за дела! Это Гэлден. Гэлден - команда, предлагающая девушкам хобби электронику. Позвольте познакомить вас с тем, как сделать светодиодные аксессуары, которые идеально подходят для рейв-вечеринок. Что будет выглядеть светящимся при освещении? Когда у вас что-то загорается
Мятное сердце бьет валентинку: 3 шага
Мятное бьющееся сердце валентинки: любая женщина, которая думает, что путь к сердцу мужчины лежит через его живот, стремится слишком высоко. Почему бы не подарить любимому человеку что-то особенное. Сказочно нереально бьющееся сердце. OK. Кажется, мне нравится строить Руби Голдберга, как
Зажгите лук из обертки Saran, горячего клея и светодиодной накидки: 6 шагов (с изображениями)
Лук с подсветкой из саранской пленки, горячего клея и светодиодного броска: создайте симпатичный, яркий, освещенный лук с саранской пленкой, горячим клеем и парой модифицированные светодиодные броски. Ага, ты меня слышал … сарановая пленка и горячий клей. Это идеальная праздничная поделка для мамы и дочери, которую они могут делать вместе, без перерыва