Satura rādītājs:
- 1. darbība. Šajā projektā izmantotās lietas
- 2. darbība: stāsts
- 3. darbība. Aparatūras savienojums
- 4. solis: programmatūras programmēšana
- 5. darbība: kods
Video: Iededziet savu Valentīnu ar dzirkstošo matricu: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Valentīna diena ir iespēja nosūtīt mīlestības ziņas. Kāpēc gan neizveidot jautru LED seju ar lētiem komponentiem, lai izteiktu savas sajūtas!
1. darbība. Šajā projektā izmantotās lietas
Aparatūras komponenti
- Seeeduino V4.2
- Bāzes vairogs
- Grove - sarkana LED matrica ar draiveri
- Grove - žests (PAJ7620U2)
Programmatūras lietotnes un tiešsaistes pakalpojumi
Arduino IDE
2. darbība: stāsts
3. darbība. Aparatūras savienojums
Šajā projektā mēs izmantojam žestu sensoru un dodam atgriezenisko saiti LED matricas draiverim, lai pabarotu sarkano LED matricu.
Grove - žests un Grove - sarkanā LED matrica ar draiveri jāpievieno pamatnes vairoga I^2^C portam, kas ir pievienots Seeeduino. Pēc tam savienojiet Seeeduino ar datoru, izmantojot USB kabeli.
4. solis: programmatūras programmēšana
Šī projekta plāns ir parādīt statiskās emocijzīmes (raudoša seja un gaidīšanas seja), kad nav nolasīts kreisais vai labais žests.
Parādiet dinamiskas acu pozīcijas maiņas emocijzīmes ar kreisās vai labās puses žestu, kad tiek nolasīts kreisais vai labais žests.
Konkrētā acu stāvoklī uz LED matricas tiks parādīta pukstoša sirds.
LED displeja modeļus ir izstrādājis LED matricas redaktors, jūs varat mainīt vai pievienot savus LED modeļus iepriekš redzamajās programmu izstādēs.
Lai sagatavotos šim projektam, Arduino IDE ir jāinstalē bibliotēkas Grove - Gesture, Grove - Red LED Matrix w/Driver un MsTimer2.
#include "Grove_LED_Matrix_Driver_HT16K33.h"
#include "MsTimer2.h" #include "paj7620.h" #include "Wire.h"
Iestatīšanas procedūras laikā mēs inicializējām Serial, matrix un MsTimer2 funkcijas. Initialized Serial tiek izmantots programmas atkļūdošanai, tāpēc pēc atkļūdošanas nav nepieciešams izveidot savienojumu ar datoru vai izmantot Serial Monitor. Šajā projektā mēs izmantojam MsTimer2, lai kontrolētu statisko emocijzīmju parādīšanu.
// Inicializēja sēriju atkļūdošanai.
Sērijas sākums (9600); kamēr (! Seriāls); paj7620Init (); Wire.begin (); matrix.init (); matrix.setBrightness (15); matrix.setBlinkRate (BLINK_OFF); MsTimer2:: set (1000, displayStatic); MsTimer2:: start ();
Galvenajā ciklā mēs ņemam tikai divas izejas no žestu sensora - GES_RIGHT_FLAG, GES_LEFT_FLAG, un tās tiek izmantotas, lai vadītu funkciju displayDynamic ().
Funkcija displayDynamic () aprēķinās intervālu no pēdējās dinamiskās emocijzīmes parādīšanas reizes līdz pašreizējam laikam, ja intervāls pārsniedz TIMEOUT, tā pārtrauks statisku emocijzīmju atskaņošanu un iestatīs parādītā dinamisko emocijzīmju indeksa sākšanu. Ja tiek lasīti žesti no kreisās uz labo, sākuma indekss ir 0, un indekss tiks palielināts pēc žestu no kreisās uz labo vēlreiz lasīšanas. Pretējā gadījumā sākuma indekss ir pēdējais DYNAMIC masīva indekss, un indekss tiks samazināts.
void displayDynamic (bool leftToRight) {
neparakstīts ilgs strāvas laiks = milis (); if (currentTime - prevTime> TIMEOUT) {dIndex = leftToRight? 0: ARRAY_LENGTH (DINAMIKA) - 1; showStatic = nepatiess; } // To izmanto, lai nepārsniegtu robežu. ja (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex <= -1) {heartBeat (); dIndex = leftToRight? ARRAY_LENGTH (DINAMIKA) - 1: 0; } iepriekšējais laiks = pašreizējais laiks; matrixDisplay = DINAMISKA [leftToRight? dIndex ++: dIndex--]; }
Ja tiek pārsniegts TIMEOUT periods, žests netiek nolasīts, statiskā emocijzīmju atskaņošana tiks atjaunota.
Augšupielādējiet programmu savā Seeeduino, viss ir izdarīts. Spēlējiet un izklaidējieties!
5. darbība: kods
#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 (masīvs) (sizeof (masīvs) / sizeof (masīvs [0])) Matrica_8x8 matrica; uint64_t matrixDisplay = 0; neparakstīts garš prevTime = milis (); int8_t sIndex = 0; bool showStatic = taisnība; const uint64_t STATIC = {0x00003c0000a54200, 0x00003c000000e700, 0x00003c004242e700}; int8_t dIndex = 0; const uint64_t DINAMIKA = {0x00003c000021e700, 0x00003c000042e700, 0x00003c000084e700}; const uint64_t SIRDS = {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 = pašreizējais laiks; dIndex = leftToRight? 0: ARRAY_LENGTH (DINAMIKA) - 1; } // To izmanto, lai nepārsniegtu robežu. ja (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex TIMEOUT) {showStatic = true; } matrix.writeOnePicture (matrixDisplay); matrix.display (); kavēšanās (100); }
Ieteicams:
Izveidojiet savu 15x10 RGB LED matricu: 10 soļi
Izveidojiet savu 15x10 RGB LED matricu: šajā video sērijā es jums parādīšu, kā izveidot 15x10 RGB LED matricu. Šīs matricas platums ir 1,5 m un augstums 1 m. Tas sastāv no PL9823 RGB gaismas diodēm, kas ir lēta alternatīva parastajām WS2812 gaismas diodēm. Es runāšu par izaicinājumiem
Izveidojiet savu 10x10 LED matricu: 5 soļi (ar attēliem)
Izveidojiet savu 10x10 LED matricu: šajā projektā es jums parādīšu, kā apvienot plaši pieejamās WS2812B RGB gaismas diodes ar Arduino Nano, lai izveidotu krāsainu 10x10 LED matricu. Sāksim
Iededziet tumšo kaklarotu: 6 soļi (ar attēliem)
Iededziet tumšo kaklarotu: iedomājieties, ka valkājat kaklarotu, kas automātiski iedegas, kad satumst un kad ir pietiekami daudz apgaismojuma, lai kļūtu par parastu dārgakmeni. Salīdzinoši vienkāršs un jautrs projekts īpaši tam, kurš vēlas valkāt dārgakmeni, kas burtiski spīd! Paņemiet
Iededziet LED ar netīrumiem: 10 soļi (ar attēliem)
Iededziet LED ar netīrumiem: šis bija eksperiments, ar kuru man bija jautri! Varbūt jums varētu šķist jautri atkārtot? Mani interesēja tā sauktā " Zemes baterija " ilgu laiku. Lai ierīce būtu īsta Zemes baterija, nevis vienkārši galvaniska baterija, tai ir
Iededziet savu Valentīnu ar dzirkstošo RGB matricu: 3 soļi
Iededziet savu Valentīnu ar dzirkstošo RGB matricu: Valentīna diena tuvojas, vai satiekat kādu, kurš iemīlējās no pirmā acu uzmetiena?