Cuprins:

Termometru RGB folosind PICO: 6 pași
Termometru RGB folosind PICO: 6 pași

Video: Termometru RGB folosind PICO: 6 pași

Video: Termometru RGB folosind PICO: 6 pași
Video: 1425-IT Sabrina, CRYSTAL BUSTER - Ipnosi Esoterica ∞ Lucio Carsi 2024, Noiembrie
Anonim
Image
Image

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

Alimentarea benzii RGB cu tranzistoare și o sursă de alimentare
Alimentarea benzii RGB cu tranzistoare și o sursă de alimentare
  • 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

Alimentarea benzii RGB cu tranzistoare și o sursă de alimentare
Alimentarea benzii RGB cu tranzistoare și o sursă de alimentare
Alimentarea benzii RGB cu tranzistoare și o sursă de alimentare
Alimentarea benzii RGB cu tranzistoare și o sursă de alimentare
Alimentarea benzii RGB cu tranzistoare și o sursă de alimentare
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

Controlul culorilor benzii LED RGB
Controlul culorilor benzii LED RGB
Controlul culorilor benzii LED RGB
Controlul culorilor benzii LED RGB
Controlul culorilor benzii LED RGB
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

Controlați culoarea benzii LED RGB în funcție de citirea senzorului
Controlați culoarea benzii LED RGB în funcție de citirea senzorului
Controlați culoarea benzii LED RGB în funcție de citirea senzorului
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

Codul final
Codul final
Codul final
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

Image
Image

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: