Turinys:

RGB termometras naudojant PICO: 6 žingsniai
RGB termometras naudojant PICO: 6 žingsniai

Video: RGB termometras naudojant PICO: 6 žingsniai

Video: RGB termometras naudojant PICO: 6 žingsniai
Video: Модель Tesla Motors Модель S / X: Нагнетание батареи на 60 кВт от мертвых, 105 кВт !!! 2024, Lapkritis
Anonim
Image
Image

Tai buvo galutinis mūsų šiandienos pastangų rezultatas. Tai termometras, kuris leis jums žinoti, kaip šilta jūsų kambaryje, naudojant RGB LED juostą, įdėtą į akrilo indą, prijungtą prie temperatūros jutiklio, kad būtų galima nuskaityti temperatūrą. Ir mes naudosime PICO, kad įgyvendintume šį projektą.

1 žingsnis: komponentai

RGB juostos maitinimas tranzistoriais ir maitinimo šaltiniu
RGB juostos maitinimas tranzistoriais ir maitinimo šaltiniu
  • PICO, galima rasti mellbell.cc (17 USD)
  • 1 metro RGB LED juostelė
  • 3 TIP122 Darlingtono tranzistorius, 10 paketas „ebay“(3,31 USD)
  • 1 PCA9685 16 kanalų 12 bitų PWM tvarkyklė, prieinama „ebay“(2,12 USD)
  • 12v maitinimo šaltinis
  • 3 1k omų rezistoriai, 100 paketas „ebay“(0,99 USD)
  • Duonos lenta, prieinama „ebay“(2,30 USD)
  • Vyras - moteriški megztiniai laidai, 40 paketas „ebay“(0,95 USD)

2 žingsnis: RGB juostos maitinimas tranzistoriais ir maitinimo šaltiniu

RGB juostos maitinimas tranzistoriais ir maitinimo šaltiniu
RGB juostos maitinimas tranzistoriais ir maitinimo šaltiniu
RGB juostos maitinimas tranzistoriais ir maitinimo šaltiniu
RGB juostos maitinimas tranzistoriais ir maitinimo šaltiniu
RGB juostos maitinimas tranzistoriais ir maitinimo šaltiniu
RGB juostos maitinimas tranzistoriais ir maitinimo šaltiniu

LED juostos yra lanksčios plokštės, kuriose yra šviesos diodų. Jie naudojami įvairiais būdais, nes galite juos naudoti namuose, automobilyje ar dviračiu. Naudodami juos netgi galite sukurti šaunių nešiojamų RGB.

Taigi, kaip jie veikia? Iš tikrųjų tai gana paprasta. Visi šviesos diodų juostos šviesos diodai yra sujungti lygiagrečiai ir veikia kaip vienas didžiulis RGB šviesos diodas. Norėdami jį paleisti, tiesiog reikia prijungti juostą prie 12 V didelės srovės maitinimo šaltinio.

Norėdami valdyti LED juostelę mikrovaldikliu, turite atskirti maitinimo šaltinį nuo valdymo šaltinio. Kadangi šviesos diodų juostai reikia 12 V įtampos, o mūsų mikrovaldiklis negali pasiūlyti tiek išėjimo įtampos, todėl mes prijungiame išorinį 12 V didelės srovės maitinimo šaltinį, siunčiant valdymo signalus iš mūsų PICO.

Be to, dabartinė kiekvieno RGB elemento vertė yra didelė, nes kiekvienam jo šviesos diodui - raudoniems, žaliems ir mėlyniems šviesos diodams - reikia 20 mA, kad veiktų, o tai reiškia, kad mums reikia 60 mA, kad apšviestų vieną RGB elementą. Ir tai yra labai problematiška, nes mūsų GPIO kaiščiai gali tiekti ne daugiau kaip 40 mA vienam kaiščiui, o tiesiogiai prijungus RGB juostelę prie PICO, todėl nedarykite to.

Tačiau yra sprendimas ir jis vadinamas Darlingtono tranzistoriumi, kuris yra tranzistorių pora, turinti labai didelį srovės stiprumą, o tai padės padidinti mūsų srovę, kad patenkintume mūsų poreikius.

Pirmiausia sužinokime daugiau apie dabartinį pelną. Srovės stiprinimas yra tranzistorių savybė, o tai reiškia, kad srovė, einanti per tranzistorių, bus padauginta iš jos, o jos lygtis atrodo taip:

apkrovos srovė = įėjimo srovė * tranzistoriaus padidėjimas.

Tai dar stipresnis Darlingtono tranzistoriuje, nes tai yra ne vienas tranzistorių pora, o jų poveikis dauginamas vienas nuo kito, suteikiant mums didžiulį srovės pelną.

Dabar mes prijungsime LED juostą prie išorinio maitinimo šaltinio, tranzistoriaus ir, žinoma, prie mūsų PICO.

  • Bazė (tranzistorius) → D3 (PICO)
  • Kolektorius (tranzistorius) → B (LED juostelė)
  • Emiteris (tranzistorius) → GND
  • +12 (LED juostelė) → +12 (maitinimo šaltinis)

Nepamirškite prijungti PICO GND prie maitinimo šaltinių įžeminimo

3 žingsnis: RGB šviesos diodų juostos spalvų valdymas

RGB LED juostos spalvų valdymas
RGB LED juostos spalvų valdymas
RGB LED juostos spalvų valdymas
RGB LED juostos spalvų valdymas
RGB LED juostos spalvų valdymas
RGB LED juostos spalvų valdymas

Mes žinome, kad mūsų PICO turi vieną PWM kaištį (D3), o tai reiškia, kad jis negali natūraliai valdyti mūsų 16 šviesos diodų. Štai kodėl pristatome PCA9685 16 kanalų 12 bitų PWM I2C modulį, kuris leidžia išplėsti PICO PWM kaiščius.

Visų pirma, kas yra I2C?

„I2C“yra ryšio protokolas, kurį sudaro tik 2 laidai, skirti bendrauti su vienu ar daugiau įrenginių, nurodant įrenginio adresą ir kokius duomenis siųsti.

Yra du prietaisų tipai: pirmasis yra pagrindinis įrenginys, kuris yra atsakingas už duomenų siuntimą, o kitas - pavaldus įrenginys, kuris priima duomenis. Štai PCA9685 modulio kaiščiai:

  • VCC → Tai pati plokštės galia. Maks. 3-5v
  • GND → Tai yra neigiamas kaištis, ir jis turi būti prijungtas prie GND, kad užbaigtų grandinę.
  • V+ → Tai yra pasirenkamas maitinimo kaištis, kuris maitins servus, jei kuris nors iš jų yra prijungtas prie jūsų modulio. Jei nenaudojate jokių servo, galite jį atjungti.
  • SCL → Serijinis laikrodžio kaištis, ir mes jį prijungiame prie PICO SCL.
  • SDA → Serial Data pin, ir mes prijungiame jį prie PICO SDA.
  • OE → išvesties įjungtas kaištis, šis kaištis yra aktyvus LOW, kai kaištis yra LOW, visi išėjimai yra įjungti, kai jis yra HIGH, visi išėjimai yra išjungti. Šis papildomas kaištis naudojamas greitai įjungti arba išjungti modulio kaiščius.

Yra 16 prievadų, kiekvienas prievadas turi V+, GND, PWM. Kiekvienas PWM kaištis veikia visiškai nepriklausomai ir yra nustatytas servo sistemoms, tačiau jūs galite lengvai juos naudoti šviesos diodams. Kiekvienas PWM gali valdyti 25 mA srovę, todėl būkite atsargūs.

Dabar, kai žinome, kokie yra mūsų modulio kaiščiai ir ką jie daro, galime jį naudoti, kad padidintume PICO PWM kaiščių skaičių, kad galėtume valdyti savo RGB LED juostą.

Šį modulį naudosime kartu su TIP122 tranzistoriais, ir taip turėtumėte juos prijungti prie savo PICO:

  • VCC (PCA9685) → VCC (PICO).
  • GND (PCA9685) → GND.
  • SDA (PCA9685) → D2 (PICO).
  • SCL (PCA9685) → D3 (PICO).
  • PWM 0 (PCA9685) → BASE (pirmasis TIP122).
  • PWM 1 (PCA9685) → BASE (antrasis TIP122).
  • PWM 2 (PCA9685) → BASE (trečiasis TIP122).

