Cum să utilizați modulul LED RGB HW-478 și KY-009 cu Arduino Nano

Cum Sa Utilizati Modulul Led Rgb Hw 478 Si Ky 009 Cu Arduino Nano



Arduino Nano are la bord un cip ATmega328 care poate procesa codul Arduino. Arduino Nano are mai mulți pini GPIO cu ajutorul cărora putem interfața diferiți senzori, inclusiv LED-uri RGB. Prin trimiterea unui semnal PWM către pinul LED RGB putem genera o serie de culori diferite. Acest articol va acoperi integrarea LED-ului RGB cu placa Arduino Nano.

Introducere în LED-ul RGB

Un LED RGB este un tip de LED care este capabil să emită lumină în diferite culori prin amestecarea intensităților lungimilor de undă roșu, verde și albastru. Semnalul PWM (Pulse Width Modulation) poate fi utilizat pentru a crea mai multe culori prin ajustarea ciclului de lucru al semnalului PWM generat pentru cele trei culori primare.

Modul LED RGB

Sunt disponibile diferite module LED RGB precum HW-478, KY-016 și KY-009. Vom folosi HW-478 modul RGB. Principiile de lucru ale tuturor acestor module sunt aceleași.







HW-478 RGB modulul are următoarele specificații:



Specificații Valoare
Tensiune de operare 5V max
roșu 1,8 V – 2,4 V
Verde 2,8 V – 3,6 V
Albastru 2,8 V – 3,6 V
Curent de înaintare 20mA – 30mA
Temperatura de Operare -25°C până la 85°C [-13°F – 185°F]
Dimensiunile plăcii 18,5 mm x 15 mm [0,728 inchi x 0,591 inchi]

LED RGB HW-478 Pinout

Mai jos sunt cei 4 pini din modulul RGB:





Funcționarea LED-ului RGB

Un LED RGB este un tip de LED care poate emite trei culori diferite de lumină: roșu, verde și albastru. Principiul de funcționare al unui LED RGB cu Arduino implică utilizarea modulării lățimii impulsului (PWM) pentru a controla intensitatea fiecărei culori.



Prin ajustarea ciclului de lucru al semnalului PWM, Arduino poate modifica cantitatea de curent care curge prin fiecare LED, determinând LED-ul să emită o culoare diferită de lumină. De exemplu, dacă ciclul de funcționare al LED-ului roșu este setat la o valoare ridicată, LED-ul va emite o lumină roșie strălucitoare. Dacă ciclul de funcționare al LED-ului verde este setat la o valoare scăzută, LED-ul va emite o lumină verde slabă. Combinând intensitățile celor trei culori, Arduino poate crea o gamă largă de culori diferite.

Valoarea ciclului de lucru Arduino PWM variază între 0 și 255. Atribuind o valoare PWM oricărei culori, o putem seta ca luminoasă completă sau o putem opri complet. 0 corespunde LED-ului stins și 255 corespunde luminozității maxime.

Cum să afișați mai multe culori în LED RGB

Pentru a afișa mai multe culori, trebuie să definim valorile PWM pentru trei culori primare (RGB). Pentru a afișa orice culoare mai întâi trebuie să găsim codul culorii. Mai jos este lista de coduri de culoare pentru unele dintre culorile principale:

Pentru a găsi codul de culoare se poate folosi Selectorul de culori Google . Folosind acest instrument, putem obține și valoarea HEX RGB pentru culoarea respectivă.

Acum ne vom îndrepta către interfațarea LED-urilor RGB cu Arduino Nano.

Interfața LED RGB cu Arduino Nano

Pentru a interfața modulul LED RGB cu Arduino Nano sunt necesare următoarele componente:

  • Arduino Nano
  • Rezistor 3×220 Ohm (Ω).
  • Modul LED RGB HW-478
  • Fire jumper
  • Breadboard
  • Arduino IDE

Schematic
Imaginea dată reprezintă schema Arduino Nano cu LED RGB.

Hardware
Hardware-ul următor este proiectat pe o placă. La fiecare pin este conectat un rezistor pentru protecția circuitului LED.

Cod
Deschideți mediul integrat Arduino și încărcați codul dat pe placa Arduino Nano:

int greenPin = 2 , redPin = 3 , bluePin = 4 ; /* Pini LED RGB definiți */
anulează configurarea ( ) {
 pinMode ( redPin, IEȘIRE ) ; /* Ace roșu definit la fel de ieșire */
 pinMode ( greenPin, IEȘIRE ) ; /* Pin verde definit la fel de ieșire */
 pinMode ( bluePin, IEȘIRE ) ; /* Acul albastru definit la fel de ieșire */
}
buclă goală ( ) {
RGB_ieșire ( 255 , 0 , 0 ) ; // Setați culoarea RGB la roșu
întârziere ( 1000 ) ;
RGB_ieșire ( 0 , 255 , 0 ) ; // Setați culoarea RGB la var
întârziere ( 1000 ) ;
RGB_ieșire ( 0 , 0 , 255 ) ; // Setați culoarea RGB la albastru
întârziere ( 1000 ) ;
RGB_ieșire ( 255 , 255 , 255 ) ; // Setați culoarea RGB la alb
întârziere ( 1000 ) ;
RGB_ieșire ( 128 , 0 , 0 ) ; // Setați culoarea RGB la maro
întârziere ( 1000 ) ;
RGB_ieșire ( 0 , 128 , 0 ) ; // Setați culoarea RGB la verde
întârziere ( 1000 ) ;
RGB_ieșire ( 128 , 128 , 0 ) ; // Setați culoarea RGB la măsliniu
întârziere ( 1000 ) ;
RGB_ieșire ( 0 , 0 , 0 ) ; // Setați culoarea RGB la negru
întârziere ( 1000 ) ;
}
void RGB_output ( int redLight, int greenLight, int blueLight )
{
analogWrite ( redPin, redlight ) ; // scrie valori analogice la RGB
analogWrite ( greenPin, greenlight ) ;
analogWrite ( bluePin, blueLight ) ;
}

Primii pini RGB sunt inițializați pentru trimiterea semnalului PWM. Pinul digital 2 este inițializat pentru culoarea verde și, în mod similar, D2 și D3 sunt inițializați pentru culoarea roșie și albastră.

În partea buclă a codului sunt definite diferite culori folosind valoarea lor HEX RGB. Fiecare dintre aceste valori descrie un semnal PWM.

Următorul în void RGB_output() funcție am trecut 3 numere întregi care stabilesc culori diferite pe lumina RGB. De exemplu, pentru culoarea albă trebuie să trecem 255 în fiecare dintre cei trei parametri. Fiecare culoare primară roșu, albastru și verde va fi strălucitoare la valoarea sa maximă, ca rezultat, dându-ne culoarea albă la ieșire.

Ieșire
După încărcarea codului, vom vedea culori diferite pe LED-ul RGB. Imaginea de mai jos ne arată culoarea ROȘU.

Această imagine reprezintă culoarea verde.

Am interfațat modulul LED RGB cu Arduino Nano.

Concluzie

Arduino Nano este o placă compactă care poate fi integrată cu diferiți senzori. Aici am folosit un LED RGB cu Arduino Nano și l-am programat pentru a afișa mai multe culori folosind un semnal PWM de la un pin digital Arduino Nano. Pentru mai multe descriere a RGB, citiți articolul.