INHOUDSOPGAWE:

RGB -termometer met behulp van PICO: 6 stappe
RGB -termometer met behulp van PICO: 6 stappe

Video: RGB -termometer met behulp van PICO: 6 stappe

Video: RGB -termometer met behulp van PICO: 6 stappe
Video: КАК НАСТРОИТЬ L4D2 2024, Julie
Anonim
Image
Image

Dit was die finale resultaat van ons poging vandag. Dit is 'n termometer wat u sal laat weet hoe warm dit in u kamer is, deur 'n RGB LED -strook in 'n akrielhouer te plaas wat aan 'n temperatuursensor gekoppel is om die temperatuur te lees. En ons sal PICO gebruik om hierdie projek lewendig te maak.

Stap 1: Komponente

Die RGB -strook word aangedryf met transistors en 'n kragbron
Die RGB -strook word aangedryf met transistors en 'n kragbron
  • PICO, beskikbaar op mellbell.cc ($ 17)
  • 1 meter RGB LED strook
  • 3 TIP122 Darlington -transistor, 'n bondel van 10 op eBay ($ 3,31)
  • 1 PCA9685 16-kanaal 12-bis PWM-bestuurder, beskikbaar op eBay ($ 2,12)
  • 12v kragbron
  • 3 1k ohm weerstande, 'n bondel van 100 op eBay ($ 0,99)
  • 'N Broodplank, beskikbaar op eBay ($ 2,30)
  • Manlike - vroulike springdrade, 'n bondel van 40 op eBay ($ 0,95)

Stap 2: Voed die RGB -strook met transistors en 'n kragbron

Die RGB -strook word aangedryf met transistors en 'n kragbron
Die RGB -strook word aangedryf met transistors en 'n kragbron
Die RGB -strook word aangedryf met transistors en 'n kragbron
Die RGB -strook word aangedryf met transistors en 'n kragbron
Die RGB -strook word aangedryf met transistors en 'n kragbron
Die RGB -strook word aangedryf met transistors en 'n kragbron

LED -stroke is buigsame stroombane wat vol LED's is. Dit word op baie maniere gebruik, aangesien u dit in u huis, motor of fiets kan gebruik. U kan selfs koel RGB -draagbare materiaal daarmee maak.

So, hoe werk hulle? Dit is eintlik redelik eenvoudig. Al die LED's in die LED -strook is parallel gekoppel en werk soos 'n groot RGB -LED. En om dit uit te voer, moet u die strook eenvoudig aansluit op 'n 12V -kragstroombron.

Om die LED -strook met 'n mikrobeheerder te beheer, moet u die kragbron van die beheerbron skei. Omdat die LED -strook 12v benodig, en ons mikrobeheerder nie soveel uitgangsspanning kan bied nie, en daarom skakel ons 'n eksterne 12v hoë stroombron aan, terwyl ons die beheerseine van ons PICO stuur.

Die huidige trekking van elke RGB -sel is ook hoog, aangesien elke LED daarin - die rooi, groen en blou LED's - 20mA benodig om te werk, wat beteken dat ons 60mA nodig het om 'n enkele RGB -sel te laat brand. En dit is baie problematies, want ons GPIO -penne kan slegs 'n maksimum van 40mA per pen lewer, en as u die RGB -strook direk aan PICO verbind, sal dit verbrand word, so moet dit asseblief nie doen nie.

Maar daar is 'n oplossing, en dit word die Darlington -transistor genoem, 'n paar transistors met 'n baie hoë stroomsterkte, wat ons sal help om ons stroom 'n hupstoot te gee om aan ons behoeftes te voldoen.

Kom ons leer eers meer oor huidige wins. Huidige versterking is 'n eienskap van transistors wat beteken dat die stroom wat deur die transistor gaan, daarmee vermenigvuldig word en die vergelyking daarvan lyk soos volg:

laadstroom = insetstroom * transistorversterking.

Dit is nog sterker in 'n Darlington -transistor, want dit is 'n paar transistors, nie 'n enkele nie, en die effekte daarvan word met mekaar vermenigvuldig, wat ons massiewe huidige winste oplewer.

Ons sal nou die LED -strook verbind met ons eksterne kragbron, die transistor, en natuurlik ons PICO.

  • Basis (transistor) → D3 (PICO)
  • Versamelaar (transistor) → B (LED -strook)
  • Emitter (transistor) → GND
  • +12 (LED -strook) → +12 (kragbron)

Moenie vergeet om PICO se GND aan te sluit op die kragbron nie

Stap 3: Beheer die kleure van die RGB LED Strip

Beheer die kleure van die RGB LED Strip
Beheer die kleure van die RGB LED Strip
Beheer die kleure van die RGB LED Strip
Beheer die kleure van die RGB LED Strip
Beheer die kleure van die RGB LED Strip
Beheer die kleure van die RGB LED Strip

Ons weet dat ons PICO 'n enkele PWM -pen (D3) het, wat beteken dat dit ons 16 LED's nie oorspronklik kan beheer nie. Daarom stel ons die PCA9685 16-kanaal 12-bis PWM I2C-module bekend, waarmee ons PICO se PWM-penne kan uitbrei.

In die eerste plek, wat is I2C?

I2C is 'n kommunikasieprotokol wat slegs 2 drade behels om met een of meer toestelle te kommunikeer deur die adres van die toestel aan te spreek en watter data gestuur moet word.

