Taula de continguts:
- Pas 1: coses utilitzades en aquest projecte
- Pas 2: història
- Pas 3: connexió de maquinari
- Pas 4: programació de programari
- Pas 5: Codi
Vídeo: Encén el teu Sant Valentí amb una matriu escumosa: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
El dia de Sant Valentí és una oportunitat per enviar missatges d’amor. Per què no fer una cara LED divertida amb components econòmics per expressar el vostre sentiment?
Pas 1: coses utilitzades en aquest projecte
Components de maquinari
- Seeeduino V4.2
- Escut base
- Grove - Matriu LED vermella amb controlador
- Grove - Gest (PAJ7620U2)
Aplicacions de programari i serveis en línia
IDE Arduino
Pas 2: història
Pas 3: connexió de maquinari
En aquest projecte, fem servir el sensor de gestos com a entrada i donem la retroalimentació al controlador de matriu LED per alimentar la matriu LED vermella.
Heu de connectar el Grove - Gesture i el Grove - Red LED Matrix w / Driver al port I ^ 2 ^ C de la pantalla base que es connecta al Seeeduino. A continuació, connecteu Seeeduino al PC mitjançant un cable USB.
Pas 4: programació de programari
El pla d’aquest projecte és mostrar els emoji estàtics (cara de plor i cara d’espera) quan no s’hagi llegit cap gest esquerre ni dret.
Mostra els emoji dinàmics que canvien la posició dels ulls amb un gest controlat per l'esquerra o la dreta quan es llegeix el gest esquerre o dret.
A la posició específica dels ulls, es mostrarà un cor bategant a la matriu LED.
Els patrons de pantalla LED estan dissenyats per LED Matrix Editor; podeu canviar o afegir els vostres patrons de LED a les mostres del programa anteriors.
Per preparar-vos per a aquest projecte, cal instal·lar biblioteques Grove - Gesture, Grove - Red LED Matrix w / Driver i MsTimer2 a l'IDE Arduino.
#include "Grove_LED_Matrix_Driver_HT16K33.h"
#include "MsTimer2.h" #include "paj7620.h" #include "Wire.h"
Durant el procediment de configuració, vam inicialitzar les funcions Serial, matrix i MsTimer2. Initialized Serial s'utilitza per depurar el programa, de manera que no és necessari connectar-se a l'ordinador ni utilitzar Serial Monitor després de depurar-lo. Utilitzem MsTimer2 en aquest projecte per controlar la visualització dels emoji estàtics.
// S'ha inicialitzat el serial per depurar-lo.
Serial.begin (9600); mentre que (! sèrie); paj7620Init (); Wire.begin (); matrix.init (); matrix.setBrightness (15); matrix.setBlinkRate (BLINK_OFF); MsTimer2:: set (1000, displayStatic); MsTimer2:: start ();
Al bucle principal, només prenem dues sortides del sensor de gest, GES_RIGHT_FLAG, GES_LEFT_FLAG i aquestes s’utilitzen per guiar la funció displayDynamic ().
La funció displayDynamic () calcularà l'interval des que es va mostrar l'última vegada que es va mostrar l'emoji dinàmic fins a l'hora actual, si l'interval és superior a TIMEOUT, deixarà de reproduir emoji estàtics i establirà l'índex d'emoji dinàmic que es visualitzi per començar. Quan es llegeixen els gestos d’esquerra a dreta, l’índex inicial és 0 i l’índex s’incrementarà després de tornar a llegir els gestos d’esquerra a dreta. En cas contrari, l'índex inicial és l'últim índex de la matriu DINÀMICA i l'índex es reduirà.
void displayDynamic (bool leftToRight) {
llarg sense signar currentTime = millis (); if (CurrentTime - prevTime> TIMEOUT) {dIndex = leftToRight? 0: ARRAY_LENGTH (DINÀMIC) - 1; showStatic = fals; } // S'utilitza per evitar superar el límit. if (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex <= -1) {heartBeat (); dIndex = leftToRight? ARRAY_LENGTH (DINÀMIC) - 1: 0; } prevTime = TimeTime actual; matrixDisplay = DINÀMIC [leftToRight? dIndex ++: dIndex--]; }
No es llegeix cap gest si se supera el període de TIMEOUT, es restaurarà la reproducció estàtica d'emoji.
Pengeu el programa al vostre Seeeduino, tot fet. Juga i diverteix-te!
Pas 5: Codi
#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])) Matriu_8x8 matriu; uint64_t matrixDisplay = 0; unsigned long prevTime = millis (); int8_t sIndex = 0; bool showStatic = cert; 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 = Hora actual; dIndex = leftToRight? 0: ARRAY_LENGTH (DINÀMIC) - 1; } // S'utilitza per evitar superar el límit. if (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex TIMEOUT) {showStatic = true; } matrix.writeOnePicture (matrixDisplay); matrix.display (); retard (100); }
Recomanat:
Marc de fotos LED Heart: feu un regal perfecte per a Sant Valentí o d'aniversari: 7 passos (amb imatges)
Marc de fotos LED Heart: feu un regal perfecte per a Sant Valentí o d'aniversari: Hola! En aquest instructiu us mostraré com podeu fer aquest impressionant marc de fotos LED Heart. Per a tots els entusiastes de l'electrònica. Feu el regal perfecte de Sant Valentí, aniversari o aniversari per als vostres éssers estimats. Podeu veure el vídeo de demostració d’aquest
Ornament de Sant Valentí LED Beating Heart: 7 passos (amb imatges)
Ornament de Sant Valentí LED Beating Heart: en aquest instructiu us mostraré com he construït un ornament LED per al dia de Sant Valentí que vaig regalar a la meva dona. El circuit està inspirat en un altre instructable: https: //www.instructables.com/id/Astable-Multivibr
Il·lumina el teu Sant Valentí amb una matriu RGB brillant: 3 passos
Encén el teu Sant Valentí amb una matriu RGB brillant: arriba el dia de Sant Valentí, coneixes algú que es va enamorar a primera vista?
Regal de Sant Valentí activat per llum: 8 passos (amb imatges)
Regal de Sant Valentí activat amb llum: amb el dia de Sant Valentí a la volta de la cantonada, em va inspirar afegir alguna cosa més per fer el regal una mica més especial. Estic provant el reproductor Mini amb Arduino i em preguntava si puc afegir un sensor de llum perquè reprodueixi la cançó durant m
Regal de Sant Valentí amb efecte LED elegant: 6 passos (amb imatges)
Regal de Sant Valentí amb efecte LED elegant: aquest HowTo us donarà una idea per fer un regal per a la vostra xicota (o per a qualsevol persona), ja que, per sorpresa, valentinsday s’acosta! El resultat és un petit objecte fet a mida que mostra les inicials de dues persones a un cor. Sembla com un holograma