Ultieme gids voor het verbinden van LED-lichtstrips met Arduino

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.

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.
Advertentie

De opkomst van LED-verlichting was stratosferisch 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 bent met Arduino Aan de slag met Arduino: een beginnershandleiding Aan de slag met Arduino: een beginnersgids Arduino is een open-source prototypeplatform voor elektronica op basis van flexibele, eenvoudig te gebruiken hardware en software. Het is bedoeld voor kunstenaars, ontwerpers, hobbyisten en iedereen die geïnteresseerd is in het maken van interactieve objecten of omgevingen. Lees meer of doe-het-elektronica Beginner's elektronica: 10 vaardigheden die u moet kennen Elektronica van beginners: 10 vaardigheden die u moet weten Velen van ons hebben nog nooit een soldeerbout aangeraakt, maar het maken van dingen kan ongelooflijk lonend zijn. Hier zijn tien van de meest elementaire doe-het-zelf-elektronica-vaardigheden om u op weg te helpen. Lees meer, je zult dit kunnen 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 Ontmoet de Arduino-moordenaar: ESP8266 Ontmoet de Arduino-moordenaar: ESP8266 Wat als ik je zou vertellen dat er een Arduino-compatibel dev-bord is met ingebouwde Wi -Fi voor minder dan $ 10? Nou ja, er is. Lees meer).

Kies je strip

Bij het winkelen voor LED-strips zijn er een paar dingen om te overwegen. Ten eerste is functionaliteit. Als u van plan bent om de strips vooral te gebruiken voor omgevingsverlichting, dan is een eenvoudige 12v RGB LED- strip ( SMD5050 ) de juiste keuze.

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

LED-stripverlichting
Image Credit: phanu suwannarat via Shutterstock

Als je iets een beetje hoger technisch wilt, overweeg dan de WS2811 / 12 / 12B . Deze strips (soms Neopixels genoemd ) hebben geïntegreerde chipsets waarmee ze afzonderlijk kunnen worden geadresseerd. Dit betekent dat ze meer kunnen dan alleen omgevingsverlichting.

Je kunt ze gebruiken om een ​​goedkope LED-pixel te bouwen Weekend Project: Bouw een gigantisch LED Pixel Display Weekend Project: Bouw een gigantisch LED Pixel Display Ik houd van LED-pixels: helder, eenvoudig te bedienen, goedkoop en zo veelzijdig. Vandaag zullen we ze veranderen in een groot pixel-display dat aan de muur kan worden opgehangen. Meer lezen scherm helemaal opnieuw. Je kunt ze zelfs gebruiken om je eigen indoor stormwolklamp te maken.

LED Pixel Display

Deze strips hebben slechts 5V nodig om ze te voeden. Hoewel het mogelijk is om kleine hoeveelheden direct van een Arduino-bord te voorzien, is het over het algemeen een goed idee om een ​​aparte 5V-voeding te gebruiken om jezelf te redden van de geur van gefrituurde Arduino. Als u op zoek bent naar individueel programmeerbare LED's, zijn deze 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-densiteiten (het aantal LED's per meter) en verschillende mate van weersbestendigheid.

Let bij het bekijken van ledstrips op de nummers op de aanbieding. Meestal is het eerste nummer het aantal LED's per meter en de letters IP gevolgd door cijfers zijn weersbestendig. Als de lijst bijvoorbeeld 30 IP67 zegt, betekent dit dat er 30 LED's per meter zijn. De 6 geeft aan dat het volledig is afgedicht tegen stof en de 7 betekent dat het is beschermd tegen tijdelijke onderdompeling in water. (Meer informatie over weerbestendigheid en IP-classificaties Wat maakt een apparaat water- of waterbestendig? Wat maakt een apparaat water- of waterbestendig? Veel apparaten worden op de markt gebracht als waterdicht, maar dat kan zeer misleidend zijn. Wat is het verschil? Hier is alles wat u moet weten. Lees meer.) Zodra u de door u gekozen ledstrip hebt, is het tijd om hem aan een Arduino te koppelen. Laten we beginnen met de SMD5050.

Verbinding maken

Elektronische componenten vereist

Om een ​​12v LED-strip op een Arduino aan te sluiten, hebt u een paar componenten nodig:

  • 12v RGB ledstrip ( SMD5050 )
  • 1 x Arduino Uno (elk compatibel bord zal het doen)
  • 3 x 10k Ohm-weerstanden
  • 3 x MOSFET's met N-kanaals logisch niveau
  • 1 x breadboard
  • Aansluitdraden
  • 12v voeding

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

Wanneer u iets bestuurt dat een hogere spanning heeft dan uw microcontroller, hebt u iets daartussen nodig om te voorkomen dat uw bord wordt gebakken. Een van de eenvoudigere manieren om dit te doen is om een ​​MOSFET te gebruiken. Door pulsbreedtemodulatie ( PWM ) signalen naar de poortpoot te sturen, is het mogelijk om te bepalen hoeveel kracht er tussen de afvoer en de bronpoten overgaat. Door elk van de kleuren van de LED-strip door de MOSFET te leiden, kunt u de helderheid van elke afzonderlijke 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 dingen werken zoals jij dat wilt. Zorg ervoor dat uw MOSFET's logisch zijn en niet standaard .

Stel je circuit zo in:

Arduino MOSFET Circuit

  1. Verbind de Arduino-pennen 9, 6 en 5 met de poortpoten van de drie MOSFET's en sluit een 10k- weerstand aan op elk van de grondrails.
  2. Verbind de Source- poten met de grondrail.
  3. Verbind de afvoerpoten met de groene, rode en blauwe connectoren op de ledstrip.
  4. Sluit de powerrail aan op de + 12v- connector van de ledstrip (merk op dat in deze afbeelding de stroomdraad zwart is om overeen te komen met de kleuren van de connectoren op mijn ledstrip).
  5. Verbind de Arduino-aarde met de grondrail.
  6. Sluit uw 12v -voeding aan op de stroomrails.

De meeste LED-strips hebben Dupont-connectoren waarmee u gemakkelijk een verbinding tot stand kunt brengen. Als dat niet het geval is, moet u mogelijk draden aan de LED-strip solderen. Raak niet in paniek als je redelijk nieuw bent met solderen, het is een eenvoudige klus, en we hebben een handleiding om met solderen te leren Leer solderen, met deze eenvoudige tips en projecten Leer solderen, met deze eenvoudige tips en projecten Ben je een beetje geïntimideerd door de gedachte aan een heet ijzer en gesmolten metaal? Als je wilt gaan werken met elektronica, zul je moeten leren solderen. Laat ons helpen. Meer lezen als je het nodig hebt.

We zullen ons Arduino-bord via USB van stroom voorzien voor dit project. U kunt ervoor kiezen om uw bord met de VIN-pin van stroom te voorzien, maar zorg ervoor dat u de vermogensbeperkingen voor uw bord kent voordat u dit doet.

Als je circuit klaar is, ziet het er ongeveer zo uit:

Arduino MOSFET's op breadboard

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

Fade It Up

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

Met deze schets vervaag je de lichten in één kleur per keer, houd je ze een paar seconden aan en vervaag je ze totdat ze weer uit zijn. Je kunt hier doorgaan en de schets zelf maken, of gewoon de complete code downloaden van GitHub.

Begin met het definiëren van welke pinnen gebruikt zullen worden om de MOSFET's te besturen.

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

Vervolgens hebt u enkele variabelen nodig. Maak een algemene helderheidsvariabele, samen met een variabele voor de helderheid van elke afzonderlijke kleur. We zullen alleen de hoofdhelderingsvariabele gebruiken om de LED's uit te schakelen, dus stel hier de maximale helderheidswaarde van 255 in.

je moet ook een variabele maken om te bepalen hoe snel de vervaging zal plaatsvinden.

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

In je setup- functie zullen we onze Arduino-pinnen instellen om uit te voeren. We zullen ook een aantal functies noemen met een vertraging van 5 seconden tussenin. Deze functies bestaan ​​nog niet, maar maak je geen zorgen, we komen ze te weten.

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

Maak nu de methode TurnOn () :

 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 for- lussen nemen elke kleur tot zijn volledige helderheid over een tijd gespecificeerd door de fadeSpeed- waarde.

Eindelijk moet je de TurnOff () -methode maken:

 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 helderheidsvariabele toe op alle drie de kleurenpinnen en reduceert deze gedurende een bepaalde periode tot nul. We hebben ook hier een lege-lus-methode nodig om compilatiefouten te voorkomen.

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

Nu zou je moeten zien dat je LED-strip elke kleur afzonderlijk oproept, de witte kleur gedurende 5 seconden vasthoudt en vervolgens uniform vervaagt:

LED-strips knipperen

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 componenten kun je je eigen zonsopgangalarm maken Arduino Night Light en Sunrise Alarm Project Arduino Night Light en Sunrise Alarm Project Vandaag maken we een wekker voor zonsopgang, die je langzaam en langzaam wakker maakt zonder een beroep te doen op een aanstootgevend lawaai makende machine. Lees verder . Als je een startpakket hebt met je Arduino Wat zit er in je Arduino Starter Kit? [Arduino Beginners] Wat zit er in je Arduino Starter Kit? [Arduino Beginners] Geconfronteerd met een doos vol met elektronische componenten, is het gemakkelijk om overweldigd te worden. Hier is een gids voor precies wat u in uw kit zult vinden. Meer lezen u kunt elke knop of sensor gebruiken om uw LED's te activeren wanneer u de kamer binnengaat, bijvoorbeeld:

Arduino Motion Controlled Lighting

Nu we de SMD5050 's hebben behandeld, gaan we verder met de WS2812B- strips.

Goede ideeën

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

Je zal nodig hebben:

  • WS2811 / 12 / 12B 5v ledstrip (alle drie de modellen hebben geïntegreerde chips en werken op dezelfde manier)
  • 1 x Arduino Uno (of vergelijkbare compatibele kaart)
  • 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)
  • Broodplank en haak draden
  • 5V-voeding

Stel uw circuit in zoals getoond in het schema:

Arduino Circuit

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

Deze keer voeden we de Arduino met behulp van de 5v voeding. Dit maakt het project op zichzelf staan ​​als we klaar zijn, maar er zijn belangrijke dingen die hier op te merken zijn.

Zorg er eerst voor dat uw kaart 5v stroom kan opnemen voordat u hem op de stroombron aansluit. Vrijwel alle ontwikkelborden draaien op 5v via de USB-poort, maar de stroomingangspins op sommige kunnen soms de spanningsregelaars overslaan en ze in toast veranderen.

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

Als u eenmaal bent aangesloten, ziet dit er als volgt uit:

Arduino voltooid circuit

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

Dansende lichten

Om ons bord veilig te programmeren, koppelt u de VIN- lijn los van de voedingslijn. Je legt het later opnieuw vast.

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

We zullen de FastLED- bibliotheek gebruiken om onze installatie 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 selecteert u de schets DemoReel100 . Deze schets cycli verschillende dingen die gedaan kunnen worden met de WS2812 LED-strips, en is ongelooflijk eenvoudig in te stellen.

Het enige dat u hoeft te wijzigen, is de DATA_PIN- variabele zodat deze overeenkomt met pin 13 en de variabele NUM_LEDS om te bepalen hoeveel LED's zich in de strip bevinden die u gebruikt. In dit geval gebruik ik slechts een kleine lijn van 10 LEDS gesneden uit een langere strook. Gebruik meer voor een grotere lichtshow!

Arduino-code

Dat is het! Upload de schets naar je bord, koppel de USB-kabel los en schakel je 5v-voeding in. Bevestig ten slotte de VIN van de Arduino opnieuw aan de voedingslijn en bekijk de show!

Arduino afgewerkt circuit

Als er niets gebeurt, controleert u uw bedrading en geeft u de juiste Arduino-pin op in de demoschets.

Eindeloze mogelijkheden

De demoschets toont enkele van de vele mogelijke combinaties van effecten die kunnen worden bereikt met de WS2812-strips. Naast dat ze een stapje hoger zijn dan gewone LED-strips, kunnen ze ook praktisch worden gebruikt. Een goed volgend project is het maken van je eigen ambilight. De 8 beste tv-Ambilight-kits voor aangename achtergrondverlichting De 8 beste tv-Ambilight-sets voor aangename achtergrondverlichting Ambilight voegt extra achtergrondlichteffecten toe aan televisies die de video-inhoud op het scherm verbeteren. Maar er zijn veel Ambilight-kits die er zijn. Welke is het beste voor jou? Lees meer voor uw mediacentrum.

Hoewel deze strips beslist meer functioneel zijn dan de SMD5050s, moet u de standaard 12v LED-strips nog niet helemaal uitsluiten. Ze zijn onverslaanbaar in termen van prijs, en er zijn een groot aantal toepassingen voor LED-lichtstrips 22 manieren om uw leven te verlichten met RGB LED-strips 22 manieren om uw leven te verlichten met RGB LED-strips U kunt vijf meter RGB-LED's kopen verlichting voor minder dan $ 10 strippen - dus hier zijn enkele geweldige projectideeën om ze overal in huis te gebruiken. Lees verder .

Leren werken met LED-strips is een goede manier om vertrouwd te raken met basisprogramma's op de Arduino, maar de beste manier om te leren is door te sleutelen. Pas de bovenstaande code aan en kijk wat je kunt doen! Als dit alles een beetje te veel voor je was, overweeg dan om te beginnen met deze Arduino-projecten voor beginners. 10 Great Arduino Projects for Beginners 10 Great Arduino Projects for Beginners Het voltooien van een Arduino-project geeft je een gevoel van voldoening als geen ander. De meeste beginners weten echter niet waar ze moeten beginnen, en zelfs projecten voor beginners kunnen behoorlijk intimiderend lijken. Lees verder .

Afbeeldingscredits: mkarco / Shutterstock

In this article