Framväxten av LED-belysning har varit stratosfärisk, och det är lätt att förstå varför. De är billiga att tillverka, förbrukar betydligt mindre ström än andra belysningsalternativ och blir i de flesta fall inte varma, vilket gör dem säkra för en mängd olika användningsområden.
En av de vanligaste LED-produkterna är LED-remsan. I den här artikeln kommer vi att täcka hur du ställer in de två vanligaste typerna med en Arduino. Dessa projekt är väldigt enkla, och även om du är nybörjare med Arduino eller DIY-elektronik kommer du att kunna göra detta.
Vi kommer också att använda Arduino IDE för att kontrollera dem. Detta projekt använder en Arduino Uno, även om du kan använda nästan alla kompatibla kort (som NodeMCU).
Välj din remsa
När du handlar efter LED-remsor finns det några saker att tänka på. Först är funktionalitet. Om du planerar att använda remsorna mest för omgivande belysning, då en enkel 12v RGB LED remsa (SMD5050) skulle vara det rätta valet.
Många av dessa remsor kommer med en infraröd fjärrkontroll för att styra dem, men i det här projektet kommer vi att använda en Arduino för att istället. Lägg lite tid på att shoppa runt, i skrivande stund var det möjligt att få dessa remsor för så lite som $1 per meter.
Bildkredit: phanu suwannarat via Shutterstock
Om du vill ha något lite högre teknik, överväg det WS2811/12/12B. Dessa remsor (ibland kallade Neopixlar) har integrerade styrkretsar som gör att de kan adresseras individuellt. Det betyder att de kan mer än bara omgivande belysning.
Du kan använda dem för att bygga en billig LED-pixelskärm från grunden. Du kan till och med använda dem för att göra din egen personliga stormmolnslampa inomhus.
Dessa remsor kräver bara 5V för att driva dem. Även om det är möjligt att driva små mängder av dem direkt från ett Arduino-kort, är det generellt sett en bra idé att använda en separat 5V-strömförsörjning för att rädda dig från lukten av stekt Arduino. Om du letar efter individuellt programmerbara lysdioder är dessa för dig. I skrivande stund finns de tillgängliga för cirka 4 dollar per meter.
En annan sak att tänka på är var dessa remsor sannolikt kommer att användas. Båda dessa typer av remsor finns i olika längder, LED-densiteter (antalet lysdioder per meter) och olika grader av väderbeständighet.
När du tittar på LED-remsor, var uppmärksam på siffrorna på listningen. Vanligtvis kommer den första siffran att vara antalet lysdioder per meter och bokstäverna IP följt av siffror kommer dess väderbeständighet. Till exempel om listan säger 30 IP67det betyder att det kommer att finnas 30 Lysdioder per meter. De 6 anger att den är helt förseglad från damm, och 7 betyder att den är skyddad mot tillfällig nedsänkning i vatten. (Läs mer om väderbeständighet och IP-klassificeringar.) När du har valt din LED-remsa är det dags att koppla ihop den med en Arduino. Låt oss börja med SMD5050.
Att bli ansluten
För att ansluta en 12v LED-remsa till en Arduino behöver du några komponenter:
12v RGB LED-remsa (SMD5050) 1 x Arduino Uno (vilket som helst kompatibelt kort duger) 3 x 10k Ohm motstånd 3 x Logisk nivå N-kanals MOSFETs 1 x Breadboard-anslutningsledningar 12v strömförsörjning
Innan du ställer in kretsen, låt oss prata om MOSFETs.
När du styr något som är högre spänning än din mikrokontroller, behöver du något däremellan för att förhindra att din bräda blir stekt. Ett av de enklare sätten att göra detta är att använda en MOSFET. Genom att skicka pulsbreddsmodulering (PWM) signaler till Port ben, är det möjligt att kontrollera hur mycket kraft som passerar mellan dränera och källa ben. Genom att föra var och en av LED-remsans färger genom MOSFET kan du styra ljusstyrkan för varje enskild färg på LED-remsan.
När du använder mikrokontroller är det viktigt att använda logiknivåkomponenter för att säkerställa att saker fungerar som du vill att de ska. Se till att dina MOSFETs är det logisk nivå och inte standard-.
Ställ in din krets så här:
- Anslut Arduino-stift 9, 6och 5 till Port benen på de tre MOSFET:erna och anslut en 10k motstånd i linje med varje till jordskenan. Anslut Källa ben till markskenan. Anslut Dränera ben till Grön, Rödoch Blå kontakter på LED-remsan. Anslut kraftskenan till +12v kontakten på LED-remsan (observera att i den här bilden är strömkabeln svart för att matcha färgerna på kontakterna på min LED-remsa). Anslut Arduino-jorden till jordskenan. Anslut din 12v strömförsörjning till kraftskenorna.
De flesta LED-remsor har Dupont [Broken URL Removed] kontakter, som är lätta att ansluta till. Om din inte gör det kan du behöva löda ledningar till LED-remsan. Få inte panik om du är ganska ny på lödning, det är ett enkelt jobb, och vi har en guide för att komma igång med lödning om du skulle behöva det.
Vi kommer att driva vårt Arduino-kort med USB för detta projekt. Du kan välja att driva ditt kort med VIN-stiftet, men se till att du känner till effektbegränsningarna för ditt kort innan du gör detta.
När din krets är klar bör den se ut ungefär så här:
Nu när du har kopplat ihop allt är det dags att göra en enkel Arduino-skiss för att styra den.
Fade It Up
Anslut ditt Arduino-kort till din dator via USB och öppna upp Arduino IDE. Se till att du har valt rätt bräda och portnummer för ditt bräde i Verktyg > Styrelse och Verktyg > Port menyer. Öppna en ny skiss och spara den med ett lämpligt namn.
Den här skissen kommer att tona ut lamporna i en färg i taget, hålla dem tända i några sekunder och sedan tona ut dem tills de släcks igen. Du kan följa igenom här och göra skissen själv, eller helt enkelt ladda ner hela koden från GitHub.
Börja med att definiera vilken stift kommer att användas för att styra MOSFET:erna.
#define RED_LED 6
#define BLUE_LED 5
#define GREEN_LED 9
Därefter behöver du några variabler. Skapa en overall ljusstyrka variabel, tillsammans med en variabel för varje enskild färgs ljusstyrka. Vi kommer bara att använda huvudljusstyrkavariabeln för att stänga av lysdioderna, så ställ in den på maximalt ljusstyrkavärde på 255 här.
du måste också skapa en variabel för att styra hur snabbt blekningen kommer att ske.
int brightness = 255;
int gBright = 0;
int rBright = 0;
int bBright = 0;
int fadeSpeed = 10;
I din uppstart funktion kommer vi att ställa in våra Arduino-stift till utmatning. Vi kommer även att anropa ett par funktioner med 5 sekunders fördröjning emellan. Dessa funktioner finns inte ännu, men oroa dig inte, vi kommer till dem.
void setup() {
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
TurnOn();
delay(5000);
TurnOff();
}
Skapa nu Sätta på() metod:
void TurnOn() {
for (int i = 0; i < 256; i++) {
analogWrite(RED_LED, rBright);
rBright +=1;
delay(fadeSpeed);
}for (int i = 0; i < 256; i++) {
analogWrite(BLUE_LED, bBright);
bBright += 1;
delay(fadeSpeed);
}
for (int i = 0; i < 256; i++) {
analogWrite(GREEN_LED, gBright);
gBright +=1;
delay(fadeSpeed);
}
}
Dessa tre för loopar tar upp varje färg till sin fulla ljusstyrka över en tid som anges av fadeSpeed värde.
Slutligen måste du skapa Stäng av() metod:
void TurnOff() {
for (int i = 0; i < 256; i++) {
analogWrite(GREEN_LED, brightness);
analogWrite(RED_LED, brightness);
analogWrite(BLUE_LED, brightness);brightness -= 1;
delay(fadeSpeed);
}
}
void loop() {
}
Denna metod tillämpar vår ljusstyrka variabel för alla tre färgstiften och reducerar dem till noll under en tidsperiod. Vi behöver en tom loop-metod även här för att undvika kompileringsfel.
När du har slutfört den här skissen, spara den. Verifiera skissen och ladda upp den till ditt Arduino-kort. Om du får fel, kolla igenom koden igen för några irriterande stavfel eller saknade semikolon.
Nu bör du se din LED-remsa öka varje färg individuellt, hålla den vita färgen i 5 sekunder och sedan blekna till ingenting:
Om du har några problem, dubbelkolla din kabeldragning och kod igen.
Det här projektet är ett enkelt sätt att komma igång, men idéerna i det kan utökas för att göra riktigt effektiv belysning. Med bara några fler komponenter kan du skapa ditt eget soluppgångslarm. Om du har ett startpaket med din Arduino kan du använda vilken knapp eller sensor som helst för att trigga dina lysdioder när du går in i rummet, till exempel:
Nu när vi har täckt SMD5050slåt oss gå vidare till WS2812B remsor.
Ljusa idéer
Dessa remsor kräver färre komponenter för att få dem att fungera, och det finns ett visst utrymme för exakt vilka värden på komponenter du kan använda. Kondensatorn i denna krets ser till att 5v lysdioderna får en stadig strömförsörjning. Motståndet säkerställer att datasignalen som tas emot från Arduino är free från någon störning.
Du kommer behöva:
WS2811/12/12B 5v LED-remsa (alla tre modellerna har integrerade chips och fungerar ungefär på samma sätt) 1 x Arduino Uno (eller liknande kompatibel kort) 1 x 220-440 Ohm Motstånd (allt mellan dessa två värden är bra) 1 x 100-1000 mikroFarad Kondensator (allt mellan dessa två värden är bra) Breadboard och anslutningskablar 5V strömförsörjning
Ställ in din krets som visas i diagrammet:
Observera att kondensatorn måste ha rätt riktning. Du kan se vilken sida som fäster på jordskenan genom att leta efter minustecknet (-) på kondensatorns kropp.
Den här gången driver vi Arduino med 5v strömförsörjning. Detta gör att projektet står ensamt när vi är klara, även om det finns viktiga saker att notera här.
Se först till att ditt kort kan ta 5V ström innan du ansluter det till strömkällan. Nästan alla utvecklingskort körs på 5v genom USB-porten, men strömingångsstiften på vissa kan ibland hoppa över spänningsregulatorerna och förvandla dem till rostat bröd.
Det är också bra att se till att flera separata strömkällor inte är anslutna till Arduino – koppla bort USB-kabeln när du använder en extern strömkälla.
När du väl är inkopplad ska det se ut så här:
Nu när vår LED-remsa är inkopplad, låt oss gå vidare till koden.
Dansande ljus
För att säkert programmera vår styrelse, koppla bort VIN linje från kraftledningen. Du bifogar den igen senare.
Anslut din Arduino till datorn och öppna Arduino IDE. Kontrollera att du har valt rätt kort och portnummer i Verktyg > Styrelse och Verktyg > Port menyer.
Vi kommer att använda SnabbLED bibliotek för att testa vår installation. Du kan lägga till biblioteket genom att klicka på Skiss > Inkludera bibliotek > Hantera bibliotek och söker efter FastLED. Klicka på installera så läggs biblioteket till i IDE.
Under Arkiv > Exempel > FastLED Välj DemoReel100 skiss. Den här skissen cirkulerar olika saker som kan göras med WS2812 LED-remsor, och är otroligt lätt att sätta upp.
Allt du behöver ändra är DATA_PIN variabel så att den matchar stift 13och den NUM_LEDS variabel för att definiera hur många lysdioder som finns i remsan du använder. I det här fallet använder jag bara en liten rad med 10 lysdioder skurna från en längre remsa. Använd mer för en större ljusshow!
Det är allt! Ladda upp skissen till ditt kort, koppla ur USB-kabeln och slå på din 5v strömförsörjning. Slutligen, anslut Arduinos VIN till kraftledningen och titta på showen!
Om inget händer, kontrollera dina ledningar och att du angav rätt Arduino-stift i demoskissen.
Oändliga möjligheter
Demoskissen visar några av de många möjliga kombinationer av effekter som kan uppnås med WS2812-remsorna. Förutom att vara ett steg upp från vanliga LED-remsor kan de också användas praktiskt. Ett bra nästa projekt skulle vara att bygga din egen ambilight för ditt mediacenter.
Även om dessa remsor definitivt är mer funktionella än SMD5050s, rabattera inte standard 12v LED-remsorna ännu. De är oslagbara prismässigt, och det finns ett stort antal applikationer för LED-ljusremsor.
Att lära sig att arbeta med LED-remsor är ett bra sätt att bekanta sig med grundläggande programmering på Arduino, men det bästa sättet att lära sig är genom att mixtra. Ändra ovanstående kod och se vad du kan göra! Om allt detta var lite för mycket för dig, överväg att börja med dessa Arduino-projekt för nybörjare.
Bildkrediter: mkarco/Shutterstock
Om författaren
Ian Buckley (220 artiklar publicerade)
Ian Buckley är en frilansjournalist, musiker, artist och videoproducent bosatt i Berlin, Tyskland. När han inte skriver eller står på scen, pysslar han med DIY-elektronik eller kod i hopp om att bli en galen vetenskapsman.
Mer från Ian Buckley
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
