
Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04

Ziua Îndrăgostiților este o șansă pentru tine de a trimite mesaje de dragoste. De ce să nu faci o față LED distractivă cu componente ieftine pentru a-ți exprima sentimentul!
Pasul 1: Lucruri utilizate în acest proiect
Componente hardware
- Seeeduino V4.2
- Scutul de bază
- Grove - Matrix cu LED roșu cu driver
- Grove - Gest (PAJ7620U2)
Aplicații software și servicii online
IDE Arduino
Pasul 2: Poveste


Pasul 3: Conexiune hardware

În acest proiect, folosim senzorul de gestiune ca intrare și oferim feedback-ul driverului matricei LED pentru a alimenta matricea LED roșie.
Trebuie să conectați Grove - Gesture și Grove - Red LED Matrix w / Driver la portul I ^ 2 ^ C al scutului de bază care este conectat la Seeeduino. Apoi conectați Seeeduino la computer printr-un cablu USB.
Pasul 4: Programare software
Planul acestui proiect este de a afișa emoji-urile statice (fața plângând și fața de așteptare) atunci când nu a fost citit nici un gest la stânga sau la dreapta.
Afișați emoji-uri dinamice de schimbare a poziției ochilor, controlate prin gestul stânga sau dreapta atunci când a fost citit un gest stânga sau dreapta.

La poziția specifică a ochiului, o inimă bătută va fi afișată pe matricea LED.

Modelele de afișare cu LED-uri sunt proiectate de LED Matrix Editor, puteți modifica sau adăuga modelele de LED-uri în programele de mai sus.
Pentru a vă pregăti pentru acest proiect, este necesar să instalați bibliotecile Grove - Gesture, Grove - Red LED Matrix cu driver și MsTimer2 în Arduino IDE.
#include "Grove_LED_Matrix_Driver_HT16K33.h"
#include "MsTimer2.h" #include "paj7620.h" #include "Wire.h"
În timpul procedurii de configurare, am inițializat funcțiile Serial, matrix și MsTimer2. Serial inițializat este folosit pentru depanarea programului, deci nu este necesar să vă conectați la PC sau să utilizați Serial Monitor după depanare. Folosim MsTimer2 în acest proiect pentru a controla afișarea emoji-urilor statice.
// Initializat serialul pentru depanare.
Serial.begin (9600); while (! Serial); paj7620Init (); Wire.begin (); matrix.init (); matrix.setBrightness (15); matrix.setBlinkRate (BLINK_OFF); MsTimer2:: set (1000, displayStatic); MsTimer2:: start ();
În bucla principală, luăm doar două ieșiri de la senzorul de gesturi, GES_RIGHT_FLAG, GES_LEFT_FLAG și acestea sunt utilizate pentru a ghida funcția displayDynamic ().
Funcția displayDynamic () va calcula intervalul de la ultima afișare a emoji-urilor dinamice până la ora curentă, dacă intervalul depășește TIMEOUT, va opri redarea emoji-urilor statice și va seta indexul emoji dinamic afișat pentru a începe. Când se citesc gesturile de la stânga la dreapta, indicele de pornire este 0, iar indexul va fi mărit după ce se citesc din nou gesturile de la stânga la dreapta. În caz contrar, indexul de început este ultimul index al matricei DINAMICE, iar indexul va fi redus.
display nul Dynamic (bool leftToRight) {
long semnat currentTime = millis (); if (CurrentTime - prevTime> TIMEOUT) {dIndex = leftToRight? 0: ARRAY_LENGTH (DINAMIC) - 1; showStatic = fals; } // Aceasta este utilizată pentru a evita depășirea limitei. if (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex <= -1) {heartBeat (); dIndex = leftToRight? ARRAY_LENGTH (DINAMIC) - 1: 0; } prevTime = CurrentTime; matrixDisplay = DYNAMIC [leftToRight? dIndex ++: dIndex--]; }
Nu se citește niciun gest dacă perioada de TIMEOUT este depășită, redarea emoji statică va fi restabilită.
Încărcați programul pe Seeeduino, gata. Joacă-te și distrează-te!
Pasul 5: Cod
#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 (array) (sizeof (array) / sizeof (array [0])) Matrice_8x8 matrice; uint64_t matrixDisplay = 0; unsigned long prevTime = millis (); int8_t sIndex = 0; bool showStatic = adevărat; const uint64_t STATIC = {0x00003c0000a54200, 0x00003c000000e700, 0x00003c004242e700}; int8_t dIndex = 0; const uint64_t DYNAMIC = {0x00003c000021e700, 0x00003c000042e700, 0x00003c000084e700}; const uint64_t HEART = {0x00183c7e7e240000, 0x00183c7effff6600, 0x183c7effffffff66, 0x00183c7effff6600}; void displayStatic (void) {if (showStatic) {matrixDisplay = STATIC [sIndex]; sIndex = (sIndex + 1)% ARRAY_LENGTH (STATIC); }} void heartBeat () {for (uint8_t i = 0; i TIMEOUT) {showStatic = false; prevTime = Ora curentă; dIndex = leftToRight? 0: ARRAY_LENGTH (DINAMIC) - 1; } // Aceasta este utilizată pentru a evita depășirea limitei. if (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex TIMEOUT) {showStatic = true; } matrix.writeOnePicture (matrixDisplay); matrix.display (); întârziere (100); }
Recomandat:
Figurile Lissajous pe matricea LED 8X8: 7 pași

Figurile Lissajous pe matricea LED 8X8: Un punct de lumină oscilant în 2 axe perpendiculare desenează un model numit „Lissajous Figure”. (1857) sau „Curba Bowditch” (1815). Modelele variază de la simplu la complex, în funcție de raportul de frecvență și faza celor 2 axe. A 1: 1
Matricea cu cascadă 8x16 Rgb Led: 3 pași

Cascadable 8x16 Rgb Led Matrix: În acest proiect am realizat cascadabil 8x16 rgb led matrix și controlerul său. Microfonul 18F2550 este utilizat pentru suportul USB. Ledurile RGB sunt acționate de registre de deplasare 74hc595 cu rezistențe. Pentru date de animație și configurare; 24C512 eeprom extern
Ornament de Valentine pentru Valentine Beating Heart: 7 pași (cu imagini)

Ornamentul cu bătăi cu LED-uri Valentine Valentine: În acest instructiv vă voi arăta cum am construit un ornament cu LED-uri pentru Ziua Îndrăgostiților pe care l-am oferit cadou soției mele. Circuitul este inspirat de un alt instructabil: https: //www.instructables.com/id/Astable-Multivibr
Iluminează-ți Valentine-ul cu matricea RGB sclipitoare: 3 pași

Aprinde-ți Valentine-ul cu matricea RGB scânteietoare: vine Ziua Îndrăgostiților, întâlnești pe cineva care s-a îndrăgostit la prima vedere?
Iluminează-ți proiectul cu LED-uri: 4 pași

Iluminează-ți proiectul cu LED-uri: o modalitate foarte eficientă de a da viață unui proiect este adăugarea de iluminat. Tehnologia de astăzi le-a oferit bricolajilor o gamă largă de opțiuni de iluminare foarte luminoase, foarte ieftine de operat, ieftine de cumpărat și ușor de instalat