Daar is twee tipes toestelle: die eerste een is die meesterapparaat, die een wat verantwoordelik is vir die stuur van data, en die ander is die slawe -toestel wat die data ontvang. Hier is die uitlegpunte van die PCA9685 -module:

  • VCC → Dit is die krag van die bord self. Maksimum 3-5v
  • GND → Dit is die negatiewe pen, en dit moet aan die GND gekoppel word om die stroombaan te voltooi.
  • V+ → Dit is 'n opsionele kragpen wat servo's sal voorsien as u een van hulle aan u module gekoppel het. U kan dit ontkoppel as u geen servo's gebruik nie.
  • SCL → Seriële klokpen, en ons koppel dit aan die SCL van PICO.
  • SDA → Serial Data pin, en ons koppel dit aan die SDA van PICO.
  • OE → pin met uitset, hierdie pen is aktief LAAG, as die pen LOW is, is alle uitsette geaktiveer, as dit HOOG is, is alle uitsette gedeaktiveer. En hierdie opsionele pen word gebruik om die penne van die module vinnig in of uit te skakel.

Daar is 16 hawens, elke poort het V+, GND, PWM. Elke PWM -pen word heeltemal onafhanklik uitgevoer, en dit is opgestel vir servo's, maar u kan dit maklik vir LED's gebruik. Elke PWM kan 25mA stroom hanteer, dus wees versigtig.

Noudat ons weet wat die penne van ons module is en wat dit doen, kan ons dit gebruik om die aantal PICO's PWM -penne te verhoog, sodat ons ons RGB LED -strook kan beheer.

Ons gaan hierdie module saam met TIP122 -transistors gebruik, en dit is hoe u dit aan u PICO moet koppel:

  • VCC (PCA9685) → VCC (PICO).
  • GND (PCA9685) → GND.
  • SDA (PCA9685) → D2 (PICO).
  • SCL (PCA9685) → D3 (PICO).
  • PWM 0 (PCA9685) → BASE (eerste TIP122).
  • PWM 1 (PCA9685) → BASE (tweede TIP122).
  • PWM 2 (PCA9685) → BASE (derde TIP122).

Moenie vergeet om PICO se GND aan te sluit by die GND van die kragtoevoer nie. En maak seker dat u die PCA9685 VCC -pen NIE met die 12 volt van die kragtoevoer verbind nie, anders kan dit beskadig word

Stap 4: Beheer die RGB LED -strookkleur, afhangende van die sensor se lesing

Beheer die RGB LED -strookkleur, afhangende van die sensor se lesing
Beheer die RGB LED -strookkleur, afhangende van die sensor se lesing
Beheer die RGB LED -strookkleur, afhangende van die sensor se lesing
Beheer die RGB LED -strookkleur, afhangende van die sensor se lesing

Dit is die laaste stap in hierdie projek, en daarmee sal ons projek verander van "dom" na slim wees en die vermoë hê om op te tree, afhangende van die omgewing. Om dit te doen, gaan ons ons PICO verbind met die LM35DZ temperatuursensor.

Hierdie sensor het 'n analoog uitgangsspanning wat afhang van die temperatuur rondom dit. Dit begin by 0v wat ooreenstem met 0 Celsius, en die spanning styg met 10mV vir elke graad bo 0c. Hierdie komponent is baie eenvoudig en het slegs 3 bene, en hulle is soos volg verbind:

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

Stap 5: Die finale kode

Die finale kode
Die finale kode
Die finale kode
Die finale kode

Noudat ons alles aan ons PICO gekoppel het, kan ons dit begin programmeer sodat die LED's van kleur verander na gelang van die temperatuur.

Hiervoor benodig ons die volgende:

'N Konst. veranderlike met die naam "tempSensor" met die waarde A0 wat die meting van die temperatuursensor ontvang

'N Heelgetal veranderlike met die naam "sensorReading" met aanvanklike waarde 0. Dit is die veranderlike wat die rou sensorlesing sal stoor

'N Float -veranderlike met die naam "volt" met die aanvanklike waarde 0. Dit is die veranderlike wat die omgeskakel sensor se rou leeswaarde in volt sal stoor

'N Vlotvariabele met die naam "temp" met die aanvanklike waarde 0. Dit is die veranderlike wat die omskakelde sensorvoltslesings sal stoor en in temperatuur omskakel

'N Integer veranderlike met die naam "in kaart gebring" met aanvanklike waarde 0. Dit sal die PWM -waarde bespaar waarin ons die temp veranderlike toewys, en hierdie veranderlike beheer die LED strook kleur

Deur hierdie kode te gebruik, sal PICO die data van die temperatuursensor lees, dit omskakel in volt, dan in Celsius, en laastens die Celsius -graad in kaart bring tot 'n PWM -waarde wat deur ons LED -strook gelees kan word, en dit is presies wat ons nodig het.

Stap 6: U is klaar

Image
Image

Ons het ook 'n akrielhouer vir die LED -strook gemaak om dit op 'n mooi manier te laat opstaan. U kan die CAD -lêers hier vind as u dit wil aflaai.

U het nou 'n wonderlike LED -termometer wat u outomaties die temperatuur kan vertel as u daarna kyk, wat op sy minste die minste is: P

Lewer 'n opmerking as u voorstelle of terugvoer het, en moenie vergeet om ons op Facebook te volg nie, of besoek ons op mellbell.cc vir meer wonderlike inhoud.

Aanbeveel: