Turinys:
- 1 žingsnis: šiame projekte naudojami dalykai
- 2 žingsnis: istorija
- 3 žingsnis: aparatinės įrangos prijungimas
- 4 žingsnis: programinės įrangos programavimas
- 5 žingsnis: kodas
Video: Apšvieskite savo Valentiną putojančia matrica: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Valentino diena - tai galimybė siųsti meilės žinutes. Kodėl gi ne sukurti linksmą LED veidą su nebrangiais komponentais, kad išreikštumėte savo jausmus!
1 žingsnis: šiame projekte naudojami dalykai
Techninės įrangos komponentai
- Seeeduino V4.2
- Pagrindo skydas
- Grove - raudona LED matrica su tvarkykle
- Grove - gestas (PAJ7620U2)
Programinės įrangos programos ir internetinės paslaugos
„Arduino IDE“
2 žingsnis: istorija
3 žingsnis: aparatinės įrangos prijungimas
Šiame projekte mes naudojame gestų jutiklį kaip įvestį ir pateikiame grįžtamąjį ryšį LED matricos tvarkyklei, kad būtų galima tiekti raudoną LED matricą.
Turite prijungti „Grove - Gesture“ir „Grove - Red LED Matrix“su tvarkykle prie pagrindinio skydo I^2^C prievado, prijungto prie „Seeeduino“. Tada prijunkite „Seeeduino“prie kompiuterio per USB kabelį.
4 žingsnis: programinės įrangos programavimas
Šio projekto planas yra rodyti statines jaustukas (verkiantis veidas ir laukiantis veidas), kai neskaitomas kairysis ar dešinysis gestas.
Rodyti dinamišką akių padėties keitimo jaustuką, valdomą kairiuoju arba dešiniuoju gestais, kai skaitomas kairysis arba dešinysis gestas.
Tam tikroje akių padėtyje LED matricoje bus rodoma plakanti širdis.
Šviesos diodų ekrano modelius sukūrė „LED Matrix Editor“, galite pakeisti arba pridėti savo LED modelius aukščiau pateiktose programų laidose.
Norint pasiruošti šiam projektui, į „Arduino IDE“reikia įdiegti „Grove - Gesture“, „Grove - Red LED Matrix w/Driver“ir „MsTimer2“bibliotekas.
#include "Grove_LED_Matrix_Driver_HT16K33.h"
#įtraukimas "MsTimer2.h" #įtraukimas "paj7620.h" #įtraukimas "Viela.h"
Sąrankos metu inicijavome serijos, matricos ir „MsTimer2“funkcijas. „Initialized Serial“naudojama programos derinimui, todėl nebūtina prisijungti prie kompiuterio ar naudoti „Serial Monitor“po derinimo. Šiame projekte mes naudojame „MsTimer2“, kad valdytume statinių jaustukų rodymą.
// Inicijuotas serijos derinimas.
Serial.begin (9600); while (! Serial); paj7620Init (); Wire.begin (); matrix.init (); matrix.setBrightness (15); matrix.setBlinkRate (BLINK_OFF); MsTimer2:: set (1000, displayStatic); MsTimer2:: start ();
Pagrindinėje grandinėje mes paimame tik du gestų jutiklio išėjimus - GES_RIGHT_FLAG, GES_LEFT_FLAG ir jie naudojami funkcijai displayDynamic ().
Funkcija displayDynamic () apskaičiuos intervalą nuo paskutinio dinaminių jaustukų rodymo iki dabartinio laiko, jei intervalas viršys TIMEOUT, jis nustos žaisti statinius jaustukus ir pradės rodomą dinaminių jaustukų indeksą. Kai skaitomi gestai iš kairės į dešinę, pradžios indeksas yra 0, o indeksas bus padidintas po to, kai gestai iš kairės į dešinę bus perskaityti dar kartą. Priešingu atveju pradžios indeksas yra paskutinis DYNAMIC masyvo indeksas ir indeksas bus sumažintas.
void displayDynamic (bool leftToRight) {
unsigned long currentTime = milis (); if (currentTime - prevTime> TIMEOUT) {dIndex = leftToRight? 0: ARRAY_LENGTH (DYNAMIC) - 1; showStatic = klaidinga; } // Tai naudojama norint neperžengti ribos. if (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex <= -1) {heartBeat (); dIndex = leftToRight? ARRAY_LENGTH (DYNAMIC) - 1: 0; } prevTime = dabartinis laikas; matrixDisplay = DYNAMIC [leftToRight? dIndex ++: dIndex--]; }
Jei viršijamas TIMEOUT laikotarpis, gestas neskaitomas, statinis jaustukų atkūrimas bus atkurtas.
Įkelkite programą į „Seeeduino“, viskas padaryta. Žaisk ir linksminkis!
5 žingsnis: kodas
#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 (masyvas) (sizeof (masyvas) / sizeof (masyvas [0])) Matrica_8x8 matrica; uint64_t matrixDisplay = 0; unsigned long prevTime = milis (); int8_t sIndex = 0; bool showStatic = tiesa; const uint64_t STATIC = {0x00003c0000a54200, 0x00003c000000e700, 0x00003c004242e700}; int8_t dIndex = 0; const uint64_t DYNAMIC = {0x00003c000021e700, 0x00003c000042e700, 0x00003c000084e700}; const uint64_t ŠIRDIS = {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 = dabartinis laikas; dIndex = leftToRight? 0: ARRAY_LENGTH (DYNAMIC) - 1; } // Tai naudojama norint neperžengti ribos. if (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex TIMEOUT) {showStatic = tiesa; } matrix.writeOnePicture (matrixDisplay); matrix.display (); vėlavimas (100); }
Rekomenduojamas:
Apšvieskite tamsų karolį: 6 žingsniai (su nuotraukomis)
Uždekite tamsų karolį: įsivaizduokite, kad dėvite karolius, kurie automatiškai įsižiebia sutemus ir kai yra pakankamai apšvietimo, kad taptų įprastu brangakmeniu. Palyginti lengvas ir įdomus projektas, ypač tiems, kurie nori nešioti brangakmenį, kuris tiesiogine prasme šviečia! Paimkite
Apšvieskite meduolių namą: 9 žingsniai (su nuotraukomis)
Apšvieskite meduolių namelį: Mes kuriame šviesų meduolių namelį, kuriame, palietus kamino viršų, namas užsidegs viduje. Šis projektas yra tikrai įdomus įvadas į grandinę ir skirtas demonstravimui, įskaitant šiek tiek pagrindinės grandinės kūrimo ir šiek tiek
Įsižiebkite Valentino dieną su putojančia RGB matrica: 3 žingsniai
Įsižiebk Valentiną su putojančia RGB matrica: Artėja Valentino diena, ar sutinki žmogų, kuris įsimylėjo iš pirmo žvilgsnio?
Apšvieskite savo projektą šviesos diodais: 4 žingsniai
Apšvieskite savo projektą šviesos diodais: labai veiksmingas būdas atgaivinti projektą yra pridėti apšvietimą. Šiuolaikinės technologijos „pasidaryk pats“siūlo platų apšvietimo variantų pasirinkimą, kuris yra labai ryškus, labai nebrangus eksploatuoti, nebrangus įsigyti ir lengvai montuojamas
Apšvieskite gėlių vainikines galvos juostas vasaros muzikos festivaliams, vestuvėms, ypatingoms progoms: 8 žingsniai (su nuotraukomis)
Apšvieskite gėlių karūnos galvos juostas vasaros muzikos festivaliams, vestuvėms, ypatingoms progoms: apšvieskite naktį nuostabiu gėlių LED galvos apdangalu! Puikiai tinka bet kokioms vestuvėms, muzikos festivaliams, išleistuvėms, kostiumams ir ypatingoms progoms! Komplektai su viskuo, ko jums reikia norint pasidaryti Apšviesta galvos juosta dabar yra „Wearables Workshop“parduotuvėje