Nepamirškite prijungti PICO GND prie maitinimo šaltinio GND. Ir įsitikinkite, kad NĖRA prijungtas PCA9685 VCC kaištis prie maitinimo šaltinio +12 voltų, kitaip jis bus pažeistas

4 žingsnis: valdykite RGB šviesos diodų juostos spalvą, priklausomai nuo jutiklio rodmenų

Kontroliuokite RGB LED juostelės spalvą, priklausomai nuo jutiklio rodmenų
Kontroliuokite RGB LED juostelės spalvą, priklausomai nuo jutiklio rodmenų
Kontroliuokite RGB LED juostos spalvą, priklausomai nuo jutiklio rodmenų
Kontroliuokite RGB LED juostos spalvą, priklausomai nuo jutiklio rodmenų

Tai paskutinis šio projekto žingsnis ir kartu su juo mūsų projektas iš „kvailo“virs protingu ir sugebės elgtis priklausomai nuo aplinkos. Norėdami tai padaryti, mes prijungsime savo PICO prie temperatūros jutiklio LM35DZ.

Šis jutiklis turi analoginę išėjimo įtampą, kuri priklauso nuo aplinkos temperatūros. Jis prasideda nuo 0 V, atitinkančio 0 Celsijaus, ir įtampa padidėja 10 mV kiekvienam laipsniui virš 0C. Šis komponentas yra labai paprastas ir turi tik 3 kojas, ir jie yra sujungti taip:

  • VCC (LM35DZ) → VCC (PICO)
  • GND (LM35DZ) → GND (PICO)
  • Išėjimas (LM35DZ) → A0 (PICO)

5 žingsnis: galutinis kodas

Galutinis kodeksas
Galutinis kodeksas
Galutinis kodeksas
Galutinis kodeksas

Dabar, kai viskas yra prijungta prie mūsų PICO, pradėkime jį programuoti, kad šviesos diodai keistų spalvą priklausomai nuo temperatūros.

Tam mums reikia šių dalykų:

A konst. kintamasis, pavadintas „tempSensor“, kurio vertė yra A0, kuri nuskaito iš temperatūros jutiklio

Sveikasis skaičius kintamasis „sensorReading“, kurio pradinė vertė yra 0. Tai kintamasis, kuris išsaugos neapdorotą jutiklio rodmenį

Plūdinis kintamasis, pavadintas „voltais“, kurio pradinė vertė yra 0. Tai kintamasis, kuris išsaugos konvertuotą jutiklio neapdorotą skaitymo vertę voltais

Plūdinis kintamasis, pavadintas „temp“, kurio pradinė vertė yra 0. Tai kintamasis, kuris išsaugos konvertuotus jutiklio voltų rodmenis ir pavers juos temperatūra

Sveikasis skaičius kintamasis, pavadintas „susietas“, kurio pradinė vertė yra 0. Tai sutaupys PWM vertę, į kurią priskiriame temp kintamąjį, ir šis kintamasis valdo LED juostos spalvą

Naudodamas šį kodą, PICO perskaitys temperatūros jutiklio duomenis, konvertuos juos į voltus, tada į Celsijus, ir galiausiai susieja Celsijaus laipsnį į PWM vertę, kurią gali nuskaityti mūsų LED juostelė, ir tai yra būtent tai, ko mums reikia.

6 žingsnis: baigta

Image
Image

Mes taip pat pagaminome akrilo indą LED juostai, kad ji gražiai atsistotų. Čia galite rasti CAD failus, jei norite juos atsisiųsti.

Dabar jūs turite nuostabiai atrodantį LED termometrą, kuris automatiškai nurodo jums temperatūrą, kai į jį žiūrite, o tai yra labai patogu: P

Palikite komentarą, jei turite kokių nors pasiūlymų ar atsiliepimų, ir nepamirškite sekti mus „Facebook“arba aplankyti mus mellbell.cc, kad gautumėte daugiau nuostabaus turinio.

Rekomenduojamas: