Innehållsförteckning:

RGB -termometer med PICO: 6 steg
RGB -termometer med PICO: 6 steg

Video: RGB -termometer med PICO: 6 steg

Video: RGB -termometer med PICO: 6 steg
Video: лучше два глаза, чем один 2024, Juli
Anonim
Image
Image

Det var det slutliga resultatet av vår insats idag. Det är en termometer som låter dig veta hur varmt det är i ditt rum, med hjälp av en RGB LED -remsa placerad i en akrylbehållare, som är ansluten till en temperatursensor för att avläsa temperaturen. Och vi kommer att använda PICO för att få det här projektet att leva.

Steg 1: Komponenter

Driva RGB -remsan med transistorer och en strömkälla
Driva RGB -remsan med transistorer och en strömkälla
  • PICO, tillgänglig på mellbell.cc ($ 17)
  • 1 meter RGB LED -remsa
  • 3 TIP122 Darlington -transistor, ett paket med 10 på eBay ($ 3,31)
  • 1 PCA9685 16-kanals 12-bitars PWM-drivrutin, tillgänglig på ebay ($ 2,12)
  • 12v strömkälla
  • 3 1k ohm motstånd, ett paket med 100 på ebay ($ 0,99)
  • En brödbräda, tillgänglig på ebay ($ 2,30)
  • Man - kvinnliga bygelkablar, ett paket med 40 på eBay ($ 0,95)

Steg 2: Driv RGB -remsan med transistorer och en strömkälla

Driva RGB -remsan med transistorer och en strömkälla
Driva RGB -remsan med transistorer och en strömkälla
Driva RGB -remsan med transistorer och en strömkälla
Driva RGB -remsan med transistorer och en strömkälla
Driva RGB -remsan med transistorer och en strömkälla
Driva RGB -remsan med transistorer och en strömkälla

LED -remsor är flexibla kretskort som fylls med lysdioder. De används på många sätt, eftersom du kan använda dem i ditt hus, din bil eller cykel. Du kan till och med skapa coola RGB -wearables med dem.

Så, hur fungerar de? Det är faktiskt ganska enkelt. Alla lysdioder i LED -remsan är parallellkopplade och de fungerar som en enorm RGB -LED. Och för att köra den behöver du helt enkelt ansluta remsan till en 12v hög strömkälla.

För att styra LED -remsan med en mikrokontroller måste du separera strömkällan från kontrollkällan. Eftersom LED -remsan behöver 12v, och vår mikrokontroller inte kan erbjuda så mycket utspänning, och det är därför vi ansluter en extern 12v högströmskälla, samtidigt som vi skickar styrsignalerna från vår PICO.

Dessutom är den aktuella dragningen för varje RGB -cell hög, eftersom varje enskild lysdiod i den - de röda, gröna och blå lysdioderna - behöver 20mA för att fungera, vilket betyder att vi behöver 60mA för att köra tända en enda RGB -cell. Och det är mycket problematiskt, eftersom våra GPIO -stift bara kan leverera maximalt 40mA per stift, och att ansluta RGB -remsan direkt till PICO kommer att bränna den, så snälla gör det inte.

Men det finns en lösning, och den kallas Darlington -transistorn som är ett par transistorer som har mycket hög strömförstärkning, vilket hjälper oss att öka vår ström för att fylla våra behov.

Låt oss lära oss mer om nuvarande vinst först. Strömförstärkning är en egenskap hos transistorer som betyder att strömmen som passerar genom transistorn kommer att multipliceras med den och dess ekvation ser ut så här:

belastningsström = ingångsström * transistorförstärkning.

Detta är ännu starkare i en Darlington -transistor, eftersom det är ett par transistorer som inte är en enda, och deras effekter multipliceras med varandra, vilket ger oss massiva strömvinster.

Vi kommer nu att ansluta LED -remsan till vår externa strömkälla, transistorn och naturligtvis vår PICO.

  • Bas (transistor) → D3 (PICO)
  • Samlare (transistor) → B (LED -remsa)
  • Emitter (transistor) → GND
  • +12 (LED -remsa) → +12 (strömkälla)

Glöm inte att ansluta PICO: s GND till strömkällornas jord

Steg 3: Kontrollera färgerna på RGB LED Strip

Styr färgerna på RGB LED Strip
Styr färgerna på RGB LED Strip
Styr färgerna på RGB LED Strip
Styr färgerna på RGB LED Strip
Styr färgerna på RGB LED Strip
Styr färgerna på RGB LED Strip

Vi vet att vår PICO har en enda PWM -stift (D3) vilket innebär att den inte kan styra våra 16 lysdioder. Det är därför vi introducerar PCA9685 16-kanals 12-bitars PWM I2C-modul, som låter oss utöka PICOs PWM-stift.

Först och främst, vad är I2C?

I2C är ett kommunikationsprotokoll som endast innefattar två ledningar för att kommunicera med en eller flera enheter genom att adressera enhetens adress och vilken data som ska skickas.

Det finns två typer av enheter: Den första är huvudenheten, som är den som ansvarar för att skicka data, och den andra är slavenheten, som tar emot data. Här är pin -outs för PCA9685 -modulen:

  • VCC → Detta är styrkan för styrelsen själv. 3-5v max.
  • GND → Detta är den negativa stiftet, och den måste vara ansluten till GND för att slutföra kretsen.
  • V+ → Detta är ett extra stift som kan leverera ström till servon om du har några av dem anslutna till din modul. Du kan låta den vara bortkopplad om du inte använder några servon.
  • SCL → Seriell klockstift, och vi ansluter den till SCL för PICO.
  • SDA → Serial Data pin, och vi ansluter den till SDA för PICO.
  • OE → utgång aktiverad stift, denna stift är aktiv LÅG, när stiftet är LÅG är alla utgångar aktiverade, när det är HÖG är alla utgångar inaktiverade. Och denna valfria pin används för att snabbt aktivera eller inaktivera modulens pins.

Det finns 16 portar, varje port har V+, GND, PWM. Varje PWM -stift körs helt oberoende, och de är konfigurerade för servon men du kan enkelt använda dem för lysdioder. Varje PWM klarar 25mA ström så var försiktig.

Nu när vi vet vad vår modulens stift och vad den gör kan vi använda den för att öka antalet PICOs PWM -stift så att vi kan styra vår RGB LED -remsa.

Vi kommer att använda denna modul tillsammans med TIP122 -transistorer, och så här bör du ansluta dem till din PICO:

  • VCC (PCA9685) → VCC (PICO).
  • GND (PCA9685) → GND.
  • SDA (PCA9685) → D2 (PICO).
  • SCL (PCA9685) → D3 (PICO).
  • PWM 0 (PCA9685) → BASE (första TIP122).
  • PWM 1 (PCA9685) → BASE (andra TIP122).
  • PWM 2 (PCA9685) → BASE (tredje TIP122).

Glöm inte att ansluta PICO: s GND till nätaggregatets GND. Och se till att INTE ansluta PCA9685 VCC -stiftet med strömförsörjningens +12 volt, annars skadas det

Steg 4: Kontrollera RGB LED Strip -färgen beroende på sensorns avläsning

Kontrollera RGB LED Strip -färgen beroende på sensorns avläsning
Kontrollera RGB LED Strip -färgen beroende på sensorns avläsning
Kontrollera RGB LED Strip -färgen beroende på sensorns avläsning
Kontrollera RGB LED Strip -färgen beroende på sensorns avläsning

Detta är det sista steget i detta projekt, och med det kommer vårt projekt att förvandlas från att vara "dumt" till att vara smart och ha förmågan att bete sig beroende på sin omgivning. För att göra det ska vi ansluta vår PICO med LM35DZ temperaturgivare.

Denna sensor har en analog utspänning som beror på temperaturen runt den. Den börjar vid 0v motsvarande 0 Celsius och spänningen ökar med 10mV för varje grad över 0c. Denna komponent är mycket enkel och har bara 3 ben, och de är anslutna enligt följande:

  • VCC (LM35DZ) → VCC (PICO)
  • GND (LM35DZ) → GND (PICO)
  • Utgång (LM35DZ) → A0 (PICO)

Steg 5: Den slutliga koden

Den slutliga koden
Den slutliga koden
Den slutliga koden
Den slutliga koden

Nu när vi har allt anslutet till vår PICO, låt oss börja programmera det så att lysdioderna ändrar färg beroende på temperaturen.

För detta behöver vi följande:

En konst. variabel med namnet "tempSensor" med värdet A0 som får sin avläsning från temperaturgivaren

En heltalsvariabel med namnet "sensorReading" med initialvärde 0. Detta är variabeln som sparar avläsning av rå sensor

En flottörvariabel med namnet "volt" med initialvärdet 0. Detta är variabeln som kommer att spara det konverterade sensorns råa avläsningsvärde till volt

En flottörvariabel med namnet "temp" med startvärde 0. Detta är variabeln som kommer att spara de konverterade sensorvoltsavläsningarna och omvandla den till temperatur

En heltalsvariabel med namnet "mappad" med initialvärde 0. Detta sparar PWM -värdet som vi mappar tempvariabeln till, och denna variabel styr LED -remsans färg

Med hjälp av denna kod kommer PICO att läsa temperaturgivarens data, omvandla den till volt, sedan till Celsius, och slutligen kartlägger den Celsius -graden till ett PWM -värde som kan läsas av vår LED -remsa, och det är precis vad vi behöver.

Steg 6: Du är klar

Image
Image

Vi gjorde också en akrylbehållare för LED -remsan för att få den att stå upp på ett snyggt sätt. Du hittar CAD -filerna här om du vill ladda ner dem.

Du har nu en fantastisk LED -termometer som automatiskt berättar temperaturen när du tittar på den, vilket är ganska bekvämt minst sagt: P

Lämna en kommentar om du har några förslag eller feedback, och glöm inte att följa oss på facebook eller besök oss på mellbell.cc för mer fantastiskt innehåll.

Rekommenderad: