Indholdsfortegnelse:

RGB -termometer ved hjælp af PICO: 6 trin
RGB -termometer ved hjælp af PICO: 6 trin

Video: RGB -termometer ved hjælp af PICO: 6 trin

Video: RGB -termometer ved hjælp af PICO: 6 trin
Video: Heated Acetone to Smooth Polycarbonate 2024, Juli
Anonim
Image
Image

Det var det endelige resultat af vores indsats i dag. Det er et termometer, der vil fortælle dig, hvor varmt det er i dit værelse, ved hjælp af en RGB LED -strimmel placeret i en akrylbeholder, der er forbundet til en temperatursensor for at aflæse temperaturen. Og vi vil bruge PICO til at få dette projekt til live.

Trin 1: Komponenter

Forsyner RGB -stripen med transistorer og en strømkilde
Forsyner RGB -stripen med transistorer og en strømkilde
  • PICO, tilgængelig på mellbell.cc ($ 17)
  • 1 meter RGB LED strip
  • 3 TIP122 Darlington -transistor, et bundt med 10 på ebay ($ 3,31)
  • 1 PCA9685 16-kanals 12-bit PWM-driver, tilgængelig på eBay ($ 2,12)
  • 12v strømkilde
  • 3 1k ohm modstande, et bundt med 100 på ebay ($ 0,99)
  • Et brødbræt, tilgængeligt på eBay ($ 2,30)
  • Mand - kvindelige jumpertråde, et bundt med 40 på eBay ($ 0,95)

Trin 2: Forsyning af 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
Forsyner 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
Forsyner RGB -stripen med transistorer og en strømkilde

LED -strips er fleksible kredsløb, der er fyldt med LED'er. De bruges på mange måder, da du kan bruge dem i dit hus, din bil eller cykel. Du kan endda oprette seje RGB -wearables ved hjælp af dem.

Så hvordan fungerer de? Det er faktisk ret simpelt. Alle LED'erne i LED -strimlen er forbundet parallelt, og de fungerer som en kæmpe RGB LED. Og for at køre det skal du blot tilslutte båndet til en 12v høj strømkilde.

For at styre LED -stripen med en mikrokontroller skal du adskille strømkilden fra kontrolkilden. Fordi LED -stripen har brug for 12v, og vores mikrokontroller ikke kan tilbyde så meget udgangsspænding, og det er derfor, vi tilslutter en ekstern 12v højstrømskilde, mens vi sender styresignalerne fra vores PICO.

Den nuværende trækning for hver RGB -celle er også høj, da hver eneste LED i den - de røde, grønne og blå lysdioder - har brug for 20mA for at fungere, hvilket betyder, at vi har brug for 60mA for at køre oplyse en enkelt RGB -celle. Og det er meget problematisk, fordi vores GPIO -ben kun kan levere maksimalt 40mA pr. Ben, og tilslutning af RGB -båndet til PICO direkte brænder det, så lad være med at gøre det.

Men der er en løsning, og den kaldes Darlington Transistor, som er et par transistorer, der har en meget høj strømforstærkning, som vil hjælpe os med at øge vores strøm for at opfylde vores behov.

Lad os først lære mere om den aktuelle gevinst. Strømforstærkning er en egenskab ved transistorer, der betyder, at strømmen, der passerer gennem transistoren, bliver ganget med den, og dens ligning ser sådan ud:

belastningsstrøm = indgangsstrøm * transistorforstærkning.

Dette er endnu stærkere i en Darlington -transistor, fordi det er et par transistorer, ikke en enkelt, og deres effekter multipliceres med hinanden, hvilket giver os massive aktuelle gevinster.

Vi vil nu forbinde LED -båndet med vores eksterne strømkilde, transistoren og selvfølgelig vores PICO.

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

Glem ikke at slutte PICO's GND til strømkildens jord

Trin 3: Styring af farverne på RGB LED Strip

Kontrol af farverne på RGB LED Strip
Kontrol af farverne på RGB LED Strip
Kontrol af farverne på RGB LED Strip
Kontrol af farverne på RGB LED Strip
Kontrol af farverne på RGB LED Strip
Kontrol af farverne på RGB LED Strip

Vi ved, at vores PICO har en enkelt PWM -pin (D3), hvilket betyder, at den ikke indbygget kan styre vores 16 lysdioder. Derfor introducerer vi PCA9685 16-kanals 12-bit PWM I2C-modul, som lader os udvide PICOs PWM-ben.

Først og fremmest, hvad er I2C?

I2C er en kommunikationsprotokol, der kun involverer 2 ledninger til at kommunikere med en eller flere enheder ved at adressere enhedens adresse, og hvilke data der skal sendes.

Der er to typer enheder: Den første er masterenheden, som er ansvarlig for afsendelse af data, og den anden er slaveenheden, der modtager dataene. Her er pin outs af PCA9685 -modulet:

  • VCC → Dette er styrken i sig selv. 3-5v maks.
  • GND → Dette er den negative pin, og den skal tilsluttes GND for at fuldføre kredsløbet.
  • V+ → Dette er en valgfri strømstik, der vil levere strøm til servoer, hvis du har nogen af dem tilsluttet dit modul. Du kan lade den være afbrudt, hvis du ikke bruger nogen servoer.
  • SCL → Seriel urpind, og vi forbinder den med SCL'en for PICO.
  • SDA → Serial Data pin, og vi forbinder den med SDA'en for PICO.
  • OE → output aktiveret pin, denne pin er aktiv LAV, når stiften er LAV er alle udgange aktiveret, når den er HØJ er alle udgange deaktiveret. Og denne valgfri pin bruges til hurtigt at aktivere eller deaktivere modulets pins.

Der er 16 porte, hver port har V+, GND, PWM. Hver PWM -pin kører helt uafhængigt, og de er konfigureret til servoer, men du kan nemt bruge dem til LED'er. Hver PWM kan klare 25mA strøm, så vær forsigtig.

Nu hvor vi ved, hvad vores moduls pins og hvad det gør, kan vi bruge det til at øge antallet af PICO's PWM -pins, så vi kan styre vores RGB LED -strimmel.

Vi kommer til at bruge dette modul sammen med TIP122 -transistorer, og sådan skal du forbinde dem med 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 (anden TIP122).
  • PWM 2 (PCA9685) → BASE (tredje TIP122).

Glem ikke at forbinde PICO's GND med strømforsyningens GND. Og sørg for IKKE at tilslutte PCA9685 VCC -stiften med strømforsyningens +12 volt, ellers bliver den beskadiget

Trin 4: Kontroller RGB LED -stripfarven afhængigt af sensorens aflæsning

Kontroller RGB LED -stripfarven afhængigt af sensorens aflæsning
Kontroller RGB LED -stripfarven afhængigt af sensorens aflæsning
Kontroller RGB LED -stripfarven afhængigt af sensorens aflæsning
Kontroller RGB LED -stripfarven afhængigt af sensorens aflæsning

Dette er det sidste trin i dette projekt, og med det vil vores projekt forvandle sig fra at være "dum" til at være smart og have evnen til at opføre sig afhængigt af omgivelserne. For at gøre det skal vi forbinde vores PICO med LM35DZ temperatursensor.

Denne sensor har en analog udgangsspænding, der afhænger af temperaturen omkring den. Det starter ved 0v svarende til 0 Celsius, og spændingen stiger med 10mV for hver grad over 0c. Denne komponent er meget enkel og har kun 3 ben, og de er forbundet som følger:

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

Trin 5: Den endelige kode

Den endelige kode
Den endelige kode
Den endelige kode
Den endelige kode

Nu hvor vi har alt forbundet til vores PICO, kan vi begynde at programmere det, så LED'erne skifter farve afhængigt af temperaturen.

Til dette har vi brug for følgende:

En konst. variabel med navnet "tempSensor" med værdien A0, der modtager sin aflæsning fra temperatursensoren

En heltalsvariabel med navnet "sensorReading" med startværdi 0. Dette er variablen, der gemmer den rå sensormåling

En flydevariabel med navnet "volt" med startværdien 0. Dette er variablen, der vil gemme den konverterede sensors rå læsningsværdi til volt

En flydevariabel med navnet "temp" med startværdi 0. Dette er variablen, der gemmer de konverterede sensorvoltsmålinger og konverterer den til temperatur

En heltalsvariabel med navnet "kortlagt" med startværdi 0. Dette gemmer den PWM -værdi, som vi kortlægger tempvariablen til, og denne variabel styrer LED -strimmelfarven

Ved hjælp af denne kode vil PICO læse temperatursensorens data, konvertere det til volt, derefter til Celsius, og til sidst kortlægger det Celsius -graden til en PWM -værdi, der kan aflæses af vores LED -strimmel, og det er præcis, hvad vi har brug for.

Trin 6: Du er færdig

Image
Image

Vi lavede også en akrylbeholder til LED -strimlen for at få den til at stå op på en pæn måde. Du kan finde CAD -filerne her, hvis du vil downloade dem.

Du har nu et fantastisk LED -termometer, der automatisk fortæller dig temperaturen, når du ser på det, hvilket mildest talt er ret praktisk: P

Efterlad en kommentar, hvis du har forslag eller feedback, og glem ikke at følge os på facebook eller besøge os på mellbell.cc for mere fantastisk indhold.

Anbefalede: