Innholdsfortegnelse:

RGB -termometer ved bruk av PICO: 6 trinn
RGB -termometer ved bruk av PICO: 6 trinn

Video: RGB -termometer ved bruk av PICO: 6 trinn

Video: RGB -termometer ved bruk av PICO: 6 trinn
Video: НОЧЬ В СТРАШНОМ ДОМЕ С ДЕМОНОМ / НЕ СТОИЛО СЮДА ПРИХОДИТЬ 2024, Juli
Anonim
Image
Image

Det var det endelige resultatet av vår innsats i dag. Det er et termometer som vil fortelle deg hvor varmt det er i rommet ditt, ved å bruke en RGB LED -stripe plassert i en akrylbeholder, som er koblet til en temperatursensor for å lese temperaturen. Og vi kommer til å bruke PICO for å få dette prosjektet til livs.

Trinn 1: Komponenter

Drar RGB -stripen med transistorer og en strømkilde
Drar RGB -stripen med transistorer og en strømkilde
  • PICO, tilgjengelig på mellbell.cc ($ 17)
  • 1 meter RGB LED -stripe
  • 3 TIP122 Darlington -transistor, en pakke med 10 på eBay ($ 3,31)
  • 1 PCA9685 16-kanals 12-biters PWM-driver, tilgjengelig på eBay ($ 2,12)
  • 12v strømkilde
  • 3 1k ohm motstander, en bunt med 100 på eBay ($ 0,99)
  • Et brødbrett, tilgjengelig på eBay ($ 2,30)
  • Mann - kvinnelige jumperwires, en pakke med 40 på eBay ($ 0,95)

Trinn 2: Driv RGB -stripen med transistorer og en strømkilde

Forsyner RGB -stripen med transistorer og en strømkilde
Forsyner RGB -stripen med transistorer og en strømkilde
Drar RGB -stripen med transistorer og en strømkilde
Drar RGB -stripen med transistorer og en strømkilde
Forsyner RGB -stripen med transistorer og en strømkilde
Forsyner RGB -stripen med transistorer og en strømkilde

LED -strips er fleksible kretskort som er fylt med lysdioder. De brukes på mange måter, ettersom du kan bruke dem i huset, bilen eller sykkelen. Du kan til og med lage kule RGB -wearables ved å bruke dem.

Så, hvordan fungerer de? Det er faktisk ganske enkelt. Alle lysdiodene i LED -stripen er parallellkoblet, og de fungerer som en stor RGB -LED. Og for å kjøre den, trenger du ganske enkelt å koble stripen til en 12v høy strømkilde.

For å kontrollere LED -stripen med en mikrokontroller må du skille strømkilden fra kontrollkilden. Fordi LED -stripen trenger 12v, og mikrokontrolleren vår ikke kan tilby så mye utgangsspenning, og det er derfor vi kobler til en ekstern 12v høy strømkilde, samtidig som vi sender kontrollsignalene fra vår PICO.

Den nåværende tegningen til hver RGB -celle er også høy, ettersom hver eneste LED i den - de røde, grønne og blå lysdiodene - trenger 20mA for å fungere, noe som betyr at vi trenger 60mA for å kjøre opp en enkelt RGB -celle. Og det er veldig problematisk, fordi våre GPIO -pinner bare kan levere maksimalt 40mA per pinne, og å koble RGB -stripen til PICO direkte vil brenne den, så vær så snill å ikke gjøre det.

Men det er en løsning, og den kalles Darlington -transistoren som er et par transistorer som har veldig høy strømforsterkning, noe som vil hjelpe oss å øke strømmen for å fylle våre behov.

La oss lære mer om nåværende gevinst først. Strømforsterkning er en egenskap for transistorer som betyr at strømmen som passerer gjennom transistoren vil bli multiplisert med den, og ligningen ser slik ut:

belastningsstrøm = inngangsstrøm * transistorforsterkning.

Dette er enda sterkere i en Darlington -transistor, fordi det er et par transistorer som ikke er én, og effektene deres multipliseres med hverandre, noe som gir oss enorme strømgevinster.

Vi vil nå koble LED -stripen til vår eksterne strømkilde, transistoren, og selvfølgelig vår PICO.

  • Base (transistor) → D3 (PICO)
  • Samler (transistor) → B (LED -stripe)
  • Emitter (transistor) → GND
  • +12 (LED -stripe) → +12 (strømkilde)

Ikke glem å koble PICOs GND til strømkildene

Trinn 3: Kontrollere fargene på RGB LED -stripen

Kontrollere fargene på RGB LED -stripen
Kontrollere fargene på RGB LED -stripen
Kontrollere fargene på RGB LED -stripen
Kontrollere fargene på RGB LED -stripen
Kontrollere fargene på RGB LED -stripen
Kontrollere fargene på RGB LED -stripen

Vi vet at vår PICO har en enkelt PWM -pinne (D3), noe som betyr at den ikke kan kontrollere våre 16 lysdioder. Dette er grunnen til at vi introduserer PCA9685 16-kanals 12-biters PWM I2C-modul, som lar oss utvide PICOs PWM-pinner.

Først av alt, hva er I2C?

I2C er en kommunikasjonsprotokoll som bare involverer to ledninger for å kommunisere med en eller flere enheter ved å adressere enhetens adresse og hvilke data som skal sendes.

Det er to typer enheter: Den første er hovedenheten, som er den som er ansvarlig for å sende data, og den andre er slaveenheten, som mottar dataene. Her er pin -outsene til PCA9685 -modulen:

  • VCC → Dette er styrken for styret selv. 3-5v maks.
  • GND → Dette er den negative pinnen, og den må være koblet til GND for å fullføre kretsen.
  • V+ → Dette er en valgfri strømpinne som vil levere strøm til servoer hvis du har noen av dem koblet til modulen din. Du kan la den være frakoblet hvis du ikke bruker noen servoer.
  • SCL → Seriell klokkepinne, og vi kobler den til SCL for PICO.
  • SDA → Serial Data pin, og vi kobler den til SDAen til PICO.
  • OE → output -aktivert pin, denne pinnen er aktiv LOW, når pinnen er LOW er alle utgangene aktivert, når den er HIGH er alle utgangene deaktivert. Og denne valgfrie pinnen brukes til å raskt aktivere eller deaktivere modulens pinner.

Det er 16 porter, hver port har V+, GND, PWM. Hver PWM -pin kjøres helt uavhengig, og de er konfigurert for servoer, men du kan enkelt bruke dem til lysdioder. Hver PWM kan håndtere 25mA strøm, så vær forsiktig.

Nå som vi vet hva modulens pinner og hva den gjør, kan vi bruke den til å øke antallet PICOs PWM -pinner, slik at vi kan kontrollere vår RGB LED -stripe.

Vi skal bruke denne modulen sammen med TIP122 -transistorer, og slik bør du koble dem til din PICO:

  • VCC (PCA9685) → VCC (PICO).
  • GND (PCA9685) → GND.
  • SDA (PCA9685) → D2 (PICO).
  • SCL (PCA9685) → D3 (PICO).
  • PWM 0 (PCA9685) → BASE (første TIP122).
  • PWM 1 (PCA9685) → BASE (andre TIP122).
  • PWM 2 (PCA9685) → BASE (tredje TIP122).

Ikke glem å koble PICOs GND til strømforsyningens GND. Sørg for IKKE å koble PCA9685 VCC -pinnen med strømforsyningens +12 volt, ellers blir den skadet

Trinn 4: Kontroller RGB LED Strip -fargen, avhengig av sensorens avlesning

Kontroller fargen på RGB LED -stripen, avhengig av sensorens avlesning
Kontroller fargen på RGB LED -stripen, avhengig av sensorens avlesning
Kontroller RGB LED -stripefarge Avhengig av sensorens avlesning
Kontroller RGB LED -stripefarge Avhengig av sensorens avlesning

Dette er det siste trinnet i dette prosjektet, og med det vil prosjektet vårt forvandle seg fra å være "dum" til å være smart og ha evnen til å oppføre seg avhengig av miljøet. For å gjøre det skal vi koble vår PICO til LM35DZ temperatursensor.

Denne sensoren har en analog utgangsspenning som avhenger av temperaturen rundt den. Den starter ved 0v tilsvarende 0 Celsius, og spenningen øker med 10mV for hver grad over 0c. Denne komponenten er veldig enkel og har bare 3 ben, og de er koblet til som følger:

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

Trinn 5: Den endelige koden

Den endelige koden
Den endelige koden
Den endelige koden
Den endelige koden

Nå som vi har alt koblet til vår PICO, kan vi begynne å programmere det slik at lysdiodene endrer farge avhengig av temperaturen.

For dette trenger vi følgende:

En konst. variabel med navnet "tempSensor" med verdien A0 som mottar avlesningen fra temperatursensoren

En heltallsvariabel som heter "sensorReading" med startverdi 0. Dette er variabelen som vil lagre rå sensoravlesning

En flytevariabel med navnet "volt" med startverdien 0. Dette er variabelen som vil lagre den konverterte sensorens råavlesningsverdi til volt

En flytevariabel som heter "temp" med startverdi 0. Dette er variabelen som vil lagre de konverterte sensorvoltavlesningene og konvertere den til temperatur

En heltallsvariabel med navnet "kartlagt" med startverdi 0. Dette sparer PWM -verdien som vi tilordner tempvariabelen til, og denne variabelen styrer fargen på LED -stripen

Ved å bruke denne koden vil PICO lese temperatursensorens data, konvertere den til volt, deretter til Celsius, og til slutt kartlegger den Celsius -graden til en PWM -verdi som kan leses av LED -stripen vår, og det er akkurat det vi trenger.

Trinn 6: Du er ferdig

Image
Image

Vi har også laget en akrylbeholder for LED -stripen for å få den til å stå opp på en fin måte. Du finner CAD -filene her hvis du vil laste dem ned.

Du har nå et fantastisk LED -termometer som automatisk forteller deg temperaturen når du ser på det, noe som er mildt sagt praktisk: P

Legg igjen en kommentar hvis du har forslag eller tilbakemeldinger, og ikke glem å følge oss på facebook eller besøk oss på mellbell.cc for mer fantastisk innhold.

Anbefalt: