Avmystifiera 4 pin RGB LEDS (Radio Shack 276-0028) (4 / 5 steg)
Steg 4: Måste!... Behålla!... Kontroll!
När du har listat ut vad resistor(s) du behöver, behöver du ett sätt att kontrollera hur mycket ljus de tre delarna producera. Jag använder en Arduino Uno för detta, och en ganska enkel ledningsdragning setup. Jag vidarebefordra Pin3 till Green katod, pin6 till blå katoden, pin9 till röda katod och pin11 till gemensamma anoden. Det finns en enda 220 ohm resistor (vilket är overkill, men det var vad jag hade till hands). Även om du kan se två lysdioder, är de anslutna parallellt så det skulle fungera bara samt med en.
Jag kan skicka ett värde mellan 0 och 255 till funktionen analogWrite() och det kommer att blekna bort elementet LED till önskad nivå. Om systemet verkar bekant, bör det som web-färger uttrycks i decimalform ditåt. Den enda stora skillnaden är att skalorna är omvända. Passerar värdet '0' till lysdioden tänds det med full intensitet, medan ett värde "255" effektivt stänger av helt. På grund av gränserna för PWM verkar vissa kombinationer blixt eller varierar, men massor av kombinationer fungerar. Också eftersom element inte matchas för nuvarande dras om kommer att det röda inslaget övermanna andra två på alla ens inställning. Dessa begränsningar av min enkla installationen kan fastställas med hjälp av en mer komplex design, som den av mpilchfamily i deras instructable 6-knappen-RGB-controller
Jag hittade en schematisk och prov koden från fritzing.org. Jag tvekar att inkludera detta som jag hade svårt att få det att fungera som önskat. Det fungerar dock. Författaren till denna artikel verkar också blanda upp hans villkor när märkning anod och katod, men visar polariteten korrekt.
Som ni kan se ovan, jag dra inte kraften från den bortre sidan av Arduino, men från en annan digital pin (stift 11), så en enda rad kod behövs läggas till exempelkod för att få det att fungera. Lägg bara till. "digitalWrite(11,HIGH);" till toppen av avsnittet void loop() och din iväg till tävlingarna. (Jag har tagit min källkoden i det sista steget)
Jag ska ta en stund att påpeka ett par saker som fick mig att gå i cirklar. Första och mest av, verkar det inte vara krets ledande till marken, detta är faktiskt inte sant, verkar det bara så. 4-pin LED kontrolleras av kliva PWM spänning till jord. Arduino styrelsen själv blir sökvägen till marken. Så du kopplar ström till katoden och marken (eller inte) anoder för att få en viss mängd färgat ljus, det är därför desto högre nummer desto svagare LED elementet.
Personligen jag var inte nöjd med bara slumpmässiga färger och hittade blandning effekten inte alls vad jag letade efter så jag började tweaking genom att minska utbudet av randomiserade numret och lägga till basvärde modifierare så att jag alltid haft en viss nivå av en av de tre elementen kommer. Genom att titta på serial bildskärmen kan du få en uppfattning om värdena som behövs för varje färgkombination. Detta ger dig en plats att börja leta efter vad du behöver för ditt projekt.