Cuprins:

Iluminează-ți Valentine-ul cu matricea RGB sclipitoare: 3 pași
Iluminează-ți Valentine-ul cu matricea RGB sclipitoare: 3 pași

Video: Iluminează-ți Valentine-ul cu matricea RGB sclipitoare: 3 pași

Video: Iluminează-ți Valentine-ul cu matricea RGB sclipitoare: 3 pași
Video: Periferice de top, vă ROG. 2024, Noiembrie
Anonim

De Seeed StudioSeeed Follow More de către autor:

Detector portabil de mână pentru interior (pentru scop Covid-19)
Detector portabil de mână pentru interior (pentru scop Covid-19)
Detector portabil de mână pentru interior (pentru scop Covid-19)
Detector portabil de mână pentru interior (pentru scop Covid-19)
Jucați microfonul analogic Grove cu terminalul Wio
Jucați microfonul analogic Grove cu terminalul Wio
Jucați microfonul analogic Grove cu terminalul Wio
Jucați microfonul analogic Grove cu terminalul Wio
Grove - TF Mini LiDAR cu terminal Wio
Grove - TF Mini LiDAR cu terminal Wio
Grove - TF Mini LiDAR cu terminal Wio
Grove - TF Mini LiDAR cu terminal Wio

Despre: Howdy, suntem ingineri de aplicații în Seeed. Partajarea proiectelor cu comunitatea maker este minunată. Sper să vă placă XD Seeed este facilitatorul hardware IoT care oferă servicii care permit dezvoltatorilor IoT să rapidă … Mai multe despre Seeed Studio »

Ziua Îndrăgostiților vine, întâlnești pe cineva care s-a îndrăgostit la prima vedere?

Pasul 1: Lucruri utilizate în acest proiect

Componente hardware

  • Seeeduino V4.2
  • Scutul de bază V2
  • Grove - RGB LED Matrix cu driver
  • Grove - Senzor de apă

Aplicații software și servicii online

IDE Arduino

Pasul 2: Conexiune hardware

Conexiune hardware
Conexiune hardware

În acest proiect, folosim un senzor de apă pentru a detecta apa, dacă există apă, o inimă care va bate va fi afișată în matricea LED RGB.

Pentru a obține acest efect, trebuie să conectați Grove - senzor de apă la portul D2 din baza Shield și, de asemenea, conectați Grove - RGB LED Matrix la portul I2C din acesta. Apoi conectați Base Shield la Seeeduino, la fel ca în imaginea de mai sus.

Pasul 3: Programare software

Pentru a utiliza matricea LED RGB în program, trebuie să adăugați biblioteca la ID-ul dvs. Arduino. Biblioteca poate fi descărcată în

Seeed_RGB_LED_Matrix

După adăugarea bibliotecii, includeți fișierul antet al matricei în cod:

#include "grove_two_rgb_led_matrix.h"

Definirea macro-urilor este un obicei bun, vă poate face codul mai ușor de citit sau modificat. De exemplu, puteți defini macro-uri pentru a indica la ce port conectat senzorul de apă sau la ce viteză ar trebui să arate inima care bate.

#define SENSOR_PIN 2

#define INTERVAL 500

Când totul este gata, declarați o instanță matrice pentru utilizare ulterioară.

GroveTwoRGBLedMatrixClass matrice;

Și faceți clic aici pentru a obține editor de imagini pentru a vă crea propriile imagini. Alegând culoarea în bara de culori, făcând clic pe puncte în zona de desen pentru a desena și apăsând butonul Actualizare sau Inserare în partea de jos a zonei de desen, imaginea dvs. va fi convertită în cod și afișată în caseta din dreapta.

Imagine
Imagine

Imaginea mea arată ca mai jos. Puteți copia codul afișat în proiectul dvs. și apoi le puteți arăta în matricea LED RGB prin codificare.

Imagine
Imagine

Procedura setup () va fi rulată o dată când programul dvs. începe, așa că inițializăm matricea și pinul senzorului de apă în ea.

configurare nulă () {

Wire.begin (); pinMode (SENSR_PIN, INPUT); WAIT_MATRIX_READY (); }

Procedura loop () va rula în mod repetat, așa că o folosim pentru a detecta dacă există sau nu apă, urmând codul:

if (digitalRead (SENSOR_PIN) == LOW) {

}

Când senzorul de apă scoate LOW, înseamnă că există apă, astfel încât inima care bate trebuie să fie afișată în matricea LED RGB

for (uint8_t i = 0; i <EMOJI_COUNT (exemplu); ++ i) {matrix.displayFrames (EMOJI (exemplu, i), INTERVAL, false, 1); întârziere (INTERVAL); }

Procedura de buclă completată () arată ca mai jos și puteți descărca codul complet la sfârșitul acestui articol.

bucla nulă () {

if (digitalRead (SENSOR_PIN) == LOW) {for (uint8_t i = 0; i <EMOJI_COUNT (exemplu); ++ i) {matrix.displayFrames (EMOJI (exemplu, i), INTERVAL, false, 1); întârziere (INTERVAL); }}}

Faceți clic pe butonul Încărcare în Arduino IDE pentru a încărca programul dvs. în Seeeduino și încercați să puneți ceva umed pe senzorul de apă, vedeți ce se întâmplă.

IMPORTANT:

În această versiune firmware a matricei LED RGB, dacă doriți să vă creați propria imagine cu seria UNO, trebuie să modificați fișierul arduino. Dacă utilizați mega sau lotus, schimbarea nu va fi necesară.

Găsiți folderul de configurare arduino Arduino / hardware / arduino / avr / libraries / Wire / src, deschideți fișierul Wire.h

Schimbare

#define BUFFER_LENGTH 32

în

#define BUFFER_LENGTH 128

Apoi găsiți folderul de configurare arduino Arduino / hardware / arduino / avr / libraries / Wire / src / utility, deschideți fișierul twi.h.

Schimbare

#define TWI_BUFFER_LENGTH 32

în

#define TWI_BUFFER_LENGTH 128

Recomandat: