Ultieme gids voor het aansluiten van LED-lichtstrips op Arduino

Ultieme gids voor het aansluiten van LED-lichtstrips op Arduino

De opkomst van LED-verlichting is stratosferisch geweest en het is gemakkelijk in te zien waarom. Ze zijn goedkoop te produceren, verbruiken aanzienlijk minder stroom dan andere verlichtingsopties en worden in de meeste gevallen niet heet, waardoor ze veilig zijn voor verschillende doeleinden.





Een van de meest voorkomende LED producten is de LED strip. In dit artikel bespreken we hoe u de twee meest voorkomende typen met een Arduino kunt instellen. Deze projecten zijn heel eenvoudig, en zelfs als je een beginner met Arduino of doe-het-zelf-elektronica, u kunt dit doen.





We zullen ook de Arduino IDE gebruiken om ze te besturen. Dit project maakt gebruik van een Arduino Uno, hoewel je bijna elk compatibel bord zou kunnen gebruiken (zoals de NodeMCU).





Kies je strip

Bij het kopen van LED-strips zijn er een paar dingen om rekening mee te houden. De eerste is functionaliteit. Als u van plan bent de strips vooral te gebruiken voor sfeerverlichting, dan is een eenvoudige 12v RGB-LED strippen ( SMD5050 ) zou de juiste keuze zijn.

Veel van deze strips worden geleverd met een infraroodafstandsbediening om ze te bedienen, maar in dit project zullen we in plaats daarvan een Arduino gebruiken. Besteed wat tijd aan winkelen, op het moment van schrijven was het mogelijk om deze strips voor zo weinig als . te krijgen $ 1 per meter .



Afbeelding tegoed: phanu suwannarat via Shutterstock

tv-programma's aanbevelen op basis van wat ik leuk vind

Als je iets meer technologie wilt, overweeg dan de WS2811 / 12 / 12B . Deze strips (soms aangeduid als Neopixels ) hebben geïntegreerde chipsets waarmee ze afzonderlijk kunnen worden aangesproken. Dit betekent dat ze tot meer in staat zijn dan alleen sfeerverlichting.





Je kunt ze gebruiken om helemaal opnieuw een goedkoop LED-pixelscherm te bouwen. Je kunt ze zelfs gebruiken om je eigen persoonlijke stormwolklamp voor binnen te maken.

Deze strips hebben slechts 5v nodig om ze van stroom te voorzien. Hoewel het mogelijk is om kleine hoeveelheden rechtstreeks vanaf een Arduino-bord van stroom te voorzien, is het over het algemeen een goed idee om een ​​aparte 5V-voeding te gebruiken om jezelf te behoeden voor de geur van gefrituurde Arduino. Als u op zoek bent naar individueel programmeerbare LED's, dan zijn deze iets voor u. Op het moment van schrijven zijn ze beschikbaar voor ongeveer $ 4 per meter .





Een ander ding om te overwegen is waar deze strips waarschijnlijk zullen worden gebruikt. Beide soorten strips zijn er in verschillende lengtes, LED-dichtheden (het aantal LED's per meter) en verschillende gradaties van weersbestendigheid.

Let bij het kijken naar ledstrips op de nummers op de aanbieding. Meestal is het eerste cijfer het aantal LED's per meter en de letters: IK P gevolgd door cijfers is de weerbestendigheid. Als er bijvoorbeeld in de aanbieding staat: 30 IP67 , dit betekent dat er zal zijn 30 LED's per meter. De 6 geeft aan dat het volledig is afgesloten van stof, en de 7 betekent dat het is beschermd tegen tijdelijke onderdompeling in water. (Leer meer over weersbestendigheid en IP-classificaties .) Zodra je de door jou gekozen ledstrip hebt, is het tijd om deze te koppelen aan een Arduino. Laten we beginnen met de SMD5050.

Verbinding maken

Om een ​​12v LED strip aan te sluiten op een Arduino heb je een aantal componenten nodig:

  • 12v RGB ledstrip ( SMD5050 )
  • 1 x Arduino Uno (elk compatibel bord is voldoende)
  • 3x 10k Ohm-weerstanden
  • 3x Logisch niveau N-kanaal MOSFET's
  • 1 x Breadboard
  • Aansluitdraden
  • 12v voeding

Voordat we het circuit opzetten, laten we het hebben over: MOSFET's .

Wanneer je iets bestuurt dat een hogere spanning heeft dan je microcontroller, heb je iets ertussenin nodig om te voorkomen dat je bord aanbrandt. Een van de eenvoudigere manieren om dit te doen, is door een MOSFET te gebruiken. Door pulsbreedtemodulatie te verzenden ( PWM ) signalen naar de poort been, is het mogelijk om te bepalen hoeveel kracht er tussen de droogleggen en bron poten. Door elk van de kleuren van de LED-strip door de MOSFET te leiden, kunt u de helderheid van elke individuele kleur op de LED-strip regelen.

Bij het gebruik van microcontrollers is het belangrijk om componenten op logisch niveau te gebruiken om ervoor te zorgen dat de dingen werken zoals u dat wilt. Zorg ervoor dat uw MOSFET's zijn: logisch niveau en niet standaard- .

Stel je circuit als volgt in:

  1. Arduino-pinnen aansluiten 9 , 6 , en 5 naar de poort benen van de drie MOSFET's, en sluit a 10k weerstand in lijn met elk naar de grondrail.
  2. Verbind de Bron poten naar de grondrail.
  3. Verbind de Droogleggen benen naar de Groente , Netto , en Blauw connectoren op de ledstrip.
  4. Sluit de stroomrail aan op de +12v connector van de LED-strip (merk op dat in deze afbeelding de voedingsdraad zwart is om overeen te komen met de kleuren van de connectoren op mijn LED-strip).
  5. Verbind de Arduino-aarde met de grondrail.
  6. Verbind je 12v voeding naar de stroomrails.

De meeste LED-strips hebben Dupont [Broken URL Removed] connectoren, die eenvoudig aan te sluiten zijn. Als de jouwe dat niet doet, moet je mogelijk draden aan de LED-strip solderen. Raak niet in paniek als solderen redelijk nieuw voor u is, het is een gemakkelijke klus en we hebben een handleiding om aan de slag te gaan met solderen, mocht u dat nodig hebben.

Voor dit project zullen we ons Arduino-bord via USB van stroom voorzien. Je kunt ervoor kiezen om je board van stroom te voorzien met behulp van de VIN-pin, maar zorg ervoor dat je de stroombeperkingen voor je board kent voordat je dit doet.

Wanneer je circuit compleet is, zou het er ongeveer zo uit moeten zien:

Nu je alles hebt aangesloten, is het tijd om een ​​eenvoudige Arduino-schets te maken om het te besturen.

Fade It Up

Verbind je Arduino-bord via USB met je computer en open de Arduino IDE. Zorg ervoor dat u het juiste bord en poortnummer hebt geselecteerd voor uw bord in de Gereedschappen > Bord en Hulpmiddelen > Poort menu's. Open een nieuwe schets en sla deze op met een toepasselijke naam.

Deze schets vervaagt de lichten in één kleur tegelijk, houdt ze een paar seconden aan en vervaagt ze totdat ze weer uit zijn. Je kunt hier doorgaan en de schets zelf maken, of gewoon de . downloaden volledige code van GitHub.

Begin met te definiëren welke pinnen zal worden gebruikt om de MOSFET's aan te sturen.

#define RED_LED 6
#define BLUE_LED 5
#define GREEN_LED 9

Vervolgens heb je enkele variabelen nodig. Maak een overall helderheid variabel, samen met een variabele voor de helderheid van elke individuele kleur. We zullen alleen de hoofdhelderheidsvariabele gebruiken om de LED's uit te schakelen, dus stel deze hier in op de maximale helderheidswaarde van 255.

je moet ook een variabele maken om te bepalen hoe snel het vervagen zal plaatsvinden.

int brightness = 255;
int gBright = 0;
int rBright = 0;
int bBright = 0;
int fadeSpeed = 10;

In uw opstelling functie zullen we onze Arduino-pinnen instellen om uit te voeren. We zullen ook een aantal functies aanroepen met een vertraging van 5 seconden ertussen. Deze functies bestaan ​​nog niet, maar maak je geen zorgen, we komen eraan.

void setup() {
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
TurnOn();
delay(5000);
TurnOff();
}

Maak nu de Aanzetten () methode:

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);
}
}

Deze drie voor loops brengen elke kleur tot zijn volledige helderheid gedurende een tijd gespecificeerd door de fadeSpeed waarde.

Ten slotte moet je de . maken Uitschakelen() methode:

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() {
}

Deze methode past onze helderheid variabel voor alle drie de kleurpinnen en reduceert ze na verloop van tijd tot nul. Ook hier hebben we een lege-lusmethode nodig om compilatiefouten te voorkomen.

Nadat u deze schets hebt voltooid, slaat u deze op. Controleer de schets en upload deze naar uw Arduino-bord. Als je fouten krijgt, controleer dan de code opnieuw op vervelende typefouten of ontbrekende puntkomma's.

Nu zou u moeten zien dat uw LED-strip elke kleur afzonderlijk opvoert, de witte kleur 5 seconden vasthoudt en vervolgens uniform vervaagt tot niets:

Als u problemen ondervindt, controleer dan nogmaals uw bedrading en code.

Dit project is een eenvoudige manier om te beginnen, maar de ideeën die erin worden behandeld, kunnen worden uitgebreid om echt effectieve verlichting te maken. Met slechts een paar extra componenten kunt u uw eigen zonsopgangalarm maken. Als je een starterkit bij je Arduino hebt, kun je elke knop of sensor gebruiken om je LED's te activeren wanneer je de kamer binnenkomt, bijvoorbeeld:

hoe oude sms-berichten op de iPhone te vinden

Nu we de hebben behandeld SMD5050's , laten we verder gaan met de WS2812B stroken.

Goede ideeën

Deze strips hebben minder componenten nodig om ze te laten werken, en er is enige speelruimte over welke waarden van componenten u precies kunt gebruiken. De condensator in dit circuit zorgt ervoor dat de 5v LED's een constante stroomvoorziening krijgen. De weerstand zorgt ervoor dat het van de Arduino ontvangen datasignaal vrij is van interferentie.

Je zal nodig hebben:

  • WS2811 / 12 / 12B 5v LED-strip (alle drie de modellen hebben geïntegreerde chips en werken op dezelfde manier)
  • 1 x Arduino Uno (of vergelijkbaar compatibel bord)
  • 1 x 220-440 Ohm Weerstand (alles tussen deze twee waarden is prima)
  • 1 x 100-1000 microFarad Condensator (alles tussen deze twee waarden is prima)
  • Breadboard en kabels aansluiten
  • 5V voeding

Stel uw circuit in zoals weergegeven in het diagram:

Houd er rekening mee dat de condensator de juiste richting moet hebben. U kunt zien welke kant aan de grondrail wordt bevestigd door te zoeken naar het minteken (-) op de behuizing van de condensator.

Deze keer voeden we de Arduino met behulp van de 5v-voeding. Dit zorgt ervoor dat het project op zichzelf staat als we klaar zijn, hoewel er hier belangrijke dingen zijn om op te merken.

Zorg er eerst voor dat je board 5v stroom kan opnemen voordat je het op de stroombron aansluit. Bijna alle ontwikkelborden werken op 5v via de USB-poort, maar de stroomingangspinnen op sommige kunnen soms de spanningsregelaars overslaan en ze in toast veranderen.

Het is ook een goede gewoonte om ervoor te zorgen dat er niet meerdere afzonderlijke stroombronnen op de Arduino zijn aangesloten -- koppel de USB-kabel los wanneer u een externe voeding gebruikt.

Als je eenmaal bent aangesloten, ziet het er als volgt uit:

Nu onze ledstrip is aangesloten, gaan we verder met de code.

hoe kan ik mijn videostreaming versnellen?

Dansende lichten

Om ons bord veilig te programmeren, koppelt u de WIJN lijn van de hoogspanningslijn. U zult het later opnieuw bevestigen.

Sluit uw Arduino aan op de computer en open de Arduino IDE. Controleer of u het juiste kaart- en poortnummer hebt geselecteerd in de Gereedschappen > Bord en Hulpmiddelen > Poort menu's.

We zullen de gebruiken FastLED bibliotheek om onze setup te testen. U kunt de bibliotheek toevoegen door te klikken op Schets > Bibliotheek opnemen > Bibliotheken beheren en zoeken naar FastLED. Klik op installeren en de bibliotheek wordt toegevoegd aan de IDE.

Onder Bestand> Voorbeelden> FastLED selecteer de DemoReel100 schetsen. Deze schets cycli verschillende dingen die kunnen worden gedaan met de WS2812 LED-strips, en is ongelooflijk eenvoudig in te stellen.

Het enige wat je hoeft te veranderen is de DATA_PIN variabele zodat het overeenkomt pin 13 , en de NUM_LEDS variabel om te bepalen hoeveel LED's er in de strip zitten die u gebruikt. In dit geval gebruik ik slechts een kleine lijn van 10 LEDS, gesneden uit een langere strip. Gebruik meer voor een grotere lichtshow!

Dat is het! Upload de schets naar je bord, koppel de USB-kabel los en zet je 5v-voeding aan. Sluit ten slotte het VIN van de Arduino opnieuw aan op de stroomkabel en bekijk de show!

Als er niets gebeurt, controleer dan uw bedrading en of u de juiste Arduino-pin hebt opgegeven in de demo-schets.

Eindeloze mogelijkheden

De demo-schets toont enkele van de vele mogelijke combinaties van effecten die kunnen worden bereikt met de WS2812-strips. Ze zijn niet alleen een stap verder dan gewone LED-strips, ze kunnen ook praktisch worden gebruikt. Een goed volgend project zou zijn je eigen ambilight bouwen voor uw mediacenter.

Hoewel deze strips zeker functioneler zijn dan de SMD5050's, moet u de standaard 12v LED-strips nog niet helemaal afschaffen. Ze zijn onverslaanbaar in termen van prijs, en er zijn een groot aantal toepassingen voor LED-lichtstrips .

Leren werken met LED-strips is een goede manier om vertrouwd te raken met de basisprogrammering op de Arduino, maar de beste manier om te leren is door te knutselen. Pas de bovenstaande code aan en kijk wat u kunt doen! Als dit allemaal een beetje te veel voor je was, overweeg dan om te beginnen met deze Arduino-projecten voor beginners .

Afbeeldingscredits: mkarco/Shutterstock

Deel Deel Tweeten E-mail Canon versus Nikon: welk cameramerk is beter?

Canon en Nikon zijn de twee grootste namen in de camera-industrie. Maar welk merk biedt de betere reeks camera's en lenzen?

Lees volgende
Gerelateerde onderwerpen
  • doe-het-zelf
  • Arduino
  • Loden strip
  • LED lichten
Over de auteur Ian Buckley(216 artikelen gepubliceerd)

Ian Buckley is een freelance journalist, muzikant, performer en videoproducent die in Berlijn, Duitsland woont. Als hij niet aan het schrijven of op het podium staat, sleutelt hij aan doe-het-zelf-elektronica of code in de hoop een gekke wetenschapper te worden.

Meer van Ian Buckley

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren