Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Stebėta Daugiau autoriaus:
Apie: Sveiki, mes esame programų inžinieriai „Seeed“. Dalintis projektais su kūrėjų bendruomene yra nuostabu. Tikimės, kad jums tai patinka
Artėja Valentino diena, ar sutinkate žmogų, kuris įsimylėjo iš pirmo žvilgsnio?
1 žingsnis: šiame projekte naudojami dalykai
Techninės įrangos komponentai
- Seeeduino V4.2
- Pagrindo skydas V2
- Grove - RGB LED matrica su tvarkykle
- Grove - vandens jutiklis
Programinės įrangos programos ir internetinės paslaugos
„Arduino IDE“
2 žingsnis: aparatinės įrangos prijungimas
Šiame projekte mes naudojame vandens jutiklį vandens aptikimui, jei yra vandens, plakanti širdis bus rodoma RGB LED matricoje.
Norėdami pasiekti šį efektą, turite prijungti „Grove - Water Sensor“prie „Base Shield“D2 prievado, taip pat prijungti „Grove - RGB LED Matrix“prie jo I2C prievado. Tada prijunkite „Base Shield“prie „Seeeduino“, kaip ir paveikslėlyje aukščiau.
3 žingsnis: programinės įrangos programavimas
Norėdami naudoti RGB LED matricą savo programoje, turite pridėti jos biblioteką prie „Arduino IDE“. Biblioteką galima atsisiųsti iš
Matė_RGB_LED_matricą
Pridėję biblioteką, į kodą įtraukite matricos antraštės failą:
#include "grove_two_rgb_led_matrix.h"
Makrokomandų apibrėžimas yra geras įprotis, todėl jūsų kodą lengviau skaityti ar keisti. Pvz., Galite apibrėžti makrokomandas, nurodančias, prie kurio prievado prijungtas vandens jutiklis arba kokį greitį turėtų rodyti plakanti širdis.
#define SENSOR_PIN 2
#define INTERVAL 500
Kai viskas bus padaryta, paskelbkite matricos egzempliorių vėlesniam naudojimui.
GroveTwoRGBLedMatrixClass matrica;
Ir spustelėkite čia, kad gautumėte vaizdo redaktorių, kad sukurtumėte savo vaizdus. Pasirinkus spalvą spalvų juostoje, spustelėjus taškus piešimo srityje ir piešiant, o paspaudus mygtuką Atnaujinti arba Įterpti piešimo srities apačioje, jūsų vaizdas bus paverstas kodu ir rodomas dešinėje esančiame laukelyje.
Mano vaizdas atrodo taip, kaip parodyta žemiau. Galite nukopijuoti tą kodą, rodomą jūsų projekte, ir tada parodyti juos RGB LED matricoje koduojant.
Sąrankos () procedūra bus paleista vieną kartą, kai jūsų programa bus paleista, todėl jame inicijuojame matricą ir vandens jutiklio kaištį.
void setup () {
Wire.begin (); pinMode (SENSR_PIN, INPUT); WAIT_MATRIX_READY (); }
Ciklo () procedūra bus vykdoma pakartotinai, todėl ją naudojame, kad nustatytume, ar yra vandens, ar ne pagal šį kodą:
if (digitalRead (SENSOR_PIN) == LOW) {
}
Kai vandens jutiklis išleidžia LOW, tai reiškia, kad yra vandens, todėl plakanti širdis turėtų būti rodoma RGB LED matricoje
for (uint8_t i = 0; i <EMOJI_COUNT (example); ++ i) {matrix.displayFrames (EMOJI (pavyzdys, i), INTERVAL, false, 1); uždelsimas (INTERVAL); }
Užbaigta ciklo () procedūra atrodo taip, kaip nurodyta toliau, o visą kodą galite atsisiųsti šio straipsnio pabaigoje.
void loop () {
if (digitalRead (SENSOR_PIN) == LOW) {for (uint8_t i = 0; i <EMOJI_COUNT (example); ++ i) {matrix.displayFrames (EMOJI (pavyzdys, i), INTERVAL, false, 1); uždelsimas (INTERVAL); }}}
Spustelėkite „Įkelti“mygtuką „Arduino IDE“, kad įkeltumėte programą į „Seeeduino“, ir pabandykite į vandens jutiklį įdėti ką nors šlapio, kad pamatytumėte, kas atsitiks.
SVARBU:
Šioje versijoje RGB LED matricos programinė įranga, jei norite pasidaryti savo atvaizdą naudodami UNO seriją, turite pakeisti arduino failą. Jei naudosite mega ar lotosą, pakeitimo nereikės.
Raskite „arduino“sąrankos aplanką „Arduino“aparatinė įranga „arduino“avr / bibliotekos „Wire / src“, atidarykite „Wire.h“failą
keistis
#define BUFFER_LENGTH 32
į
128
Tada suraskite „arduino“sąrankos aplanką „Arduino hardware“arduino „avr“bibliotekos „Wire / src“, atidarykite „twi.h“failą.
keistis
#define TWI_BUFFER_LENGTH 32
į
128