Ultieme gids voor het verbinden van LED-lichtstrips met Arduino

Ultieme gids voor het verbinden van LED-lichtstrips met Arduino / DIY

De opkomst van LED-verlichting was stratosferisch en het is gemakkelijk in te zien waarom. Ze zijn goedkoop om 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, gebruiksvriendelijke 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 stroken vooral te gebruiken voor omgevingsverlichting, dan is een eenvoudige 12v RGB LED strip (SMD5050) zou de juiste keuze zijn.

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

Image Credit: phanu suwannarat via Shutterstock

Als je iets een beetje hoger technisch wilt, overweeg dan de WS2811/12/12B. Deze strips (soms aangeduid als Neopixels) 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.

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 graden van weersbestendigheid.

Let bij het bekijken van 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 getallen is de weersbestendigheid. Bijvoorbeeld, als de lijst zegt 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. (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

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 Logisch niveau N-kanaal MOSFET's
  • 1 x breadboard
  • Aansluitdraden
  • 12v voeding

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

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 het verzenden van pulsbreedtemodulatie (PWM) signalen naar de poort been, het is mogelijk om te bepalen hoeveel stroom tussen de draineren en bron benen. 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 zijn logisch niveau en niet standaard-.

Stel je circuit zo in:

  1. Verbind Arduino-pinnen 9, 6, en 5 naar de poort de benen van de drie MOSFET's en sluit a 10k weerstand in lijn met elk naar de grondrail.
  2. Verbind de Bron benen naar de grondrail.
  3. Verbind de drain benen naar de Groen, Rood, en Blauw connectoren op de ledstrip.
  4. Verbind de powerrail met 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. Verbind uw 12v voeding naar de power rails.

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:

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 je het juiste board en poortnummer hebt geselecteerd voor je board in de Hulpmiddelen> Bord en Hulpmiddelen> Poort menu's. 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 pins wordt gebruikt 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 overall helderheid variabele, 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 helderheid = 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 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); Aanzetten(); delay (5000); Uitschakelen(); 

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

Eindelijk moet je het 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 kleurenpinnen en reduceert ze 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:

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:

Nu dat we de SMD5050s, laten we verdergaan naar 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 LED-strip (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:

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. Bijna alle ontwikkelboards lopen 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 voedingsbron gebruikt.

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

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

Dansende lichten

Om ons bord veilig te programmeren, koppelt u de VIN lijn van de stroomlijn. 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 de Hulpmiddelen> Bord en Hulpmiddelen> Poort menus.

We zullen de gebruiken FastLED bibliotheek om onze installatie uit te testen. U kunt de bibliotheek toevoegen door op te klikken 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 dat u hoeft te veranderen is het DATA_PIN variabele zodat deze overeenkomt pin 13, en de NUM_LEDS variabele om te definiëren 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!

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 weer op de voedingslijn en bekijk de show!

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-kits 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 met deze Arduino-projecten voor beginners te beginnen. 15 Great Arduino Projects for Beginners 15 Great Arduino Projects for Beginners Ben je geïnteresseerd in Arduino maar weet je niet goed waar je moet beginnen? Hier zijn enkele van onze beste Arduino-projecten voor beginners om mee te beginnen! Lees verder .

Afbeeldingscredits: mkarco / Shutterstock

Ontdek meer over: Arduino, LED-verlichting, LED-strip.