Kazalo:

RGB termometer z uporabo PICO: 6 korakov
RGB termometer z uporabo PICO: 6 korakov

Video: RGB termometer z uporabo PICO: 6 korakov

Video: RGB termometer z uporabo PICO: 6 korakov
Video: изучите программирование Arduino за 20 секунд! (проекты Ардуино) 2024, Julij
Anonim
Image
Image

To je bil končni rezultat današnjih prizadevanj. To je termometer, ki vam bo povedal, kako toplo je v vaši sobi, z uporabo LED traku RGB, nameščenega v akrilni posodi, ki je povezan s temperaturnim senzorjem za odčitavanje temperature. In uporabili bomo PICO za oživitev tega projekta.

1. korak: Komponente

Napajanje traku RGB s tranzistorji in virom napajanja
Napajanje traku RGB s tranzistorji in virom napajanja
  • PICO, na voljo na mellbell.cc (17 USD)
  • 1 meter RGB LED trak
  • 3 TIP122 Darlingtonov tranzistor, sveženj 10 na ebayu (3,31 USD)
  • 1 PCA9685 16-kanalni 12-bitni gonilnik PWM, na voljo na ebayu (2,12 USD)
  • 12V vir napajanja
  • 3 1 k ohmski upori, sveženj 100 na ebayu (0,99 USD)
  • Okvir, na voljo na ebayu (2,30 USD)
  • Moški - ženske skakalne žice, snop 40 na ebayu (0,95 USD)

2. korak: Napajanje traku RGB s tranzistorji in virom napajanja

Napajanje traku RGB s tranzistorji in virom napajanja
Napajanje traku RGB s tranzistorji in virom napajanja
Napajanje traku RGB s tranzistorji in virom napajanja
Napajanje traku RGB s tranzistorji in virom napajanja
Napajanje traku RGB s tranzistorji in virom napajanja
Napajanje traku RGB s tranzistorji in virom napajanja

LED trakovi so prilagodljiva vezja, ki so napolnjena z LED. Uporabljajo se na različne načine, saj jih lahko uporabljate doma, v avtu ali na kolesu. Z njimi lahko ustvarite celo kul nosljive nosilce RGB.

Torej, kako delujejo? Pravzaprav je precej preprosto. Vse LED diode v LED traku so povezane vzporedno in delujejo kot ena velika RGB LED. Če ga želite zagnati, preprosto priključite trak na 12 -voltni vir toka.

Za krmiljenje LED traku z mikrokrmilnikom morate ločiti vir napajanja od krmilnega vira. Ker LED trak potrebuje 12v, naš mikrokrmilnik pa ne more ponuditi toliko izhodne napetosti, zato povezujemo zunanji 12v visokotokovni vir energije, hkrati pa pošiljamo krmilne signale iz našega PICO.

Tudi trenutna poraba vsake celice RGB je visoka, saj vsaka posamezna LED v njej - rdeča, zelena in modra LED - potrebuje 20 mA za delovanje, kar pomeni, da za delovanje potrebujemo 60 mA, da osvetli eno celico RGB. In to je zelo problematično, saj lahko naši zatiči GPIO napajajo največ 40 mA na pin, in če jih priključite neposredno na PICO, jih zažgete, zato tega ne storite.

Obstaja pa rešitev in se imenuje Darlingtonski tranzistor, ki je par tranzistorjev z zelo visokim dobitkom toka, kar nam bo pomagalo povečati tok, da bomo zapolnili svoje potrebe.

Najprej se naučimo več o trenutnem dobičku. Trenutni dobiček je lastnost tranzistorjev, kar pomeni, da se bo tok, ki poteka skozi tranzistor, pomnožil z njim, njegova enačba pa je videti tako:

obremenitveni tok = vhodni tok * ojačanje tranzistorja.

To je v Darlingtonovem tranzistorju še močnejše, saj gre za par tranzistorjev, ki niso posamezni, njihovi učinki pa se množijo med seboj, kar nam daje velike trenutne dobičke.

Zdaj bomo LED trak povezali z zunanjim virom napajanja, tranzistorjem in seveda z našim PICO.

  • Baza (tranzistor) → D3 (PICO)
  • Kolektor (tranzistor) → B (LED trak)
  • Oddajnik (tranzistor) → GND
  • +12 (LED trak) → +12 (vir napajanja)

Ne pozabite priključiti GIC PICO na ozemljitev virov napajanja

3. korak: Nadziranje barv LED traku RGB

Nadzor barv LED traku RGB
Nadzor barv LED traku RGB
Nadzor barv LED traku RGB
Nadzor barv LED traku RGB
Nadzor barv LED traku RGB
Nadzor barv LED traku RGB

Vemo, da ima naš PICO en sam PWM pin (D3), kar pomeni, da ne more izvorno krmiliti naših 16 LED. Zato predstavljamo 16-kanalni 12-bitni PWM I2C modul PCA9685, ki nam omogoča razširitev PICO-jevih PWM zatičev.

Najprej, kaj je I2C?

I2C je komunikacijski protokol, ki vključuje samo 2 žici za komunikacijo z eno ali več napravami z naslovom naslova naprave in podatkov, ki jih je treba poslati.

Obstajata dve vrsti naprav: prva je glavna naprava, ki je odgovorna za pošiljanje podatkov, druga pa podrejena naprava, ki sprejema podatke. Tu so pin -izhodi modula PCA9685:

  • VCC → To je moč same plošče. 3-5v max.
  • GND → To je negativni zatič in ga je treba priključiti na GND, da dokončate vezje.
  • V+ → To je izbirni napajalni zatič, ki napaja servomotorje, če je kateri od njih priključen na vaš modul. Če ne uporabljate servomotorjev, ga lahko pustite izključenega.
  • SCL → Pin serijske ure in ga povežemo s SCL -jem PICO.
  • SDA → Pin serijskih podatkov in ga povežemo s SDA PICO.
  • OE → izhod z omogočenim izhodom, ta pin je aktiven NIZKO, ko je nožica NIZKA, so vsi izhodi omogočeni, ko je VISOKA, so vsi izhodi onemogočeni. Ta izbirni pin se uporablja za hitro omogočanje ali onemogočanje nožic modula.

Obstaja 16 vrat, vsaka vrata imajo V+, GND, PWM. Vsak pin PWM deluje popolnoma neodvisno in so nastavljeni za servomotorje, vendar jih lahko preprosto uporabite za LED. Vsak PWM lahko prenese 25mA toka, zato bodite previdni.

Zdaj, ko vemo, kaj zatiči našega modula in kaj počne, ga lahko uporabimo za povečanje števila zatičev PICO PWM, tako da lahko nadzorujemo naš RGB LED trak.

Ta modul bomo uporabljali skupaj s tranzistorji TIP122, zato jih morate povezati s svojim PICO:

  • VCC (PCA9685) → VCC (PICO).
  • GND (PCA9685) → GND.
  • SDA (PCA9685) → D2 (PICO).
  • SCL (PCA9685) → D3 (PICO).
  • PWM 0 (PCA9685) → OSNOVA (prvi TIP122).
  • PWM 1 (PCA9685) → OSNOVA (drugi TIP122).
  • PWM 2 (PCA9685) → OSNOVA (tretji TIP122).

Ne pozabite priključiti PICO GND na GND napajalnika. Pazite, da priključka PCA9685 VCC ne priključite na +12 voltov napajalnika, sicer se bo poškodoval

4. korak: Nadzirajte barvo LED traku RGB, odvisno od odčitkov senzorja

Nadzirajte barvo LED traku RGB, odvisno od odčitkov senzorja
Nadzirajte barvo LED traku RGB, odvisno od odčitkov senzorja
Nadzirajte barvo LED traku RGB, odvisno od odčitkov senzorja
Nadzirajte barvo LED traku RGB, odvisno od odčitkov senzorja

To je zadnji korak v tem projektu in z njim se bo naš projekt iz "neumnega" spremenil v pametnega in sposobnost obnašanja, odvisno od okolja. V ta namen bomo naš PICO povezali s temperaturnim senzorjem LM35DZ.

Ta senzor ima analogno izhodno napetost, ki je odvisna od temperature okoli njega. Začne se pri 0v, ki ustreza 0 Celzija, in napetost se poveča za 10mV za vsako stopinjo nad 0c. Ta komponenta je zelo preprosta in ima samo 3 krake, ki so povezani na naslednji način:

  • VCC (LM35DZ) → VCC (PICO)
  • GND (LM35DZ) → GND (PICO)
  • Izhod (LM35DZ) → A0 (PICO)

5. korak: Končna koda

Končni kodeks
Končni kodeks
Končni kodeks
Končni kodeks

Zdaj, ko imamo vse povezano z našim PICO, ga začnimo programirati tako, da LED -diode spreminjajo barvo glede na temperaturo.

Za to potrebujemo naslednje:

Konst. spremenljivka z imenom "tempSensor" z vrednostjo A0, ki prejema odčitke s temperaturnega senzorja

Celotna spremenljivka z imenom "sensorReading" z začetno vrednostjo 0. To je spremenljivka, ki bo shranila surovo odčitavanje senzorja

Plavajoča spremenljivka z imenom "volti" z začetno vrednostjo 0. To je spremenljivka, ki bo pretvorjeno surovo vrednost branja senzorja shranila v volte

Plavajoča spremenljivka z imenom "temp" z začetno vrednostjo 0. To je spremenljivka, ki bo shranila pretvorjene odčitke voltov senzorja in jih pretvorila v temperaturo

Celobrojna spremenljivka z imenom "preslikana" z začetno vrednostjo 0. To bo shranilo vrednost PWM, v katero preslikamo spremenljivko temp, in ta spremenljivka nadzoruje barvo LED traku

S to kodo bo PICO prebral podatke temperaturnega senzorja, jih pretvoril v volte, nato v Celzij in na koncu preslikal stopinjo Celzija v vrednost PWM, ki jo lahko prebere naš LED trak, in to je točno tisto, kar potrebujemo.

6. korak: Končali ste

Image
Image

Naredili smo tudi akrilno posodo za LED trak, da bo na lep način vstal. Datoteke CAD lahko najdete tukaj, če jih želite prenesti.

Zdaj imate čudovit LED termometer, ki vam samodejno pove temperaturo, ko ga pogledate, kar je najmanj priročno: P

Če imate kakršne koli predloge ali povratne informacije, pustite komentar in ne pozabite nas spremljati na facebooku ali pa nas obiščite na mellbell.cc za še bolj super vsebino.

Priporočena: