Cuprins:
- Pasul 1: Componente
- Pasul 2: Alimentarea benzii RGB cu tranzistoare și o sursă de alimentare
- Pasul 3: Controlul culorilor benzii LED RGB
- Pasul 4: Controlați culoarea benzii LED RGB în funcție de citirea senzorului
- Pasul 5: Codul final
- Pasul 6: Ești gata
Video: Termometru RGB folosind PICO: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Acesta a fost rezultatul final al efortului nostru de astăzi. Este un termometru care vă va anunța cât de cald este în camera dvs., utilizând o bandă LED RGB plasată într-un recipient acrilic, care este conectat la un senzor de temperatură pentru a citi temperatura. Și vom folosi PICO pentru a da viață acestui proiect.
Pasul 1: Componente
- PICO, disponibil pe mellbell.cc (17 USD)
- Banda LED RGB de 1 metru
- 3 tranzistor TIP122 Darlington, un pachet de 10 pe eBay (3,31 USD)
- 1 driver PCA9685 pe 16 canale pe 12 biți PWM, disponibil pe eBay (2,12 USD)
- Sursa de alimentare 12v
- 3 rezistențe de 1k ohm, un pachet de 100 pe eBay (0,99 USD)
- Un panou de verificare, disponibil pe eBay (2,30 USD)
- Sârmă jumper masculin - feminin, un pachet de 40 pe eBay (0,95 USD)
Pasul 2: Alimentarea benzii RGB cu tranzistoare și o sursă de alimentare
Benzile cu LED-uri sunt plăci de circuite flexibile care sunt populate cu LED-uri. Acestea sunt utilizate în mai multe moduri, deoarece le puteți folosi în casă, mașină sau bicicletă. Puteți chiar să creați articole portabile RGB cool folosindu-le.
Deci, cum funcționează? De fapt, este destul de simplu. Toate LED-urile din banda LED sunt conectate în paralel și acționează ca un LED RGB uriaș. Și pentru al rula, trebuie pur și simplu să conectați banda la o sursă de curent mare de 12v.
Pentru a controla banda LED cu un microcontroler, trebuie să separați sursa de alimentare de sursa de control. Deoarece banda LED are nevoie de 12v, iar microcontrolerul nostru nu poate oferi o tensiune de ieșire atât de mare și de aceea conectăm o sursă externă de curent mare de 12v, în timp ce trimitem semnalele de control de la PICO.
De asemenea, atragerea actuală a fiecărei celule RGB este ridicată, deoarece fiecare LED din acesta - LED-urile roșu, verde și albastru - au nevoie de 20mA pentru a funcționa, ceea ce înseamnă că avem nevoie de 60mA pentru a rula pentru a aprinde o singură celulă RGB. Și acest lucru este foarte problematic, deoarece pinii GPIO pot furniza maximum 40mA pe pin, iar conectarea directă a benzii RGB la PICO o va arde, așa că vă rugăm să nu o faceți.
Dar există o soluție și se numește Darlington Transistor, care este o pereche de tranzistoare care are un câștig de curent foarte mare, care ne va ajuta să ne creștem curentul pentru a ne satisface nevoile.
Să aflăm mai întâi mai multe despre câștigul actual. Câștigul de curent este o proprietate a tranzistoarelor, ceea ce înseamnă că curentul care trece prin tranzistor va fi multiplicat cu acesta, iar ecuația acestuia arată astfel:
curent de încărcare = curent de intrare * câștig tranzistor.
Acest lucru este și mai puternic într-un tranzistor Darlington, deoarece este o pereche de tranzistori, nu unul singur, iar efectele lor sunt înmulțite unul cu celălalt, oferindu-ne câștiguri masive de curent.
Acum vom conecta banda LED la sursa noastră externă de energie, tranzistorul și, bineînțeles, la PICO.
- Baza (tranzistor) → D3 (PICO)
- Colector (tranzistor) → B (bandă LED)
- Emițător (tranzistor) → GND
- +12 (bandă LED) → +12 (sursă de alimentare)
Nu uitați să conectați GND-ul PICO la sursa de alimentare la masă
Pasul 3: Controlul culorilor benzii LED RGB
Știm că PICO are un singur pin PWM (D3), ceea ce înseamnă că nu poate controla în mod nativ cele 16 LED-uri. Acesta este motivul pentru care prezentăm modulul PCA9685 pe 16 canale PWM I2C pe 16 biți, care ne permite să extindem pinii PWM PICO.
În primul rând, ce este I2C?
I2C este un protocol de comunicare care implică doar 2 fire pentru a comunica cu unul sau mai multe dispozitive adresând adresa dispozitivului și ce date să trimită.
Există două tipuri de dispozitive: primul este dispozitivul master, care este cel responsabil de trimiterea datelor, iar celălalt este dispozitivul slave, care primește datele. Iată pin out-urile modulului PCA9685:
- VCC → Aceasta este puterea pentru placa pe care o are. 3-5v max.
- GND → Acesta este pinul negativ și trebuie conectat la GND pentru a finaliza circuitul.
- V + → Acesta este un pin de alimentare opțional care va furniza energie servoarelor dacă aveți oricare dintre ele conectate la modulul dvs. Puteți să-l lăsați deconectat dacă nu utilizați servere.
- SCL → Pin ceas serial și îl conectăm la SCL de la PICO.
- SDA → Serial Data pin și îl conectăm la SDA din PICO.
- OE → pin activat pentru ieșire, acest pin este activ LOW, când pinul este LOW toate ieșirile sunt activate, când este HIGH toate ieșirile sunt dezactivate. Și acest pin opțional este utilizat pentru a activa sau dezactiva rapid pinii modulului.
Există 16 porturi, fiecare port are V +, GND, PWM. Fiecare pin PWM rulează complet independent și sunt configurate pentru servos, dar le puteți folosi cu ușurință pentru LED-uri. Fiecare PWM poate gestiona 25mA de curent, deci fiți atenți.
Acum, că știm care sunt pinii modulului nostru și ce face, îl putem folosi pentru a crește numărul pinilor PWM PICO, astfel încât să putem controla banda LED RGB.
Vom folosi acest modul împreună cu tranzistoarele TIP122 și acesta este modul în care ar trebui să le conectați la PICO:
- VCC (PCA9685) → VCC (PICO).
- GND (PCA9685) → GND.
- SDA (PCA9685) → D2 (PICO).
- SCL (PCA9685) → D3 (PICO).
- PWM 0 (PCA9685) → BASE (primul TIP122).
- PWM 1 (PCA9685) → BASE (al doilea TIP122).
- PWM 2 (PCA9685) → BASE (al treilea TIP122).
Nu uitați să conectați GND-ul PICO la GND-ul sursei de alimentare. Și asigurați-vă că NU conectați pinul PCA9685 VCC cu +12 volți ai sursei de alimentare sau se va deteriora
Pasul 4: Controlați culoarea benzii LED RGB în funcție de citirea senzorului
Acesta este ultimul pas al acestui proiect și, odată cu acesta, proiectul nostru se va transforma din a fi „prost” în a fi inteligent și a avea capacitatea de a se comporta în funcție de mediul său. Pentru a face acest lucru, vom conecta PICO cu senzorul de temperatură LM35DZ.
Acest senzor are o tensiune de ieșire analogică care depinde de temperatura din jurul său. Începe la 0v corespunzător cu 0 Celsius, iar tensiunea crește cu 10mV pentru fiecare grad peste 0c. Această componentă este foarte simplă și are doar 3 picioare și sunt conectate după cum urmează:
- VCC (LM35DZ) → VCC (PICO)
- GND (LM35DZ) → GND (PICO)
- Ieșire (LM35DZ) → A0 (PICO)
Pasul 5: Codul final
Acum, că avem totul conectat la PICO, să începem să îl programăm astfel încât LED-urile să schimbe culoarea în funcție de temperatură.
Pentru aceasta, avem nevoie de următoarele:
O const. variabilă numită "tempSensor" cu valoarea A0 care își primește citirea de la senzorul de temperatură
O variabilă întreagă numită "sensorReading" cu valoarea inițială 0. Aceasta este variabila care va salva citirea senzorului brut
O variabilă plutitoare numită „volți” cu valoarea inițială 0. Aceasta este variabila care va salva valoarea de citire brută a senzorului convertit în volți
O variabilă plutitoare numită „temp” cu valoarea inițială 0. Aceasta este variabila care va salva valorile convertite ale senzorului și le va converti în temperatură
O variabila Integer numita "mapata" cu valoarea initiala 0. Aceasta va salva valoarea PWM in care mapam variabila temp, iar aceasta variabila controleaza culoarea benzii LED
Folosind acest cod, PICO va citi datele senzorului de temperatură, le va converti în volți, apoi în Celsius și, în cele din urmă, mapează gradul Celsius într-o valoare PWM care poate fi citită de banda noastră LED, și exact asta avem nevoie.
Pasul 6: Ești gata
De asemenea, am realizat un recipient acrilic pentru banda LED, pentru ao face să se ridice într-un mod frumos. Puteți găsi fișierele CAD aici dacă doriți să le descărcați.
Acum aveți un termometru LED cu aspect minunat, care vă spune automat temperatura atunci când îl priviți, ceea ce este destul de convenabil pentru a spune cel puțin: P
Lăsați un comentariu dacă aveți sugestii sau feedback și nu uitați să ne urmăriți pe Facebook sau să ne vizitați pe mellbell.cc pentru conținut mai minunat.
Recomandat:
Cum se face un termometru folosind Arduino și LM35: 6 pași
Cum să faci un termometru folosind Arduino și LM35: Astăzi îți voi arăta cum să faci un termometru cu senzor de temperatură Arduino și LM35, afișaj LCD, pe o placă de conectare conectată împreună cu fire. Va arăta temperatura în grade Celsius și Fahrenheit. Observat
Termometru de cameră DIY folosind un modul OLED: 7 pași (cu imagini)
Termometru de cameră DIY folosind un modul OLED: învățăm cum să construim un termometru de cameră folosind senzorul DS18B20 și un modul OLED. Folosim un Piksey Pico ca placă principală, dar schița este compatibilă și cu plăcile Arduino UNO și Nano, astfel încât să le puteți folosi și pe acestea
Utilizați smartphone-ul ca termometru fără contact / termometru portabil: 8 pași (cu imagini)
Utilizați telefonul inteligent ca termometru fără contact / termometru portabil: măsurarea temperaturii corpului cu un contact fără contact / ca un pistol termic. Am creat acest proiect deoarece Thermo Gun este acum foarte scump, așa că trebuie să primesc o alternativă pentru a face DIY. Și scopul este de a face cu versiune cu buget redus. Furnizează MLX90614Ardu
Termometru digital DHT11 folosind ESP8266: 4 pași
Termometru digital DHT11 Utilizarea ESP8266: În articolul anterior am discutat deja despre DH11 și despre modul de afișare a acestuia pe dispozitive de ieșire precum 7 segmente, LCD, monitor serial și inel RGB. Și în acest articol vă voi arăta cum să monitorizați temperatura și umiditatea folosind un browser pe un telefon mobil
Termometru cu infraroșu fără contact pe bază de Arduino - Termometru IR folosind Arduino: 4 pași
Termometru cu infraroșu fără contact pe bază de Arduino | Termometru bazat pe IR folosind Arduino: Bună băieți, în acest instructables vom face un termometru fără contact folosind arduino. temperatura atunci în acel scenariu