Innholdsfortegnelse:
- Trinn 1: Komponenter
- Trinn 2: Driv RGB -stripen med transistorer og en strømkilde
- Trinn 3: Kontrollere fargene på RGB LED -stripen
- Trinn 4: Kontroller RGB LED Strip -fargen, avhengig av sensorens avlesning
- Trinn 5: Den endelige koden
- Trinn 6: Du er ferdig
Video: RGB -termometer ved bruk av PICO: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
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
- 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
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
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
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
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
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:
Diskolys fra RGB ved bruk av Arduino på TinkerCad: 3 trinn
Diskolys fra RGB ved bruk av Arduino på TinkerCad: Når du har koblet RGB -en, er det enkelt å kontrollere fargen på RGB ved å bruke PWM -utgang eller analog utgang, for Arduino kan du bruke analogWrite () på pinne 3, 5, 6 , 9, 10, 11, A0, A1, A2, A3, A4, A5 (for klassiske Arduinos som bruker Atmega328 eller 1
Dekorative RGB -lys ved bruk av en Arduino: 4 trinn
Dekorative RGB -lys ved bruk av en Arduino: Siden julaften bare er en uke unna, bestemte jeg meg for å bygge et enkelt RGB dekorativt lys med en Arduino Nano og WS2812B LED. Vi bruker noen plastbeholdere/krukker for å forbedre den visuelle effekten. Denne videoen bruker 5 lysdioder, men dette kan økes til s
Kontroll ledet over hele verden ved bruk av internett ved hjelp av Arduino: 4 trinn
Kontroll ledet over hele verden ved bruk av internett ved hjelp av Arduino: Hei, jeg er Rithik. Vi kommer til å lage en Internett -kontrollert LED ved hjelp av telefonen din. Vi kommer til å bruke programvare som Arduino IDE og Blynk. Det er enkelt, og hvis du lyktes kan du kontrollere så mange elektroniske komponenter du vilTing We Need: Hardware:
Overvåke akselerasjon ved bruk av Raspberry Pi og AIS328DQTR ved hjelp av Python: 6 trinn
Overvåke akselerasjon ved hjelp av Raspberry Pi og AIS328DQTR Bruke Python: Akselerasjon er begrenset, tror jeg i henhold til noen fysikklover.- Terry Riley En gepard bruker fantastisk akselerasjon og raske endringer i hastighet når jeg jager. Den raskeste skapningen i land en gang i blant bruker sitt høyeste tempo for å fange byttedyr. Den
Atollic TrueStudio-Switch på LED-en ved å trykke på trykknappen ved bruk av STM32L100: 4 trinn
Atollic TrueStudio-Switch på LED-en ved å trykke på trykknappen ved bruk av STM32L100: I denne opplæringen til STM32 skal jeg fortelle deg hvordan du leser en GPIO-pin av STM32L100, så her skal jeg lage en ombord LED-glød av bare trykke på trykknappen