Sisukord:

RGB termomeeter PICO abil: 6 sammu
RGB termomeeter PICO abil: 6 sammu

Video: RGB termomeeter PICO abil: 6 sammu

Video: RGB termomeeter PICO abil: 6 sammu
Video: Core Electronics Live [1] Руководства Ultimaker, DIY-уведомитель YouTube, интеллектуальное зеркало Raspberry Pi ++подробнее 2024, Juuli
Anonim
Image
Image

See oli meie tänase pingutuse lõpptulemus. See on termomeeter, mis annab teile teada, kui soe teie toas on, kasutades RGB LED -riba, mis on paigutatud akrüülmahutisse, mis on ühendatud temperatuurianduriga temperatuuri lugemiseks. Ja me kasutame selle projekti elluviimiseks PICO -d.

Samm: komponendid

RGB riba toide transistoride ja toiteallikaga
RGB riba toide transistoride ja toiteallikaga
  • PICO, saadaval saidil mellbell.cc (17 dollarit)
  • 1 meetri RGB LED -riba
  • 3 TIP122 Darlingtoni transistor, 10 -kimp eBays (3,31 dollarit)
  • 1 PCA9685 16-kanaliline 12-bitine PWM-draiver, saadaval eBays (2,12 dollarit)
  • 12v toiteallikas
  • 3 1k oomi takistit, 100 -kimp ebay -s (0,99 dollarit)
  • Leivalaud, saadaval eBays (2,30 dollarit)
  • Mees - naissoost hüppajajuhtmed, 40 -kimp eBays (0,95 dollarit)

Samm: RGB riba toide transistoride ja toiteallikaga

RGB riba toide transistoride ja toiteallikaga
RGB riba toide transistoride ja toiteallikaga
RGB riba toide transistoride ja toiteallikaga
RGB riba toide transistoride ja toiteallikaga
RGB riba toide transistoride ja toiteallikaga
RGB riba toide transistoride ja toiteallikaga

LED -ribad on paindlikud trükkplaadid, mis on asustatud LED -idega. Neid kasutatakse mitmel viisil, kuna saate neid kasutada oma majas, autos või jalgrattaga. Nende abil saate isegi luua lahedaid RGB kantavaid riideid.

Niisiis, kuidas nad töötavad? See on tegelikult päris lihtne. Kõik LED -riba LED -id on ühendatud paralleelselt ja need toimivad nagu üks suur RGB -LED. Ja selle käivitamiseks peate riba lihtsalt ühendama 12v suure vooluga toiteallikaga.

LED -riba juhtimiseks mikrokontrolleriga peate toiteallika juhtimisallikast eraldama. Kuna LED -riba vajab 12v ja meie mikrokontroller ei suuda nii palju väljundpinget pakkuda ja seetõttu ühendame välise 12v suure vooluga toiteallika, saates samal ajal meie PICO juhtsignaale.

Samuti on iga RGB -elemendi voolutugevus kõrge, kuna iga selles olev LED - punane, roheline ja sinine - vajab töötamiseks 20 mA, mis tähendab, et ühe RGB -elemendi süttimiseks vajame 60 mA. Ja see on väga problemaatiline, sest meie GPIO -tihvtid suudavad toita maksimaalselt 40 mA iga tihvti kohta ja RGB -riba ühendamine otse PICO -ga põletab selle, seega ärge seda tehke.

Kuid lahendus on olemas ja seda nimetatakse Darlingtoni transistoriks, mis on transistoride paar, millel on väga suur voolutugevus, mis aitab meil oma vajadusi rahuldada.

Kõigepealt uurime praeguse kasu kohta rohkem. Voolutugevus on transistoride omadus, mis tähendab, et transistorit läbiv vool korrutatakse sellega ja selle võrrand näeb välja selline:

koormusvool = sisendvool * transistori võimendus.

See on Darlingtoni transistoris veelgi tugevam, sest see on transistoride paar, mitte üks ja nende mõju korrutatakse üksteisega, andes meile tohutu voolutugevuse.

Nüüd ühendame LED -riba oma välise toiteallika, transistori ja loomulikult meie PICO -ga.

  • Alus (transistor) → D3 (PICO)
  • Kollektor (transistor) → B (LED -riba)
  • Emitter (transistor) → GND
  • +12 (LED -riba) → +12 (toiteallikas)

Ärge unustage ühendada PICO GND toiteallikate maandusega

3. samm: RGB LED -riba värvide juhtimine

RGB LED -riba värvide juhtimine
RGB LED -riba värvide juhtimine
RGB LED -riba värvide juhtimine
RGB LED -riba värvide juhtimine
RGB LED -riba värvide juhtimine
RGB LED -riba värvide juhtimine

Me teame, et meie PICO -l on üks PWM -tihvt (D3), mis tähendab, et see ei saa meie 16 LED -i loomulikult juhtida. Seetõttu tutvustame PCA9685 16-kanalilist 12-bitist PWM I2C moodulit, mis võimaldab meil laiendada PICO PWM tihvte.

Esiteks, mis on I2C?

I2C on suhtlusprotokoll, mis hõlmab ainult kahte juhtmest ühe või mitme seadmega suhtlemiseks, aadressides seadme aadressi ja milliseid andmeid saata.

Seadmeid on kahte tüüpi: esimene neist on põhiseade, mis vastutab andmete saatmise eest, ja teine on alamseade, mis andmeid vastu võtab. Siin on PCA9685 mooduli tihvtid:

  • VCC → See on plaadi enda jõud. Max 3-5v
  • GND → See on negatiivne tihvt ja see tuleb vooluahela lõpuleviimiseks ühendada GND -ga.
  • V+ → See on valikuline toitepinge, mis toidab servosid, kui mõni neist on mooduliga ühendatud. Saate selle lahti ühendada, kui te ei kasuta ühtegi servot.
  • SCL → jadakella tihvt ja me ühendame selle PICO SCL -iga.
  • SDA → Seeriaandmete tihvt ja me ühendame selle PICO SDA -ga.
  • OE → väljundit võimaldav tihvt, see tihvt on aktiivne LOW, kui pin on LOW, on kõik väljundid lubatud, kui see on HIGH, kõik väljundid on keelatud. Ja seda valikulist tihvti kasutatakse mooduli tihvtide kiireks lubamiseks või keelamiseks.

Seal on 16 porti, igal pordil on V+, GND, PWM. Iga PWM -tihvt töötab täiesti iseseisvalt ja on seadistatud servode jaoks, kuid saate neid hõlpsalt LED -ide jaoks kasutada. Iga PWM saab hakkama 25 mA vooluga, seega olge ettevaatlik.

Nüüd, kui me teame, millised on meie mooduli tihvtid ja mida see teeb, lubame seda kasutada PICO PWM -tihvtide arvu suurendamiseks, et saaksime oma RGB LED -riba juhtida.

Kasutame seda moodulit koos TIP122 transistoridega ja nii peaksite need oma PICO -ga ühendama:

  • VCC (PCA9685) → VCC (PICO).
  • GND (PCA9685) → GND.
  • SDA (PCA9685) → D2 (PICO).
  • SCL (PCA9685) → D3 (PICO).
  • PWM 0 (PCA9685) → BASE (esimene TIP122).
  • PWM 1 (PCA9685) → BASE (teine TIP122).
  • PWM 2 (PCA9685) → BASE (kolmas TIP122).

Ärge unustage ühendada PICO GND toiteallika GND -ga. Ja kindlasti ärge ühendage PCA9685 VCC tihvti toiteallika +12 voltiga, vastasel juhul saab see kahjustada

4. samm: kontrollige RGB LED -riba värvi sõltuvalt anduri näidust

RGB LED -riba värvi juhtimine sõltuvalt anduri näidust
RGB LED -riba värvi juhtimine sõltuvalt anduri näidust
RGB LED -riba värvi juhtimine sõltuvalt anduri näidust
RGB LED -riba värvi juhtimine sõltuvalt anduri näidust

See on selle projekti viimane samm ja koos sellega muutub meie projekt lollusest nutikaks ja võimeks käituda sõltuvalt keskkonnast. Selleks ühendame oma PICO temperatuurianduriga LM35DZ.

Sellel anduril on analoogväljundpinge, mis sõltub ümbritsevast temperatuurist. See algab 0v -st, mis vastab 0 ° C -le, ja pinge tõuseb 10 mV võrra iga kraadi kohta üle 0c. See komponent on väga lihtne ja sellel on ainult 3 jalga ja need on ühendatud järgmiselt:

  • VCC (LM35DZ) → VCC (PICO)
  • GND (LM35DZ) → GND (PICO)
  • Väljund (LM35DZ) → A0 (PICO)

5. samm: lõplik kood

Lõplik kood
Lõplik kood
Lõplik kood
Lõplik kood

Nüüd, kui kõik on meie PICO -ga ühendatud, alustame selle programmeerimist nii, et valgusdioodid muudavad värvi sõltuvalt temperatuurist.

Selleks vajame järgmist:

A konst. muutuja nimega "tempSensor" väärtusega A0, mis saab oma näidu temperatuuriandurilt

Täisarvuline muutuja nimega "sensorReading" algväärtusega 0. See on muutuja, mis salvestab töötlemata anduri näidu

Ujukmuutuja nimega "voltid" algväärtusega 0. See on muutuja, mis salvestab teisendatud anduri töötlemata lugemisväärtuse voltideks

Ujukmuutuja nimega "temp" algväärtusega 0. See on muutuja, mis salvestab teisendatud volti näidud ja teisendab need temperatuuriks

Täisarvuline muutuja nimega "kaardistatud" algväärtusega 0. See salvestab PWM väärtuse, millesse temp muutuja kaardistame, ja see muutuja juhib LED -riba värvi

Seda koodi kasutades loeb PICO temperatuurianduri andmeid, teisendab need voltideks, seejärel Celsiuse kraadideks ja lõpuks kaardistab Celsiuse kraadi PWM väärtuseks, mida saab lugeda meie LED -ribalt, ja see on täpselt see, mida me vajame.

6. samm: olete valmis

Image
Image

Valmistasime LED -riba jaoks ka akrüülmahuti, et see kenasti püsti püsiks. CAD -failid leiate siit, kui soovite need alla laadida.

Nüüd on teil vinge välimusega LED -termomeeter, mis ütleb teile vaadates automaatselt temperatuuri, mis on vähemalt mugav: P

Kui teil on ettepanekuid või tagasisidet, jätke kommentaar ja ärge unustage meid jälgida Facebookis või külastada meid saidil mellbell.cc, et saada rohkem vinget sisu.

Soovitan: