INHOUDSOPGAWE:
- Stap 1: Dinge wat in hierdie projek gebruik word
- Stap 2: Verhaal
- Stap 3: Hardewareverbinding
- Stap 4: sagteware programmering
- Stap 5: Kode
Video: Verlig jou valentynsdag met sprankelende matriks: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Valentynsdag bied u die geleentheid om liefdesboodskappe te stuur. Waarom nie 'n prettige LED -gesig met goedkoop komponente om u gevoel uit te druk nie?
Stap 1: Dinge wat in hierdie projek gebruik word
Hardeware komponente
- Seeeduino V4.2
- Basisskerm
- Grove - Rooi LED Matrix met bestuurder
- Grove - gebaar (PAJ7620U2)
Sagteware -programme en aanlyndienste
Arduino IDE
Stap 2: Verhaal
Stap 3: Hardewareverbinding
In hierdie projek gebruik ons die gebaar sensor as 'n invoer en gee die terugvoer aan die LED matriks bestuurder om die rooi LED matriks te voer.
U moet die Grove - Gebaar en die Grove - Rooi LED Matrix met bestuurder verbind met die I^2^C -poort van die basisskerm wat in die Seeeduino ingeprop is. Koppel Seeeduino dan via 'n USB -kabel aan die rekenaar.
Stap 4: sagteware programmering
Die plan vir hierdie projek is om die statiese emoji (huilende gesig en wagende gesig) te vertoon as daar geen linker- of regtergebaar gelees is nie.
Vertoon dinamiese oog-posisie-verandering-emoji's met beheer deur die linker- of regtergebaar as daar 'n linker- of regtergebaar gelees is.
Op die spesifieke oogposisie sal 'n kloppende hart op die LED -matriks verskyn.
Die LED -skermpatrone is ontwerp deur LED Matrix Editor, u kan u LED -patrone verander of byvoeg in die programprogramme hierbo.
Om gereed te wees vir hierdie projek, moet u Grove - Gesture, Grove - Red LED Matrix w/Driver en MsTimer2 -biblioteke in die Arduino IDE installeer.
#sluit "Grove_LED_Matrix_Driver_HT16K33.h" in
#include "MsTimer2.h" #include "paj7620.h" #include "Wire.h"
Tydens die opstelprosedure het ons die Serial-, matrix- en MsTimer2 -funksies geïnisialiseer. Initialized Serial word gebruik om die program te ontfout, dus is dit onnodig om aan te sluit op 'n rekenaar of om Serial Monitor te gebruik na ontfouting. Ons gebruik MsTimer2 in hierdie projek om die vertoning van die statiese emoji's te beheer.
// Begin die reeks om te ontfout.
Serial.begin (9600); terwyl (! Serial); paj7620Init (); Wire.begin (); matrix.init (); matrix.setBrightness (15); matrix.setBlinkRate (BLINK_OFF); MsTimer2:: stel (1000, displayStatic); MsTimer2:: start ();
In die hooflus neem ons slegs twee uitsette van die gebaar sensor, GES_RIGHT_FLAG, GES_LEFT_FLAG, en dit word gebruik om die displayDynamic () funksie te lei.
Die displayDynamic () -funksie sal die interval bereken vanaf die laaste keer dat dinamiese emoji's tot die huidige tyd vertoon is, as die interval meer as TIMEOUT is, sal dit nie meer die statiese emoji speel nie, en sal die vertoonde dinamiese emoji -indeks begin. As gebare van links na regs gelees word, is die beginindeks 0 en word die indeks verhoog nadat links-na-regs gebare weer gelees is. Andersins is die beginindeks die laaste indeks van die DYNAMIC -skikking, en die indeks sal verminder word.
leegte displayDynamic (bool leftToRight) {
ongetekende lang huidige tyd = millis (); if (currentTime - prevTime> TIMEOUT) {dIndex = leftToRight? 0: ARRAY_LENGTH (DYNAMIC) - 1; showStatic = vals; } // Dit word gebruik om die grens te oorskry. as (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex <= -1) {heartBeat (); dIndex = leftToRight? ARRAY_LENGTH (DYNAMIC) - 1: 0; } prevTime = huidige tyd; matrixDisplay = DYNAMIC [leftToRight? dIndex ++: dIndex--]; }
Geen gebaar word gelees as die TIMEOUT -tydperk oorskry word nie, sal statiese emoji -speelgoed herstel word.
Laai die program op na u Seeeduino, klaar. Speel en geniet dit!
Stap 5: Kode
#sluit "Grove_LED_Matrix_Driver_HT16K33.h" in
#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])) Matriks_8x8 matriks; uint64_t matrixDisplay = 0; ongetekende lang prevTime = millis (); int8_t sIndex = 0; bool showStatic = waar; 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 (STATIES); }} void heartBeat () {for (uint8_t i = 0; i TIMEOUT) {showStatic = false; prevTime = huidige tyd; dIndex = leftToRight? 0: ARRAY_LENGTH (DYNAMIC) - 1; } // Dit word gebruik om die grens te oorskry. as (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex TIMEOUT) {showStatic = true; } matrix.writeOnePicture (matrixDisplay); matrix.display (); vertraging (100); }
Aanbeveel:
Steam Punk jou UPS om ure se uptime vir jou Wi-Fi-router te kry: 4 stappe (met foto's)
Steam Punk jou UPS om ure se spitstyd vir jou Wi-Fi-router te kry: daar is iets fundamenteel onaangenaams dat jou UPS sy 12V DC-batterykrag in 220V-wisselstroom kan omskakel, sodat die transformators met jou router en vesel ONT dit kan omskakel in 12V DC! U is ook teen die [tipies
Stel @Vakansie = Valentynsdag: 7 stappe (met foto's)
Stel @Holiday = Valentines_Day: hierdie instruksie kan vir enige groot vakansie verander word, maar my studente wou fokus op iets wat hulle vir Valentynsdag kon doen. In hierdie ontwerp is studente se hande die geleidende materiaal wat die kring voltooi wanneer hulle 'hoë
Verlig jou Valentynsdag met sprankelende RGB -matriks: 3 stappe
Verlig jou Valentynsdag met die sprankelende RGB -matriks: Valentynsdag kom, ontmoet jy iemand wat op die eerste gesig verlief geraak het?
Verlig jou projek met LED's: 4 stappe
Verlig jou projek met LED's: 'n Baie effektiewe manier om 'n projek tot lewe te bring, is deur beligting by te voeg. Die tegnologie van vandag het selfdoeners 'n wye verskeidenheid beligtingsopsies gegee wat baie helder, baie goedkoop in gebruik, goedkoop om te koop en maklik is om te installeer
Mystic Crystal Ball (dit vertel jou letterlik jou fortuin!): 3 stappe (met foto's)
Mystic Crystal Ball (Dit vertel jou letterlik jou fortuin!): Leer hoe om 'n waarsêende kristalbal te maak wat jou toekoms onthul wanneer dit aangeraak word! Die projek bestaan uit drie basiese dele en kan binne ongeveer vier uur gebou word. Materiaal: 1. Kapasitiewe aanraaksensor: 1 - Arduino Uno -mikrobeheerder 1