Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Autor: Seeed Studio
Teave: Tere, oleme Seeedis rakendusinsenerid. Projektide jagamine tegijate kogukonnaga on fantastiline. Loodan, et teile meeldib see
Sõbrapäev on tulemas, kas kohtute kellegagi, kes armus esimesest silmapilgust?
Samm: selles projektis kasutatud asjad
Riistvara komponendid
- Seeeduino V4.2
- Aluskilp V2
- Grove - RGB LED -maatriks draiveriga
- Grove - Veeandur
Tarkvararakendused ja võrguteenused
Arduino IDE
Samm: riistvaraühendus
Selles projektis kasutame vee tuvastamiseks veeandurit, vee olemasolul kuvatakse pekslev süda RGB LED -maatriksis.
Selle efekti saavutamiseks peate ühendama Grove - veeanduri Base Shieldi D2 -pordiga ja ühendama ka Grove - RGB LED -maatriksi selles oleva I2C -pordiga. Seejärel ühendage Base Shield Seeeduinoga, nagu ülaltoodud pildil.
Samm: tarkvara programmeerimine
RGB LED -maatriksi kasutamiseks oma programmis peate lisama selle raamatukogu oma Arduino IDE -sse. Raamatukogu saab alla laadida aadressilt
Nähtud_RGB_LED_maatriks
Pärast teegi lisamist lisage koodisse maatriksi päisefail:
#include "grove_two_rgb_led_matrix.h"
Makrode määratlemine on hea harjumus, see võib muuta teie koodi lugemise või muutmise lihtsamaks. Näiteks saate määrata makrosid, mis näitavad, millise pordiga veeandur on ühendatud või millist kiirust peaks pekslev süda näitama.
#define SENSOR_PIN 2
#defineeri INTERVAL 500
Kui kõik on tehtud, kuulutage maatriksi eksemplar hilisemaks kasutamiseks.
GroveTwoRGBLedMatrixClass maatriks;
Ja klõpsake siin, et saada pildiredaktor oma piltide loomiseks. Kui valite värviribal värvi, joonistamiseks joonistamisalal punktid klõpsates ja joonistusala all nuppu Uuenda või Lisa vajutades teisendatakse teie pilt koodiks ja kuvatakse paremal asuvas kastis.
Minu pilt näeb välja nagu allpool. Saate selle koodi oma projektile kopeerida ja seejärel kodeerides neid RGB LED -maatriksis näidata.
Seadistus () protseduur käivitatakse üks kord, kui teie programm käivitub, seega lähtestame selles maatriksi ja veeanduri tihvti.
tühine seadistus () {
Wire.begin (); pinMode (SENSR_PIN, INPUT); WAIT_MATRIX_READY (); }
Tsükli () protseduur töötab korduvalt, nii et me kasutame seda, et tuvastada, kas vett on või mitte, järgides järgmist koodi:
if (digitalRead (SENSOR_PIN) == LOW) {
}
Kui veeandur annab väljundi LOW, tähendab see, et seal on vett, nii et pekslev süda tuleks kuvada RGB LED -maatriksis
for (uint8_t i = 0; i <EMOJI_COUNT (näide); ++ i) {matrix.displayFrames (EMOJI (näide, i), INTERVAL, false, 1); viivitus (INTERVAL); }
Lõppenud silmuse () protseduur näeb välja nagu allpool ja täieliku koodi saate alla laadida selle artikli lõpus.
void loop () {
if (digitalRead (SENSOR_PIN) == LOW) {jaoks (uint8_t i = 0; i <EMOJI_COUNT (näide); ++ i) {matrix.displayFrames (EMOJI (näide, i), INTERVAL, false, 1); viivitus (INTERVAL); }}}
Programmi Seeeduinosse üleslaadimiseks klõpsake Arduino IDE -s nuppu Laadi üles ja proovige veeandurile midagi märjaks teha, et näha, mis juhtub.
TÄHTIS:
Selles versioonis on RGB LED -maatriksi püsivara, kui soovite oma pilti teha UNO -seeria abil, peate muutma arduino faili. Kui kasutate mega või lootost, pole muudatust vaja.
Leidke arduino seadistuskaust Arduino / hardware / arduino / avr / libraries / Wire / src, avage fail Wire.h
muutus
#define BUFFER_LENGTH 32
sisse
#define BUFFER_LENGTH 128
Seejärel otsige üles arduino seadistuskaust Arduino / hardware / arduino / avr / libraries / Wire / src / Utility, avage fail twi.h.
muutus
#define TWI_BUFFER_LENGTH 32
sisse
#defineeri TWI_BUFFER_LENGTH 128