În acest proiect vom interfața 5 LED-uri RGB (Roșu Verde Albastru) cu Arduino Uno. Aceste LED-uri sunt conectate în paralel pentru reducerea utilizării PIN a Uno.
Un LED tipic RGB este prezentat în figura de mai jos:
LED-ul RGB va avea patru pini așa cum se arată în figură.
PIN1: Terminal negativ de culoare 1 sau terminal pozitiv de culoare 1
PIN2: pozitiv comun pentru toate cele trei culori sau negativ comun pentru toate cele trei culori
PIN3: Terminal negativ de culoare 2 sau terminal pozitiv de culoare 2
PIN4: terminal negativ de culoare 3 sau terminal pozitiv de culoare 3
Deci, există două tipuri de LED-uri RGB, unul este tip catod comun (negativ comun) și altul este tip anod comun (pozitiv comun). În CC (catod comun sau negativ comun), vor exista trei terminale pozitive fiecare terminal reprezentând o culoare și un terminal negativ reprezentând toate cele trei culori. Circuitul intern al unui LED CC RGB poate fi reprezentat ca mai jos.
Dacă dorim ca RED să fie aprins mai sus, trebuie să alimentăm pinul cu LED-uri RED și să împământăm negativul comun. Același lucru este valabil pentru toate LED-urile. În CA (Common Anode sau Common Positive), vor exista trei terminale negative fiecare terminal reprezentând o culoare și un terminal pozitiv reprezentând toate cele trei culori. Circuitul intern al unui LED CA RGB poate fi reprezentat așa cum se arată în figura..
Dacă vrem ca RED să fie aprins mai sus, trebuie să punem la masă pinul LED-ului RED și să alimentăm pozitivul comun. Același lucru este valabil pentru toate LED-urile.
În circuitul nostru vom folosi tipul CA (anod comun sau pozitiv comun). Pentru conectarea a 5 LED-uri RGB la Arduino, avem nevoie de 5x4 = 20 PIN-uri, de obicei, vom reduce această utilizare a PIN-ului la 8 prin conectarea LED-urilor RGB în paralel și folosind o tehnică numită multiplexare.
Componente
Hardware: UNO, sursă de alimentare (5v), rezistor 1KΩ (3 bucăți), LED RGB (roșu verde albastru) (5 bucăți)
Software: Atmel studio 6.2 sau Aurdino noaptea.
Circuit și explicație de lucru
Conexiunea circuitului pentru interfața LED RGB Arduino este prezentată în figura de mai jos.
Acum, pentru partea dificilă, spuneți că dorim să rotim ledul ROȘU în SET1 și LED-ul VERDE în SET2. Alimentăm PIN8 și PIN9 ale UNO și împământăm PIN7, PIN6.
Cu acest flux vom avea RED în primul SET și VERDE în al doilea SET ON, dar vom avea VERDE în SET1 și RED în SET2 ON cu el. Prin simplă analogie, putem vedea că toate cele patru LED-uri închid circuitul cu configurația de mai sus și astfel strălucesc toate.
Deci, pentru a elimina această problemă, vom activa doar un SET pe rând. Spuneți la t = 0m SEC, SET1 este acordat ON. La t = 1m SEC, SET1 este dezactivat și SET2 este pornit. Din nou la t = 6m SEC, SET5 este oprit și SET1 este pornit. Acest lucru continuă.
Aici trucul este că ochiul uman nu poate capta o frecvență mai mare de 30 HZ. Asta dacă un LED se aprinde și se stinge continuu la o rată de 30HZ sau mai mult. Ochiul vede LED-ul continuu aprins. Cu toate acestea, acest lucru nu este cazul. LED-ul se aprinde și se stinge constant. Această tehnică se numește multiplexare.
Pur și simplu vorbim, vom alimenta fiecare catod comun de 5 SETs 1milli secundă, așa că în 5milli secundă vom fi terminat ciclul, după care ciclul începe din nou din SET1, acest lucru continuă pentru totdeauna. Deoarece LED-urile SET se aprind și se sting prea repede. Omul prezice că toate SET-urile sunt ACTIVE tot timpul.
Deci, atunci când alimentăm SET1 la t = 0 mili secundă, punem la masă pinul RED. La t = 1 mili secundă, alimentăm SET2 și împământăm știftul VERDE (în acest moment ROȘUL și ALBASTRUL sunt ridicate în sus) Bucla merge rapid și ochiul vede strălucirea roșie în FIRST SET și GREEN strălucire în SECOND SET.
Acesta este modul în care programăm un LED RGB, vom străluci încet toate culorile în program pentru a vedea cum funcționează multiplexarea.