De verschillen tussen WS2801, WS2811 en WS2812
Laten we eerst eens kijken wat de verschillen zijn tussen de model nummers die we over het hele Internet zien rond dwalen. Wat zijn nu de verschillen tussen de WS2801, WS2811 en WS2812 gebaseerde strips (ook wel “strands” genoemd).
De meeste projecten en de meeste strip verkopers gebruiken deze model nummers een beetje door elkaar en soms is het niet helemaal duidelijk wat nu wat is, en voor we een LED strip gaan kopen moeten we natuurlij eerst weten waar we ons geld aan gaan besteden.
De model nummers WS2801, WS2811 en WS2812 zijn eigenlijk niet vergelijkbaar omdat ze naar verschillende zaken refereren.
De WS2801 en de WS2811 zijn LED driver IC’s (Integrated Circuits).
Deze IC’s besturen tot 3 LEDs, welke normaal gesproken rood, groen en blauw zijn. Deze LEDs zijn vaak erg dicht bij elkaar geplaatst zodat ons oog slechts 1 lichtje ziet waarvan de kleur bepaald is door de combinatie van de 3 LED kleuren.
De WS2801 was een tijdje erg populair, maar de WS2812/WS2811 nemen sterk toe aan populariteit.
De WS2812 es een WS2811 geplaatst in een 5050 LED chip.
De 5050 RGB LED is een erg gebruikelijke LED “chip” met 3 LEDs (Rood, Groen, Blauw) in een 5mm x 5mm doosje.
Een WS2812 ziet er in principe hetzelfde uit, maar in de “chip” zit ook nog eens een WS2811 LED driver IC.
Hieronder een illustratie van de 5050 en een WS2812:
Links zien we een 5050 RGB LED, en rechts een WS2812 welke 5050 RGB LED en WS2811 controller combineert.
Als je goed kijkt dan zie je dat de zilver/grijze sporen hetzelfde zijn, maar de WS2812 heeft een extra zwart blokje en de goudkleurige draadjes lopen anders.
5050 RGB LED (links) versus WS2812 (rechts)
Waar de WS2801 strips 4 draden gebruiken, gebruiken de WS2811/WS2812 strips slechts 3 aansluitingen. Het voordeel van de WS2801 was dat het een aparte clock aansluiting had, terwijl de WS2811/WS2812 dat niet heeft. De WS2811/WS2812 is daardoor veel gevoeliger voor een correcte timing. Productie van een WS2812 is echter goedkoper, en het maken van strips is aanzienlijk eenvoudiger en ieder RGB LED gebruikt aanzienlijk minder ruimte.
Jouw keuze (op dit moment) hangt sterk af van de microcontroller die je gaat gebruiken en of er een functie bibliotheek bestaat voor de strip die je wilt gaan beruiken.
Arduino gebaseerde projecten werken prima met beide typen, omdat een Arduino best vlot is en real-time werkt.
Wanneer je echter een Raspberry Pi wilt gaan gebruiken, dan zijn WS2811/WS2812 strips iets moeilijker te besturen omdat Raspberry Pi’s vaak onder Linux draait, wat niet een zogenaamd Real-time Operating System is, waarbij timing dus kritscher wordt omdat achtergrond taken de geplande timing in de soep kan laten lopen.
In mijn Arduino projectje gebruik ik een WS2812.
Specificaties
Voor wie interesse heeft heb ik de specificaties van de 5050 RGB LED, WS2801, WS2811 en WS2812 als PDF beschikbaar gemaakt:
– WS2801 Specificatie
– WS2811 Specificatie
– WS2812 Specificatie
– 5050 RGB LED Specificatie
Je kunt alle 4 bestanden ook als ZIP bestand downloaden:
Download - WS28xx LED Specification Sheets
Bestandsnaam: |
LED-Specification-sheets.zip |
Platform: |
Undefined |
Versie: |
|
Omvang: |
1.1 MB |
Datum: |
2014-01-03 |
Download Nu
Stuur me Koffie
|
LED Strip verschillen
Er zijn 2 belangrijke soorten van LED strips: Analoge Strips en Digitale Strips.
Voor ons project hebben we DIGITALE STRIPS nodig!
ANALOGE LED STRIPS
Deze soort kunnen we NIET gebruiken voor ons project!
In onderstaande illustraties zie je twee voorbeelden van ansloge strips. De bovenste strip heeft slechts 1 kleur, vaak wit, en is in verschillende kleuren verkrijgbaar. De onderstaande strip is een multicolor strip (RGB pinnen geven dat al aan) waarbij men de kleur kan bepalen van de strip in z’n geheel.
Op dit soort strips zie je vaak een wit blokje je voor de LED(s) gevolgd door een klein zwart blokje, een SMD weerstand.
Onderstaande voorbeelden (en dit geldt voor de meeste analoge strips) werken op 12V.
Analoge Strips – Enkele kleur versus Multicolor
DIGITALE RGB LED STRIPS
Dit zijn de strips die we willen gebruiken omdat we de kleur van iedere individuele LED kunnen aansturen.
In ons voorbeeld gebruiken we een WS2812 Digitale RGB LED strip.
De onderstaande illustratie geeft voorbeeld verschillen tussen WS2801 en WS2811/WS2812 strips.
Merk op dat de meeste digitale RGB strips op 5 Volt werken! (in tegenstelling tot de analoge versie)
Note:
- Niet alle strips van hetzlefde type, zien er hetzelfde uit. De layout is echter vergelijkbaar.
- De achtergrond kleur van een strip is verkrijgbaar in verschilende kleuren (vaak wit of zwart).
- De pijltjes op de strip geven de data richting aan.
- WS2801 heeft 4 aansluitingen, en de WS2811/WS2812 heeft slechts 3 aansluitingen.
- Er zijn strips die lijken op een WS2801/WS2811/WS2812 maar een andere LED driver chip gebruiken.
- Stript zijn beschikbaar in water-proof (in een plastic slang) en als niet-water-proof.
Digitale RGB LED strip – WS2812 (boven) en WS2801 (onder)
WS2801 vs WS2812 aansluitingen
PIN |
WS2801 |
WS2812 |
5V |
Voeding (+5V) |
Voeding (+5V) |
CI |
Klok signaal Ingang |
(niet beschikbaar) |
CO |
Klok signaal Uitgang |
(niet beschikbaar) |
DI |
Data Ingang |
Data Ingang |
DO |
Data Uitgang |
Data Uitgang |
GND |
Aarde |
Aarde |
Data Flow
Zoals je misschien ziet in bovenstaande afbeelding:
Een 5050 RGB LED + LED Driver IC combinatie vormen een “eenheid”.
voor de WS2801 is dit een IC en een 5050, voor een WS2812 is dit een enkele “chip” met een 5050 LED en WS2811 gecombineerd.
Deze eenheden vormen een keten waarbij de input (ingang) kant van de ene eenheid aangesloten is op de output (uitgang) kant van de volgende eenheid. De pijltjes geven daarbij aan wat de data richting is.
Het is belangrijk om de pijltjes in de gaten te houden, als je de richting verkeerd gebruikt dan werken de LEDs NIET.
Merk op : Eenvoudig weg +5V en Aarde (GND) aansluiten zal niets doe met een digitale RBD LED strip – op z’n best zie je de LEDs even op flitsen maar dat is dan ook alles. De data stroom moet namelijk iedere LED “vertellen” hoe intens ze moeten zijn per kleur en standaard is de waarde hiervoor NUL (zwart – UIT dus).
Tijd om een WS2812 strip te bestellen …
Nu dat we een beetje meer weten wat betreft de specificaties van de verstillende LED strips die je kunt kopen, tijd om een strip te gaan kopen/bestellen.
Als eerste even opletten dat een aantal fabrikanten en aanbieders de strips aanbieden met verschillende namen.
Bijvoorbeeld een WS2812 kan aangeboden worden als WS2811, en sommige verkopers trekken aandacht door alle nummers in de titel van het product te zetten.
Lees dus GOED de details.
Zowel Amazon als eBay zijn goede bronnen voor LED strips en een aantal lieden bevestigen een positieve ervaring met Alibaba … ik heb zelf nooit via Alibaba bestelt dus ik kan dat laatste niet bevestigen. Een van mijn persoonlijke favorieten is AdaFruit, wat net zomaar een random shop is maar ook nog eens uitstekende informatie en source code voorbeelden biedt. Een lokale winkel zoals bijvoorbeeld RadioBeurs in Breda is ook een goede bron van electronica.
De Arduino WS2812 verbindingen
Nu dat we een WS2812 strip hebben Arduino (ik gebruik zelf een Arduino UNO voor deze toepassing).
Stroomvoorzieningen
Pas op!
Een strip met LEDs kan veel te veel stroom (A) trekken voor een Arduino en je kunt de Arduino hiermee dus beschadigen.
Een extra 5 Volt voeding is dus sterk aan te raden!
Vuistregel : Iedere RGB LED eenheid kan tot 60 mA nodig hebben (3x 20 mA, een voor Rood, Groen en Blauw).
LED’s, hoewel energie zuinig genoemd, hebben ook stroom nodig … en voor elke WS2812 hebben we tot 60 mA bij 5 Volt nodig als alle 3 de LEDs op maximale helderheid staan.
Externe Voeding
Voor een strip van 1 meter, met 60 LEDs per meter, heb je tot 3.6 Ampère nodig als alle LEDs op maximale helderheid staan (1 meter with 60 LEDs/meter = 60 * 60 mA = 3600 mA = 3.6 A max). Ik heb zelf een stip succesvol met een 2A 5V voeding laten draaien maar er zijn geen garanties dat elke voeding dit kan doen.
Een switching power supply is vaak ideaal en goedkoop – probeer eens een 5V adapter van een oude mobiele telefoon maar let wel op dat het Voltage juist is (5 – 6V) en dat de voeding dus geen maffe voltage zoals 12V of zelfs 16V geeft – nameten met een multi meter is geen overbodige luxe.
Batterijen
Je kunt natuurlijk ook batterijen gebruiken, hoewel ik zelf liever geen batterijen gebruik. Bedenk dat het voltage de som van de individuele batterijen wordt
Bedenk:
– 3 x Alkaline AA batterijen (4.5 V) of
– 4 x NiMH AA herlaadbare batterijen (4.8 V)
Over Ampère enzo …
Zoals eerder vermeld trekt iedere RGB LED maximaal 60 mA, bereken dus eerst hoeveel Ampère je nodig hebt. Vergeet niet dat 1000 mA = 1 A.
Overcapaciteit wat Ampere betreft is aan te raden en doet het project geen kwaad, een 10A 5 Volt Voeding werkt dus prima (en blijft koeler) voor een project dat 3.6A trekt bij 5 Volt. Dit geld echter NIET voor het voltage. Gebruik van hogere voltages kunnen de LEDs beschadigen.
Arduino aan de WS2812 strip koppelen
Met de basis aansluitingen hebben we 2 situaties … de Arduino aangesloten op de computer (via USB) en de Arduino alleen staand en NIET aangesloten op de computer.
Arduino verbonden met de Computer
Tijdens het testen en programeren hebben we de Arduino normaal gesproken verbonden met de PC via een USB kabel. Deze USB kabel biedt de voedingsspanning voor de Arduino.
De DIN (data input) aansluiting van de LED strip gaat naar de Arduino PIN 6 met een optionele 470Ω weerstand.
+5V van de LED strip gaat naar de +5V van de extra voeding.
GND of Aarde gaat naar de aarde van de extra voeding (GND of de min) en naar de aarde (GND) van de Arduino.
De USB van de Arduino gaat naar de computer.
Arduino & WS2812 – USB en Extra Voeding
Arduino Niet verbonden met de computer
Als we de Arduino willen laten draaien ZONDER computer dan kunnen we handig gebruik maken van de extra voeding.
Het zelfstandig draaien van de Arduino zien we vaak als een project “klaar voor gebruik” is en de extra voeding kan zowel Arduino als LEDs voorzien van stroom.
De DIN (data input) aansluiting van de LED strip gaat naar PIN 6 van de Arduino met een optionele 470Ω weerstand.
+5V van de LED strip gaat naar de +5V van de voeding en de +5V van de Arduino (of Vin).
GND of Aarde van de LED strip gaat naar Aarde (GND of min) van de voeding en naar de Aarde (GND) van de Arduino.
Stroom voorziening: Vin of +5V pin gebruiken?
Zoals je in onderstaande afbeelding ziet, gebruik ik de +5V pin voor de voeding. Als je een goed gereguleerde voeding gebruit, dan zal dit ook prima werken.
Mocht je echter helemaal correct willen zijn en/of een minder goed gereguleerde voeding gebruiken dan is de Vin pin hiervoor aan te raden.
Arduino & WS2812 – Zonder computer
Programmeren van de Arduino voor WS2811/WS2812 LED strips
Nu we weten hoe we de LED strips aansluiten op de Arduino, tijd voor wat mooie effecten.
We zouden ons zorgen kunnen gaan maken over de timing details van de WS2811/WS2812 maar gelukkig zijn er twee uitstekende gratis Libraries die dit ons van de handen neemt.
De twee meest populaire Libraries zijn FastLED (opvolger van FastSPI_LED en FastSPI_LED2) en NeoPixel (door AdaFruit). Ik heb ook voor elk een demo video toegveogd, en mocht je de indruk hebben dat de ene langzamer is dan de andere: ben gerust, beide bibliotheken werken even goed en vergelijkbaar in snelheid.
Merk op : Als je de Arduino software nog niet op jouw computer hebt geïnstalleerd kijk dan ook “Mijn Eerste Arduino Project” voor details en downloads.
AdaFruit NeoPixel
Ik ben begonnen met NeoPixel van AdaFruit – niet om een of andere specifieke reden!
De NeoPixel Library voor Arduino kun je downloaden van Github of direct via deze link (zip file) of van Tweaking4All. Zoals gebruikelijk adviseer ik sterk om op de originele pagina te kijken omdat de bestanden op Tweaking4All verouderd kunnen zijn en alleen maar als back-up optie functie gebruikt wordt.
Download - Adafruit NeoPixel
Mocht je het ZIP bestand van Tweaking4All gedownload hebben, kies dan in de Arduino Software “Sketch” “Import Library…” “Add Library…” en kies het ZIP bestand – de bibliotheek wordt nu automatisch geïnstalleerd (met Arduino 1.0.5 of nieuwer).
Mocht je echter de officiele versie gedownload hebben dan kan het zijn dat je een foutmelding krijgt – in dat geval kopieer je de bestanden in het ZIP bestand naar een directory met de naam “AdaFruit_NeoPixel” in de Arduino Library directory. Meer details kun je ook vinden op de Arduino uitleg m.b.t. Libraries.
- Windows:
My Documents\Arduino\libraries\
- MacOS X:
~/Documents/Arduino/libraries/
- Linux:
~/Documents/Arduino/libraries/
Na installatie van de Library, herstart de Arduino software zodat de voorbeelden zichtbaar zijn in het “Examples” menu.
Het eerste voorbeeld dat ik draaide kun je onder voorbeelden vinden. In de Arduino software kies “File” “Examples” “AdaFruit_NeoPixel” “strandtest“.
Voor je op de “Upload” knop druk moet je even een paar kleine zaken controleren:
– regel 3 : zorg ervoor dat #define PIN 6
het juiste PIN nummer van de Arduino heeft
– regel 12 : Zet de eerste parameter Adafruit_NeoPixel(60, ...
zodat het overeenkomt met het aantal LEDs in jouw strip (hier: 60).
Als je het voorgaande stroom schema hebt aangehouden dan gebruiken we dus PIN 6. Klik vervolgens op de “Upload” knop en na een paar seconden zie je de eerste LED demo draaien. Heronder een korte video hoe dat er uit kan zien – ik geef toe dat ik deze video even snel in elkaar gegooid heb zonder al te veel moeite te doen, maar het geeft een idee ….
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include <Adafruit_NeoPixel.h>
#define PIN 6
// Parameter 1 = aantal LEDs in de strip
// Parameter 2 = pin nummer
// Parameter 3 = RGB LED vlaggen, combineer indien nodig:
// NEO_KHZ800 800 KHz bitstream (de meeste NeoPixel producten met WS2812 LEDs)
// NEO_KHZ400 400 KHz (klassieke 'v1' (niet v2) FLORA pixels, WS2811 drivers)
// NEO_GRB RGB LED volgens GRB bitstream (de meeste NeoPixel produkten)
// NEO_RGB RGB LED volgens RGB bitstream (v1 FLORA pixels, niet v2)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);
... |
Ik kan het sterk aanraden om de code door te kijken en wat wijzigingen te proberen.
Hieronder ook nog eens de volledige broncode met (ruwe) Nederlandse opmerkingen.
Let vooral op deze instructies:
1 2 3 4 5 6
| strip.begin(); // init van de strip
strip.show(); // Update alle LEDs (= uitzetten omdat we nog geen LEDs hebben ingesteld!)
...
c = strip.Color(255, 0, 0); // defineer de variable c als ROOD (R,G,B)
strip.setPixelColor(10, c); // zet LED 10 in de kleur die we in de variabele c hebben gezet (rood)
strip.show(); // Update alle LEDs (= maakt LED 10 rood) |
Merk op : Gebruik de kleur ZWART om een LED uit te zetten (strip.Color(0,0,0)
).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| #include <Adafruit_NeoPixel.h>
#define PIN 6
// Parameter 1 = aantal LEDs in de strip
// Parameter 2 = pin nummer
// Parameter 3 = RGB LED vlaggen, combineer indien nodig:
// NEO_KHZ800 800 KHz bitstream (de meeste NeoPixel producten met WS2812 LEDs)
// NEO_KHZ400 400 KHz (klassieke 'v1' (niet v2) FLORA pixels, WS2811 drivers)
// NEO_GRB RGB LED volgens GRB bitstream (de meeste NeoPixel produkten)
// NEO_RGB RGB LED volgens RGB bitstream (v1 FLORA pixels, niet v2)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.show(); // initialisatie van alle LEDs (resulteert in UIT zetten hier)
}
void loop() {
// Een paar voorbeelden:
colorWipe(strip.Color(255, 0, 0), 50); // Rood
colorWipe(strip.Color(0, 255, 0), 50); // Groen
colorWipe(strip.Color(0, 0, 255), 50); // Blauw
// Zogenaamde thearter chase voorbeeld ...
theaterChase(strip.Color(127, 127, 127), 50); // Wit
theaterChase(strip.Color(127, 0, 0), 50); // Rood
theaterChase(strip.Color( 0, 0, 127), 50); // Blauw
rainbow(20);
rainbowCycle(20);
theaterChaseRainbow(50);
}
// Schakel LED na LED aan
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}
void rainbow(uint8_t wait) {
uint16_t i, j;
for(j=0; j<256; j++) {
for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel((i+j) & 255));
}
strip.show();
delay(wait);
}
}
// Iets andere variatie van de rainbow functie maar dan iets gelijkmatiger
void rainbowCycle(uint8_t wait) {
uint16_t i, j;
for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
for(i=0; i< strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
delay(wait);
}
}
//Theatre-style kruipende LEDs.
void theaterChase(uint32_t c, uint8_t wait) {
for (int j=0; j<10; j++) { //10 x doorlopen
for (int q=0; q < 3; q++) {
for (int i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, c); //zet elke 3de RGD LED aan
}
strip.show();
delay(wait);
for (int i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, 0); //zet elke 3de RGB LED uit
}
}
}
}
//Theatre-style kruipen met regenboog effect
void theaterChaseRainbow(uint8_t wait) {
for (int j=0; j < 256; j++) { // gebruik alle 256 kleuren in het wiel
for (int q=0; q < 3; q++) {
for (int i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, Wheel( (i+j) % 255)); //zet elke 3de LED aan
}
strip.show();
delay(wait);
for (int i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, 0); //zet elke 3de LED uit
}
}
}
}
// Voer een waarde van 0 tot 255 in voor berekening van kleur waarden.
// De kleuren zijn een r - g - b combinatie.
uint32_t Wheel(byte WheelPos) {
if(WheelPos < 85) {
return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
} else if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
} else {
WheelPos -= 170;
return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
} |
FastLED (FastSPI_LED)
FastLED is de opvolger van FastSPI_LED en FastSPI_LED2. Volgens de makers van FastLED is deze opvolger gemaakt omdat SPI LED strips niet meer de enige strips zijn die men ondersteund zoals we in ons projectje zien (WS2811/WS2812). De ondersteuning voor een aantal oudere LED strips (niet WS2801-WS2812) heeft men echter laten vallen en voor die ondersteuning zou men eventueel terug kunnen vallen op de oudere FastSPI_LED2 bibliotheek.
Je kunt de bestanden downloaden van GitHub via de “Download ZIP” knop op de FastLED GitHub pagina, je kunt ook deze link direct klikken om het ZIP bestand te downloaden, of je kunt het bestand van Tweaking4All downloaden. Zoals altijd: Het is beter om de bestanden van de officiele download pagina’s van de makers te downloaden. De Tweaking4All versie kan verouderd zijn en heeft alleen maar tot doel een back-up te zijn.
Als je de Tweaking4All ZIP file hebt gepakt, dan kun je in de Arduino Software “Sketch” “Import Library…” “Add Library…” gebruiken en simpelweg het ZIP bestand kiezen. Arduino 1.0.5 en nieuwer installeert dan automatisch the Library en de voorbeelden.
Deze truc kan ook werken met de downloads van GitHub, maar het kan ook zijn dat je tegen een foutmelding aan loopt. In dat laatste geval, kopieer alle bestanden in het ZIP bestand naar een directory met de naam “FastLED” in jouw Arduino Library directory. Meer details kun je vinden op de Arduino Libraries uitleg pagina.
- Windows:
My Documents\Arduino\libraries\
- MacOS X:
~/Documents/Arduino/libraries/
- Linux:
~/Documents/Arduino/libraries/
Na installatie van de Library, herstart de Arduino software zodat de voorbeelden in het “Examples” menu gevonden kunnen worden.
Het eerste voorbeeld dat ik gebruikte heet “testleds” maar ik zag al snel dat de code nog niet aangepast was aan FastLED en in plaats daarvan nog vertrouwde op het oudere FastSPI_LED. Ik heb hieronder de aangepaste code geplaatst zodat het wel met FastLED werkt.
Controlleer de volgende regels voor je verder gaat:
– regel 3: Zorg ervoor dat het correcte aantal RGB LEDs in #define NUM_LEDS 60
staat.
– regel 8: Gebruik het juiste Arduino PIN nummer in #define PIN 6
Je zou kunnen denken dat de NeoPixel mooier is en dat FastLED sneller is – maar beide bibliotheken werken vergelijkbaar snel, het is allemaal een kwestie van wat voor soort demo beschikbaar was. Je zou de voorbeeld code van de ene bibliotheek kunne herschrijven voor de andere bibliotheek en je zou dan merken dat je geen verschil ziet in het eindresultaat.
Net als met de NeoPixel code – adviseer ik de code door te lezen en wat te spelen met kleine veranderingen.
Hier ook weer een kleine video van de demo, en ook hier zie je weer dat ik niet veel moeite heb gedaan om de perfecte video te maken … ik heb zelfs niet eens de moeite gendaan omde LED strip uit het zakje te halen …
Je zult zien, als je NeoPixel en FastLED vergelijkt, dat het aanspreken van de individuele RGB LEDs nete vene anders werkt. Kwestie van persoonlijke voorkeur wat je beter vindt. Overigens heeft FastLED, in tegenstelling tot NeoPixel, een waslijst met voorgedefinieerde kleuren welke ik aan het einde van dit artikel zal laten zien.
Merk op : Om een LED uit te zetten, moet je de kleur op zwart (Black) zetten voor je de show() functie aanroept: leds[10] = CRGB::Black;
.
1 2 3 4 5 6 7 8 9
| leds[10] = CRGB::Red; // Zet LED 10 op rood (Red)
FastLED.show(); // Wijzigingen zichtbaar maken
...
leds[10].r = 255; // zet rood deel voor LED 10 (kleur = Rood + Groen + Blauw)
leds[10].g = 125; // zet groen deel voor LED 10
leds[10].b = 0; // zet blauw deel voor LED 10
FastLED.show(); // Wijzigingen zichtbaar maken |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| #include "FastLED.h"
// Aantal RGB LEDs in de strip
#define NUM_LEDS 60
// definieer array voor de leds
CRGB leds[NUM_LEDS];
// Data aangesloten op deze Arduino pin
#define PIN 6
void setup()
{
FastLED.addLeds<NEOPIXEL, PIN, RGB>(leds, NUM_LEDS);
}
void loop() {
// een-voor-een
for(int j = 0; j < 3; j++) {
for(int i = 0 ; i < NUM_LEDS; i++ ) {
memset(leds, 0, NUM_LEDS * 3);
switch(j) {
case 0: leds[i].r = 255; break;
case 1: leds[i].g = 255; break;
case 2: leds[i].b = 255; break;
}
FastLED.show();
delay(10);
}
}
// groeiende strepen
for(int j = 0; j < 3; j++) {
memset(leds, 0, NUM_LEDS * 3);
for(int i = 0 ; i < NUM_LEDS; i++ ) {
switch(j) {
case 0: leds[i].r = 255; break;
case 1: leds[i].g = 255; break;
case 2: leds[i].b = 255; break;
}
FastLED.show();
delay(10);
}
for(int i = NUM_LEDS-1 ; i >= 0; i-- ) {
switch(j) {
case 0: leds[i].r = 0; break;
case 1: leds[i].g = 0; break;
case 2: leds[i].b = 0; break;
}
FastSPI_LED.show();
delay(1);
}
}
// Fade in/fade out
for(int j = 0; j < 3; j++ ) {
memset(leds, 0, NUM_LEDS * 3);
for(int k = 0; k < 256; k++) {
for(int i = 0; i < NUM_LEDS; i++ ) {
switch(j) {
case 0: leds[i].r = k; break;
case 1: leds[i].g = k; break;
case 2: leds[i].b = k; break;
}
}
FastLED.show();
delay(3);
}
for(int k = 255; k >= 0; k--) {
for(int i = 0; i < NUM_LEDS; i++ ) {
switch(j) {
case 0: leds[i].r = k; break;
case 1: leds[i].g = k; break;
case 2: leds[i].b = k; break;
}
}
FastLED.show();
delay(3);
}
}
} |
Voor gedefinieerde kleuren in FastLED:
AliceBlue = 0xF0F8FF
Amethyst = 0x9966CC
AntiqueWhite = 0xFAEBD7
Aqua = 0x00FFFF
Aquamarine = 0x7FFFD4
Azure = 0xF0FFFF
Beige = 0xF5F5DC
Bisque = 0xFFE4C4
Black = 0x000000
BlanchedAlmond = 0xFFEBCD
Blue = 0x0000FF
BlueViolet = 0x8A2BE2
Brown = 0xA52A2A
BurlyWood = 0xDEB887
CadetBlue = 0x5F9EA0
Chartreuse = 0x7FFF00
Chocolate = 0xD2691E
Coral = 0xFF7F50
CornflowerBlue = 0x6495ED
Cornsilk = 0xFFF8DC
Crimson = 0xDC143C
Cyan = 0x00FFFF
DarkBlue = 0x00008B
DarkCyan = 0x008B8B
DarkGoldenrod = 0xB8860B
DarkGray = 0xA9A9A9
DarkGreen = 0x006400
DarkKhaki = 0xBDB76B
DarkMagenta = 0x8B008B
DarkOliveGreen = 0x556B2F
DarkOrange = 0xFF8C00
DarkOrchid = 0x9932CC
DarkRed = 0x8B0000
DarkSalmon = 0xE9967A
DarkSeaGreen = 0x8FBC8F
DarkSlateBlue = 0x483D8B
DarkSlateGray = 0x2F4F4F
DarkTurquoise = 0x00CED1
DarkViolet = 0x9400D3
DeepPink = 0xFF1493
DeepSkyBlue = 0x00BFFF
DimGray = 0x696969
DodgerBlue = 0x1E90FF
FireBrick = 0xB22222
FloralWhite = 0xFFFAF0
ForestGreen = 0x228B22
Fuchsia = 0xFF00FF
Gainsboro = 0xDCDCDC
GhostWhite = 0xF8F8FF
Gold = 0xFFD700
Goldenrod = 0xDAA520
Gray = 0x808080
Green = 0x008000
GreenYellow = 0xADFF2F
Honeydew = 0xF0FFF0
HotPink = 0xFF69B4
IndianRed = 0xCD5C5C
Indigo = 0x4B0082
Ivory = 0xFFFFF0
Khaki = 0xF0E68C
Lavender = 0xE6E6FA
LavenderBlush = 0xFFF0F5
LawnGreen = 0x7CFC00
LemonChiffon = 0xFFFACD
LightBlue = 0xADD8E6
LightCoral = 0xF08080
LightCyan = 0xE0FFFF
LightGoldenrodYellow = 0xFAFAD2
LightGreen = 0x90EE90
LightGrey = 0xD3D3D3
LightPink = 0xFFB6C1
LightSalmon = 0xFFA07A
LightSeaGreen = 0x20B2AA
LightSkyBlue = 0x87CEFA
LightSlateGray = 0x778899
LightSteelBlue = 0xB0C4DE
LightYellow = 0xFFFFE0
Lime = 0x00FF00
LimeGreen = 0x32CD32
Linen = 0xFAF0E6
Magenta = 0xFF00FF
Maroon = 0x800000
MediumAquamarine = 0x66CDAA
MediumBlue = 0x0000CD
MediumOrchid = 0xBA55D3
MediumPurple = 0x9370DB
MediumSeaGreen = 0x3CB371
MediumSlateBlue = 0x7B68EE
MediumSpringGreen = 0x00FA9A
MediumTurquoise = 0x48D1CC
MediumVioletRed = 0xC71585
MidnightBlue = 0x191970
MintCream = 0xF5FFFA
MistyRose = 0xFFE4E1
Moccasin = 0xFFE4B5
NavajoWhite = 0xFFDEAD
Navy = 0x000080
OldLace = 0xFDF5E6
Olive = 0x808000
OliveDrab = 0x6B8E23
Orange = 0xFFA500
OrangeRed = 0xFF4500
Orchid = 0xDA70D6
PaleGoldenrod = 0xEEE8AA
PaleGreen = 0x98FB98
PaleTurquoise = 0xAFEEEE
PaleVioletRed = 0xDB7093
PapayaWhip = 0xFFEFD5
PeachPuff = 0xFFDAB9
Peru = 0xCD853F
Pink = 0xFFC0CB
Plaid = 0xCC5533
Plum = 0xDDA0DD
PowderBlue = 0xB0E0E6
Purple = 0x800080
Red = 0xFF0000
RosyBrown = 0xBC8F8F
RoyalBlue = 0x4169E1
SaddleBrown = 0x8B4513
Salmon = 0xFA8072
SandyBrown = 0xF4A460
SeaGreen = 0x2E8B57
Seashell = 0xFFF5EE
Sienna = 0xA0522D
Silver = 0xC0C0C0
SkyBlue = 0x87CEEB
SlateBlue = 0x6A5ACD
SlateGray = 0x708090
Snow = 0xFFFAFA
SpringGreen = 0x00FF7F
SteelBlue = 0x4682B4
Tan = 0xD2B48C
Teal = 0x008080
Thistle = 0xD8BFD8
Tomato = 0xFF6347
Turquoise = 0x40E0D0
Violet = 0xEE82EE
Wheat = 0xF5DEB3
White = 0xFFFFFF
WhiteSmoke = 0xF5F5F5
Yellow = 0xFFFF00
YellowGreen = 0x9ACD32
Reacties
Er zijn 261 reacties welke je hieronder kunt lezen.
Je kunt jouw eigen opmerkingen plaatsen m.b.v. dit formulier, of een reactie op een bestaande opmerking plaatsen door op de "Beantwoorden" knop te klikken.
Top artikel!
Lukas
Dank je wel Lukas!
hans
Helder artikel, precies wat ik nodig had voor de eerste stap met deze electronica. Bedankt!
Matthijs
Hartelijk dank voor de positieve reactie Matthijs!
Altijd goed om te horen dat men iets aan mijn artikeltjes heeft!
hans
Goed heldere uitleg, heb er veel aan gehad, heb wel een probleem met het data signaal, deze lijkt niet altijd volledig naar de strip te gaan. (als ik de weerstand overbrug doet die het wel goed). gebruik nu een 430Ω. +/- 15 cm kabel tussen strip en Arduino mini pro 5v 328.
ik zou wel graag een weerstand gebruiken ivm de duurzaamheid van de eerste led.
iemand suggesties?
harmvdn
Dank je wel harmvdn …
Weg laten van de weerstand in de data lijn is geen probleem (in mij Boblight project gebruik ik de weerstand ook niet).
Wat de bescherming van het eerste “LED”; Als je de WS2811/WS2812 goed bekijkt dan zie je dat ieder LED “blokje” al een weerstand heeft … ik denk niet dat een extra weerstand nodig is of gaat uitmaken.
hans
bedankt voor de reactie ik ga het eens een weekje proberen zonder, heb tendens het testen wel mijn eerste led opgeblazen, maar kan dat de power suply een beetje teveel was toen..
bedankt
harmvdn
Ik heb nog LEDs opgeblazen, maar tijdens de eerste tests wel gemerkt dat een aantal LEDs gewoon niet werkte in de strip (anderen hadden dezelfde ervaring – dus ik vermoed dat de kwaliteitscontrole bij een aantal fabrikanten niet echt super is).
Overigens: een WS2811/12 “LED” is in feite 3 LEDs en een klein controllertje in 1 doosje – als zo’n blokje dood gaat dan lijkt het erop dat het controllertje het de geest geeft en niet de LEDjes zelf, uiteraard moeilijk te testen.
hans
Geweldige website met handige tips.
Echter heb ik enkele vragen:
Ik heb mijn (4m) WS2801 led-stip binnen die moet gaan werken als ‘Boblight’.
Nu ben ik bezig met de voorbereiding hiervan, ik neem aan dat ik hiervoor de WS2801 library voor nodig heb van Adafruit (Github).
Ik heb die library toegevoegd aan mijn Arduino IDE, en ga vanavond de eerste test doen met die 2 sample scripts, echter als ik deze wil gaan inzetten als ‘Boblight’ wat moet ik dan voor script gaan gebruiken binnen de IDE? Neem aan dat ik dit niet op ‘Strandtest’ kan laten staan omdat die een test programma heeft.
Ik ben al wat aan het heen en weer zoeken, maar kom er eigelijk niet uit. De vraag is kort gezegd; welke snippet heb ik nodig om de Arduino te laten fungeren als Boblight interface zodat XBMC er tegenaan kan praten?
Jelle
Dank je wel Jelle!
Wat jouw LEDs betreft: je zult een andere sketch voor de Arduino moeten gebruiken, omdat de WS2801 anders werkt dan de WS2811 of WS2812. Als ik me niet vergis werkt de AdaFruit code inderdaad ook een WS2801.
Als ik de info bij AdaFruit door kijk dan moet je de WS2801 Library gebruiken (zoals je zelf al aangaf).
Helaas kan ik het zelf niet testen omdat ik geen WS2801’s heb, en het vinden van een “goede” sketch viel ook voor dit project niet mee. Toen ik mijn eigen Boblight bouwde maakte ik uiteindelijk mijn eigen code (op basis wat ik had geleerd van andere voorbeelden die ik na lang zoeken had gevonden).
Wat handige links:
– Hoe maak je een Boblight met WS2801 voor Enigma (je kunt hier een Arduino Sketch vinden)
– AdaFruit WS2801 artikel (library details)
– XBMC Forum (ws2801 bobolight voor Windows)
– OpeneElec Forum (vanaf post #3)
hans
Hallo Hans, bedankt voor je aanwijzingen.
Ik had het gister avond laat alsnog voor elkaar gekregen.
Echter waar ik nu tegen aan loop, is dat de snelheid van de kleuren niet mooi vlot gaan. Zie deze video:
http://www.youtube.com/watch?v=CnGbLCwfsqM
Ook heb ik bij films dat de leds soms individueel juist te snel reageren en dus heel onrustig kijkt, ook heb ik soms felle kleuren die totaal niet overeen komen, terwijl het grootste gedeelte wel klopt.
Heb je op basis van bovenstaande misschien tips om dit te kunnen verbeteren?
Jelle
Hoi Jelle – Mooi om te horen dat je het zaakje aan de gang hebt!
Ik neem even aan dat je XBMC en Boblight gebruikt ….
Wat de snelheid betreft;
Ik denk niet dat er Boblight configuraties zijn die 100% in sync lopen met de video, je zult altijd een kleine vertraging zien. Tijdens het bekijken van een film merk ik er zelf niks van, maar tijdens een test video zie je het.
Wat bij mijn opstelling hielp was het uitzetten van bepaalde XBMC plugins. Begin met alle plugins uit te zetten, behalve die voor Boblight natuurlijk. Doe een test en kijk of het uitmaakt. Als het uitmaakt, dan een-voor-een weer de plugins aanzetten tot je merkt dat het zaakje duidelijk vertraagd. Ik had dit zelf met een plugin die in de achtergrond controleert of er nieuwe videos waren.
Kleuren en onrustig;
Kijk eens naar de XBMC Boblight config, je kunt daar snelheid en kleur correcties invoeren.
Zeker even de moeite om de reacties in mijn artikel m.b.t. Boblight/OpenElec te bekijken (Nederlands, Engels). De reacties voor beide talen worden niet vertaald, kijk dus zeker ook even naar de reacties onder het Engelstalige artikel.
Onder het Engelstalige artikel zul je ook zien dat een aantal gebruikers hun instellingen hebben gepost – een goede start voor betere instellingen.
Hopelijk helpt je dit op weg …
hans
Hi Hans,
Ja ik gebruik inderdaad Boblight i.c.m. XBMC.
Ik zal wel eens kijken of ik vanavond nog het e.e.a kan tweakers wanneer het vrouwtje op bed is (die vijf dat soort dingen onzin maar zelf wel ambilight willen).
Enige nadeel is dat het zo lang duurt om heen en weer te switchen tussen film/serie en Boblight configuratie. Maar ik zal wel eens wat configuraties bij elkaar zoeken. Vraag me ook af of dat onrustige (niet ‘vloeiende’) te maken kan hebben met de Arduino software die er nu op staat. Maar ik zal wel wat proberen, kom vanzelf wel een goede situatie tegen ;-).
Bedankt voor je hulp, en ik blijf cker uitkijken naar deze site, als echte tweaker mooie artikelen :-).
Mocht ik een doorbraak vinden met m’n boblight dan zal ik dit zeker hier ff melden.
Jelle
Haha, ik snap um helemaal …
Ik heb zelf ook behoorlijk lopen prullen en het steeds herstarten of het naar de XBMC Config gaan is en blijft bewerkelijk. Iemand op de Engelstalige pagina gaf wat tips hoe je sneller naar de config kunt gaan, maar ik moet bekennen dat ik het zelf nog niet geprobeerd heb (zit midden in het overschakelen naar Gotham en liep tegen wat database probleempjes).
Dank je wel voor het compliment! En laat het zeker weten als je een doorbraak hebt!
hans
Ik heb het voor elkaar om de boblight config paneel op te roepen met een toets op de remote, stuk handiger zo tijdens een film of serie tweaken
Jelle
Nice!
Welke stappen deed je hiervoor?
hans
Ik gebruik hiervoor het onderstaande als keymap:
Hiervoor hoef je dan enkel nog de key ID uit te zoeken die bij die knop op de afstandsbediening hoort. Deze knop had ik al eens ergens anders voor gebruikt. Wellicht dat de textuele ID ook werkt (de knop die ik gebruik heet in XBMC eigelijk “launch_mail”).
Dit werkt perfect, onder het afspelen krijg je enkel die instellingen popup ervoor, aanpassen, en op OK drukken, en dat telkens weer tot het fatsoenlijk lijkt.
Jelle
Thanks voor de tip Jelle! Ik ga er van de week mee aan de slag, eerste effe een vrije toets op de afstandsbediening zoeken … na upgrade naar XBMC v13 zijn mijn Boblight instellingen gereset dus ik kan weer opnieuw beginnen …
hans
Ik heb een Raspberry pi met OpenElec XBMC Gotham en wil graag aan de slag gaan om een led strip erop aan te sluiten ( ambilight of boblight of hoe het heet….) maar ik zie in je post staan dat de WS2811/WS2812 niet echt geschikt zijn hiervoor. Kan jij aangeven welke ik dan zou moeten gebruiken? of moet ik een aparte Arduino aanschaffen en deze koppelen aan mijn raspberry?
ik hoor graag van je. Mvg,Sidney
Sidney
Hi Sidney!
Je kunt de WS2811/WS2812 wel gebruiken, mits je ook de Arduino gebruikt.
Als je echter de GPIO pinnen van de Raspbery Pi direct wilt gebruiken, dus zonder Arduino, dan zijn de Ws2801 e.d. een betere keuze – maar ik heb een dergelijke opstelling zelf nooit gebruikt.
Als je de Arduino WEL gebruikt, kijk dan ook eens bij de opmerkingen onder de Engelstalige versie van dit artikel (link).
Als ik me niet vergis is een van de gebruikers daar ook met een Raspberry Pi aan het spelen (met succes).
Kijk ook zeker in het OpenElec forum.
hans
Ik denk dat ik dan toch maar ga voor de opzet met een arduino ookal heb ik daar nog nul kennis van. ik keek net even op een site waar je deze kunt bestellen en daar kan ik al niet kiezen. ik weet nie echt wat ik nodig heb hiervoor. wellicht dat jij me in de juiste richting kan sturen ?
Sidney
Geen probleem …
Ik gebruik zelf de Arduino Uno R3, niet te duur en handig voor experimenteren, eventueel ook voor andere projectjes.
Later, als je wat meer bekend bent met de Arduino, kun je voor jouw “eind product” b.v. een Arduino Nano kiezen.
Er zijn een aantal imitatie Arduino’s te koop, welke vaak hetzelfde werken maar wel goedkoper zijn. Dat is er soms ook aan af te zien (slecht soldeer werk, pinnen in andere plaatsen dan de gewone Arduino modellen, ontbreken van of andere pin benaming).
Je hebt (zoals in het Boblight artikel beschreven staat), natuurlijk LEDs, wat draadjes en een geschikte voeding nodig. Dit is ook de plaats waar je het beste meer info vindt, en reacties kunt krijgen op vragen – kijk eventueel ook op de Engelstalige pagina van dat artikel aangezien je hier meer gebruikers zult zien.
hans
Nou, ik heb me eerste arduino uno R3 besteld, nu rest de vraag wat beter is voor ambilight, die led strips of die bulbs.. Adalight ofzo? En waar ken ik deze dan het best bestellen .. Woonachtig in Nederland .. Iemand advies?
Sidney
Zowel de strips als de bulb werken prima, maar persoonlijk vond ik de strip handiger om mee te werken. Minder bungelende draadjes, eenvoudige rechte strip etc. Maar dat is natuurlijk persoonlijk en afhankelijk van hoeveel ruimte je wilt laten tussen de LEDS. Met de bulbs heb je wat meer flexibiliteit wat de afstand tussen de LEDs betreft.
Ik denk dat de meest gebruikte “shops” voor LED strips of bulbs zij eBay (NL), Amazon (DE) en AdaFruit. Moet ik wel zeggen dat ik bij AdaFruit geen WS2811/WS2812 strips kon vinden, maar misschien zag ik ze over het hoofd.
hans
Hans,
Ik heb me tv op gemeten en de conclusive getrokken dat ik 3 meter led nodig heb. deze heb ik gevonden op marktplaats het is een ws2812, zoals je al weet wil ik dus ambilght maken. nu zag ik jou formule om de ampere te berekenen maar klopt het dan voor een led strip van 3 meter dat ik een 5V 11A en hjoeveel Watt dan ? ik snap dat niet echt. sorry.
ik heb toch niet meer nodig dan een arduino ledstrip en power adapter ?
ik hoop graag van je te horen.
gr,Sidney
Sidney
Hi Sidney,
Ik geloof dat jouw vraag onder het verkeerde artikel staat … ik denk dat “Ambilight met OpenElec” het artikel is wat je bedoelt?
Anyhow,… Wat de voeding betreft: 5V 11A is het maximale wat je nodig zou hebben, maar je kunt het ook gerust met wat minder doen (zoals in het artikel beschreven is). In jouw geval zou b.v. 6A vast wel werken. Als je het zekere voor het zekere wilt nemen, kies dan b.v. een 10A 5V voeding. Ik kon mijn tests met een enkele strip (1 meter, 60 LEDs) prima doen met een 2A voeding, dus ik denk dat voor 3 meter 6A vast wel zal werken. Bedenk dat niet alle LEDs tegelijk op het maximale aan staan …
Het wattage hangt af van de voeding en aan welke kant van de voeding je kijkt.
Voor de uitgang (de 5V dus) heb je een wattage van 50W nodig als je en 10A voeding wilt. (Watt = Voltage x Ampère).
Voor de ingang (de 220V kant) is dit wat lastiger te bepalen omdat het e.e.a. ook afhangt van hoe efficiënt de voeding is. Stel de voeding 100% efficient, dan zou de ingang ook 50W zijn, maar 100% efficiënt bestaat eigenlijk niet dus het Wattage aan de ingang is iets wat eigenlijk weinig zegt over de uitgang. Misschien beter om dat dus te negeren en je te concentreren op het Ampère getal aan de uitgang.
hans
Een “trend” is nu ook dat de Teensy 3.1 wordt gebruikt met de WS2812 led/ledstrip, schijnt snel te wezen.
Eric-Jan van den Bogaard
Nice, ik zie dat ze voor $20 een leuke ARM Cortex er in zetten met flink wat geheugen (Flash/RAM) en dat op 72 Mhz … interessant!
Ik ga ‘m op m’n verlanglijstje zetten, thanks voor de tip!
Voor wie meer wil weten: https://www.pjrc.com/teensy/index.html
hans
Hi,
I have again a question.
I made the exampkle working and played a little bit with the LED strip and it is really nice.
Now my question. i want to build a “stand alone” board and I dont want to use the Arduino Uno board later when the program is finished.
Can I just upload the programm to the atmega328 on my board and remove the atmega328 and connect it like this on any PCB?
Do I need the external 16MHz oscillator?
http://img5.fotos-hochladen.net/uploads/minimalatmega33f69m2utwb.jpg
Thanks
Mike
Hi Mike,
yes I think that would work (if you plan to do this more often, consider using a ZIF socket on your Arduino board so you won’t damage/bend the pins), and yes you’ll need the 16 Mhz crystal to clock the controller.
Please let us know how your project pans out – I find it very interesting to minimize the components like this (or consider getting a cheap clone Nano).
hans
Placing a header on the final board, for a FTDI interface makes life easier, when the 328 has a bootloader, you can upload a Sketch “onboard”
Eric Jan
btw. from each connection of the crystal there needs to go a 27pF cond. to ground/GND
I guess you discovered this yourself….
you had success ?
Eric-Jan van den Bogaard
Thanks for the tip!
I have not tried that one yet.
I have to still try this … (haven’t had time yet – stuck in some other projects )
hans
Ik begin nu ook een beetje met de WS2812B en Arduino, en vraag me af of ook het een en ander draadloos kan gemaakt worden met de populaire HC-06 BT module.
De WS2812B schijnt de betere RGB 5050 led met ingebouwde driver te zijn, met polariteit bescherming.
Eenmaal uit het prototype stadia, is een FTDI kabeltje/opsteekprintje handig.
In Nederland heeft https://www.ledtuning.nl de WS2812B los, en op strip verkrijgbaar, dat gaat allemaal veel sneller dan ’t buitenland en ook nog ’s gratis verzending
Eric-Jan van den Bogaard
Hoi Eric-Jan,
hans
Als oefening heb ik eens een FT232RL op een breakout printje gesoldeerd, SMD dus, op EEVBLOG wordt dat goed uitgelegt, en dat ging dus goed, de FT232RL heeft verder weinig componenten nodig , de Nano is een 328 atmega met een FT232RL op de andere zijde van het printje, de arduino.cc website legt dat goed uit, de verbinding bestaat uit RX TX en een reset verbinding (met c’tje) ertussen, heb dit dus op een breadboardje uitgeprobeerd, en werkt makkelijk, en de FT232RL is zo altijd aan te sluiten, ook als met 3,3 volt “gewerkt” moet worden. De 328 Atmega heeft tenslotte FT232RL alleen nodig voor het uploaden van de Sketch, een kristal met 2 maal 22pf naar massa, en voedings spanning met c’tjes ontstoren als dat nodig is voor de 328 genoeg, blijft alles simpel.
Eric Jan
De WS2812B led strip heeft als voordeel dat je een soldeer oogje door midden knipt, en niet tussen twee soldeer oogjes, dan hoef je dus geen materiaal weg te knippen, (afstand!) of draad bruggetjes te maken.
Eric Jan
Dat kan bij de 2812 ook, bij de strips die ik had hoefde ik alleen maar in de rubberachtige omhulling (om het “waterdicht” te maken ) te snijden.
Als je naar de foto kijkt dan zie je dat je precies tussen twee eilandjes door kunt knippen …
(is dat veel anders bij de 12B dan?)
hans
Ja, De led strip WS2812B (zonder isolatie omhulsel gelukkig) heeft 1 eilandje per contact,
je knipt dus 1 eilandje (3x) door, en je kunt dus niet tussen eilandjes knippen > foto WS2812B strip
Er zitten dan ook 144 RGB leds op 1 meter strip, dit zal misschien anders zijn op de 60 leds per meter versie, wat eilandjes betreft dan.
Eric-Jan van den Bogaard
Ik zag dat de link niet werkt, dus:
https://www.ledtuning.nl/nl/ws2812-flex-display
Eric-Jan van den Bogaard
144 LEDs per meter, wow, dat is best indrukwekkend, ik kan me dan voorstellen dat ze inderdaad weinig ruimte over houden tussen de LEDjes.
Gebruik jij zelf dit soort strips?
Ik gebuik 60 LEDs per meter voor een 80″ TV en dat werkt prima, maar ik kan me voorstellen dat 144 LEDs per meter behoorlijk wat meer licht zal geven.
hans
Ik wil graag een ledstrip van 7 meter op delen in stukjes van 40 cm, deze aan elkaar solderen met 20 cm draad er tussen. Gaat dit systeem dan nog steeds werken of klopt de timing dan niet meer?
Ferdy
Ik kan het niet garanderen, maar ik vermoed dat dit geen probleem zal zijn.
Als ik de chip functie goed begrijp wordt het signaal steeds herhaald (minus de gebruikte kleur info voor de betreffende LED).
20 cm zou geen probleem mogen zijn.
hans
Hoi Ferdy,
Zoiets wil ik ook gaan doen? Heb je dit al gedaan? Werkte het?
Nick
Ik moet nog een kleine ATX voeding (10A) herbedraden, want 5 Ampère is niet genoeg wat ik nog had zag ik wil de strip opdelen tot een display.
Eric Jan
Ik vond deze 10A voeding op eBay voor $26 … werkt uitstekend, niet te groot, meteen in een net doosje, maakt geen geluid en blijft koel met 292 LEDs.
hans
Een ATX voeding heeft toch wat haken en ogen merk ik, Ledtuning heeft ook een 20 Amp. voor 30 euro zag ik, ik koop liever in Nederland, gaat snel, en betere service.
Eric Jan
Voor 30 Euro en dan 20A … ik zou die ook meteen nemen!
$26 + verzendkosten zal toch erg dicht bij die 30 Euro zitten, misschien zelfs duurder en dan heb je maar 10A en niet uit Nederland!
Heb de link gevonden: LedTunig 5V 20A Open Frame (voor wie interesse heeft)
hans
Ja, dat is’m en ik heb ‘m net besteld.
In je voorbeeld voed je de Arduino via de stackheader, dan gaat dat dus niet via de fuse van de Arduino jack-barrel ? Veilig genoeg ?
Eric Jan
Als je het echt volgens de regels wilt doen, ja dan is jouw methode de veiligste methode.
Het werkt hier al sinds 4 January, dagelijks, goed … ik gebruik deze opstelling voor Boblight en XBMC,… dus iedere keer als er TV gekeken wordt gaat het aan …
hans
Nou, op jouw manier kun je dan dus ook een prototype shield “bebouwen” en is dan echt “plug and play” snel.
Eric Jan
hans
In het begin van je artikel zeg je dat de ledstrip 3 aansluitingen heeft, maar heeft dus eigenlijk 4 aansluitingen: +,-,in,uit. Klein detail dus.
De strip met 144 leds per meter: de leds zitten wel erg dicht op elkaar en is misschien niet geschikt voor ieder projekt, ik vraag mij af, krijgt de led van de module wel een constante stroom ? Anders zou dit de verklaring kunnen zijn, dat je minder Ampères nodig hebt.
Eric Jan
Technisch heb je gelijk: zowel de WS2811, WS2812 en WS2812B hebben 4 pinnen: plus, min, data in, data uit.
In het artikel keek ik meer naar de fysieke pinnen aan beide uiteinden, waarbij de ene kant een Data In heeft, en aan de andere kant is dat Data Uit.
Stroom verbruik van de LEDs hangt van een aantal zaken af. Zo bepaald de helderheid van elk van de 3 kleuren (R, G, B) hoeveel milli ampere nodig is per 5050 LED blokje. Als de strip “uit” staat, dan staat in principe de helderheid van alle drie deze kleuren op nul, en verbruikt het dus praktisch gezien geen stroom (natuurlijk altijd nog een klein beetje, maar zeker niet de 3x 20 mA).
Omdat niet alle kleuren altijd 100% op maximale licht weergave staan (helder wit licht), zullen we dus ook niet vaak 3x 20mA per LED blokje nodig hebben.
Dan komt daar ook nog eens bij dat de voeding een fractie van een seconde best een beetje hoger belast mag worden.
Kan de voeding dit niet aan, dan zakt vaak eerst het voltage in, waardoor LEDjes niet helemaal correct oplichten, of zelfs helemaal niet meer oplichten (tijdelijk).
Als de voeding het echt helemaal niet aan kan, dan wordt de voeding warm en kan de zekering klappen.
In sommige voedingen is dit een thermische beveiliging, die na het afkoelen weer terug springt naar z’n originele stand, of door de druk op een knopje weer gewoon werkt. Andere voedingen hebben een klassieke zekering , die dan dus vervangen moet worden. En slechte kwaliteit voeding sneuvelen ….
hans
Oja, ik las ergens dat de led een konstante stroom krijgt, ik dacht eerst dat dat niet zo was.
Ik zag dat de conventionele zekering voor automatische/electronische is vervangen op de print van mijn 20A voeding, maar hou toch een aparte voeding voor mijn Arduino.
(Ik heb pingpong ballen voor de losse WS2812B ’s gekocht) :)
Eric Jan
Ik gebruik gewoon 1 enkele voeding (10A) voor 292 LEDs (WS2812) en Arduino (Uno R3) – werkt prima sinds Januari.
Zelfs al zou ik m’n Arduino opblazen: ze zijn zo goedkoop tegenwoordig (eBay, Alibaba, etc) dat het niet zo veel uit maakt.
Elektronische zekering, dat zou prima moeten werken toch?
Ping Pong ballen? Ha – goed idee!
Dus de losse WS2812’s worden nu kerst-ping-pong ballen?
hans
Of een pingpong segment display :) ik zag het eens op Youtube ;)
Eric Jan
Kijk DAT is nou een leuk idee voor een wat groter project …
hans
Heb mijn strip werkend, in een keer !
Maar vind het wel wat fel ! Is er een eenvoudige manier in de sketch om te “dimmen” ? De strip wordt ook iets warm.
Ben van plan om een kleine module te maken met een mini pro Arduino, zodat het meer plug en play wordt.
Hoe heten de connectoren die aan je strips zitten, bij je bob/ambi tv project ? Deze kreeg ik ook aan mijn 1 meter strip, maar kan ze verder nergens vinden, ook niet bij de verkoper van de strip.
Goeie site heb je ik heb ook een Qnap netwerk opslag: ts259pro turbo, ook een Netgear Nighthawk, en download veel torrents ;) dus je bent voorlopig nog niet van me af ;)
Eric Jan
Excellent! Mooi is dat he als het in 1x werkt?
Ik moest zelf even wat prullen en wat libraries testen en uitvogelen (vandaar het artikel), maar ik geniet er van als anderen er in 1x mee aan de gnag kunnen. Wat helderheid betreft, zie het OpenElec Boblight artikel, waar ik dat doe met NeoPixel.
In de code, regel 21 en 48:
Geen idee hoe die connectoren heten, mijn strips kwamen met die connectoren. Maar, je kunt zo’n beetje alles gebruiken wat dat betreft.
Ik leer net van Meneer eBay dat dit “3 Pin JST SM Connectors” zijn … zie deze link.
Beter nog: een setje van 10 kost $1.04 en gratis verzenden !
Ik vindt het leuk om te horen dat ik niet de enige ben die dat soort maffe dingen doet – welkom! En als je vragen hebt, ideeën of iets uitgevogeld hebt, laat het me dan vooral weten …
hans
Perfect ! heb precies gedaan wat je zei, en het werkt, nu kan ik misschien voor test doel einden de zware voeding even aan de kant zetten.
Trouwens ik denk aan een test bank, waar ik de variabelen in de sketch met drukknoppen kan instellen en op lcd display uit kan lezen, voor later in sketch te gebruiken.
Ik ga eens kijken hoeveel het stroom verbruik is bij weinig brightness…..
Eric-Jan van den Bogaard
Met brightness op 10, werken de Arduino en 144 rgb leds ook op 4 zinc penlights !
Eric-Jan van den Bogaard
Maar niet voor al te lang :) en kijgt de Arduino te weinig, en reset steeds.
Ik zal eens wat oplaadbare gaan gebruiken ;)
Eric-Jan van den Bogaard
Ik heb even een forum topic geopend, anders worden de opmerkingen hieronder een beetje te groot en misschien minder relevant
Link: Forum – Arduino – Arduino en WS2812 LEDs
hans
Ok foutje van mij – dat setje van 10 was waar je nog op moet bieden … maar zal vast niet boven de $5 uitkomen.
hans
Ik heb dus een keer een probleem met P a y p a l gehad dat ik dus sindsdien dat niet meer gebruik, dus geen ebay voor mij, Ik zal wel de beschrijving daar eens lezen.
Bedankt voor de tips, ik zie veel mogelijkheden met de WS2812B leds/strips, een klok/display lijkt mij leuk, ik hou je op de hoogte !
Eric Jan
Heb net ook wat gedonder met die mannen achter de rug – ik mag geen donatie link meer op deze website zetten omdat ik illegale dingen zou verkopen of promoten … Na telefonisch contact: Omdat ik uitleg hoe je een DVD kunt branden …!?
hans
DHgate.com en DX.com (Dealextream) zijn ook leuke shops, en makkelijk in gebruik, alleen bezorging duurt zo lang, voor mij dan, dus gebruik ik liever Nederlandse shops, smdshop.nl voti.nl vanallesenmeer…. etc.. Binnen 2 á 3 bezorgd, smdshop levert zelfs stickertjes erbij voor je opberg systeem.
Eric Jan
Mooie tip …
Ben zelf niet meer zo op de hoogte van de shops in Nederland.
hans
Die 2 shops zitten in Hongkong/China of zoiets, je moet je alleen niet op aantal, of porto kosten verkijken, soms is een item goedkoop omdat je er duizend moet bestellen, of porto is $500 ! verzending is ook vaak gratis. Goed de voorwaarden en regels lezen dus.
Heb sinds kort dus ook wat krimp en strip gereedschap gekocht, nu nog opzoek naar montage strips en breakout voor losse 5050 leds.
Eric Jan
Ik heb een 5V8A power supply besteld voor mijn 2 meter WS2812b.
Ik vraag me alleen af of ik deze zonder enige schroom aan kan sluiten op de 5V ingang van de arduino, zodat ik geen USB power nodig heb.
Nick
Dat zal zeker prima werken. In het Boblight artikel is dat precies wat ik doe.
hans
Is een dergelijke voeding altijd spannings gereguleerd dan?
Nick
Goede vraag!
Meestal wel ja, maar het kan geen kwaad dat even te controleren of na te vragen!
hans
Als je op de stack header’s 5volt aansluiting 5volt zet, zet je direct 5volt op de Atmega ! Het kan dus wel, maar verstandig ? De UNO heefy een fuse achter de barrel en USB aansluiting, (500mA) beter is dan: plus van barrel/RAW (mini pro) aan plus van strip te knopen
Eric Jan
Btw. Op meeste open case versies zit een 5 volt adjust, de “laptop” versies zijn altijd precies 5 volt, dat is “ingebakken” in de chips/electronica
Eric Jan
Goede tip voor wat de 5V aansluiting – ik zal in de toekomst het artikel aanpassen …
Ik dacht dat de open case een switching power supply was,… ? Was in de veronderstelling dat die 5V strak zou geven, maar dat blijkt dus niet zo?
hans
De 5 volt is ook best wel strak ,5.07 volt (belast en onbelast) heb ik gemeten, dus ik ga er ook niet aan draaien.
De WS2812B led, (bij mij op strip, 144 op 1 meter) zijn best wel fel, het difuus maken is echt wel nodig, in een witte heat-shrink bijvoorbeeld, de strip van mij had ook geen gegoten omhulsel, wat de strip anders wel steviger maakt. (IP20 is dus zonder isolatie)
Ben van plan mijn strip van een wit geaard netsnoer te voorzien, en bij de 12 volt (XLR) stekker, een 3 polig JST stekkertje te plaatsen waar ik de data IN, +,-, 5volt aansluit op m’n Pro Mini, zodat ik voor het uploaden, de Po Mini Arduino bij de PC/laptop kan leggen.
Eric-Jan
Ik heb via e-bay een w2812b ledstrip gekocht. Ik heb deze aangesloten via het aangegeven schema. Ik had nog een oude 5V 2A adapter liggen (gaf volgens multimeter 5V af) en heb deze aangesloten. Meteen na insteken stekker zag ik de leds allemaal even een keer oplichten. Hierna via arduino script geupload maar niets meer. Ik vermoed dat ik de ledstrip meteen al verknalt heb. Is er een manier hoe ik dit kan testen? Heb al nieuwe strip besteld, maar ja als dit weer op dezelfde manier misgaat dan wordt het een dure hobby :)
thuurke
Je kunt +5V en aarde kort aansluiten op de strip. Als ik me niet vergis lichten ze dan kort op.
Ik denk niet dat je de strip verknalt hebt, tenzij je te lang of een te hoge spanning op de strip hebt aangesloten.
hans
Ja, fout ligt eerder bij de Arduino, want de WD2812B heeft zelfs polariteit bescherming, ff dus alles checken.
Eric-Jan van den Bogaard
Als een strip het niet doet, zou ook de chip van te eerste led kapot kunnen zijn, probeer dan de volgende data in , etc…
Eric-Jan van den Bogaard
Goeie tip Eric-Jan! Had ik zelf ook even niet bij stilgestaan.
hans
beste
welke zijn de beste leds voor 60 inch tv en hoeveel heb je daar voor nodig
dank u
de neve
Ik heb zelf de voorkeur voor de WS2812 of WS2812b.
Ik schat even dat een 60″ TV ongeveer 75cm hoog is en 130cm breed is.
Dus dat komt dan op ongeveer 4 meter 10 uit.
Even precies opmeten bij jouw TV – iedere 60″ TV heeft net even andere maten en over het algemeen wil je de LEDs een paar centimeter van de rand houden zodat ze niet zichtbaar zijn.
Dus dan heb je 4 of 5 stukken van een meter nodig, of veel beter nog een strip van 4 of 5 meter (inkorten indien nodig).
Kijk ook even naar dit artikel: AmbiLight met XBMC Boblight, OpenElec en WS2811/WS2812 LEDs …
hans
Beste dank u voor het snelle antwoorden heb nog eens een vraag
Bij conrad verkopen ze de uno echet zijn er verschilende te krijgen
http://www.conrad.be/ce/nl/Search.html?search=Arduino%20Uno&WT.mc_id=google&insert=8J&WT.srch=1&gclid=CJvj-5C93sACFULmwgodkWoAiQ
Kan jij eens zeggen welke ik het beste neem. Dan ga ik deze direkt bestellen
Ik wil deze verbinden met mijn xbmc media center dus voeding heb ik dan niet nodig he
Mvg
De neve
Elke Arduino Uno zal werken, de goedkoopste zal dus al prima zijn (link).
Vaak worden ze verkocht als Arduino Uno R3 (zelfde beestje).
Je zult toch wel een aparte voeding moeten hebben – het vermogen wat nodig is zullen de meeste XBMC PC’s niet echt trekken, wat uiteraard afhankelijk is van het aantal LEDs dat je wilt gebruiken.
hans
beste hans
er zijn bij alieexpres zoveel verschillende leds kan jij eens kijken en mij de link sturen van de beste
mvg
de neve
Ik gebruik zelf Ali-Express nooit, ik gebruik liever eBay of Amazon.
Elke WS2812 strip zal werken, bij voorkeur een enkele strip (dus een stuk van 4 tot 5 meter als voorgaande berekening correct is). Vaak worden ze echter als stukken van een meter gekocht, dus dan heb je 4 a 5 stuk nodig.
hans
beste
is dit eventueel een oplossing om mooie hoeken te krijgen en niet te moeten solderen
link
mvg
de neve
Als je stukken van een meter gebruikt zul je snel zien dat ze net te groot of net te klein zijn, en dus eigenlijk altijd ongelukkig uitkomen. Ik had zelf helaas van deze 1 meter stukken, en aan elkaar solderen was dus onvermijdelijk.
Als je een stuk van 4 of 5 meter kunt vinden, dan heb je het voordeel dat je precies kunt knippen waar nodig en het soldeer werkt reduceert zich zo tot een minimum.
hans
ok dank je hans heb het er op gewaagd ik heb alles besteld nu vol ongeduld wachten ik hoop dat ik je nog in de toekomst enkele vragen mag stellen ben echt een leek hahahaha merci voor de snelle reactie in ieder geval
grzz
de neve
Graag gedaan!
hans
beste hans
http://www.amazon.de/Rolle-Stripe-WS2811-Wasserdicht-Digital/dp/B00KKV8O02/ref=sr_1_33?ie=UTF8&qid=1410807165&sr=8-33&keywords=WS2812+strip
is deze led goed ws2811 is ook digitaal te besturen
ben er toch niet uit hoor durf niet goed beslissen welke strip ik moet nemen ik weet ook niet hoeveel leds de meter ik moet nemen ik heb inderdaad 5 meter nodig
of kan jij via amazon een link geven welke ik het beste neem
mvg
de neve
Hoi …
Deze LEDs lijken me prima, en 60 LEDs per meter is meer dan genoeg (gebruik ik zelf ook). Er zijn wel strips met nog meer LEDs per meter maar ik denk dat die een beetje te gek worden.
WS2811/WS2812 is in principe hetzelfde beestje.
hans
Het is overigens beter om deze vragen onder het “AmbiLight met XBMC Boblight, OpenElec en WS2811/WS2812 LEDs” artikel te plaatsen (meer relevantie).
hans
amai super gaat me al een heel pak verder helpen die andere webpage
thx
de neve
beste hans
heb jij eventueel een foto hoe jij de voeding verbind met de extra adapter dat stuk begrijp ik niet goed
moet je dan de draad afknippen en de led daar aan verbinden
mvg
de neve
Ik snap niet helemaal wat je bedoelt …?
hans
ik bedoelde de usb word verbonden met pc xbmc onder windows
maar dan staat er op je foro dat je nog een 5v adapter gebruikt hoe word die dan verbonden is dat gewoon de draad doorknippen en verbinden met leds en arduino
mvg
de neve
Je kunt de draad inderdaad door knippen (dat heb ik gedaan), of je kunt een losse connector kopen zodat je de voeding weer los kunt koppelen indien gewenst.
hans
Om uit te proberen is een UNO met losse DIL chip het handigst, kun je de 328 chip uitwisselen tussen je project, later kun je dan ook een Pro mini inzetten.
Eric-Jan van den Bogaard
beste hans
heb eindelijk alle delen voor mijn ambilight echter heb ik nu een probleempje ik werk met xbmc op window 7 64 bits als ik boblightd wil instaleren krijg ik de melding dat de versie van dit bestand niet compatibel is daar zit ik dus vast jij eventueel een oplossing
mvg
de neve
Hi De Neve,
ik ben zelf niet zo bekend met de Windows versie omdat ik XBMC via OpenElec (Linux) draai.
Je zegt ook niet waar je de foutmelding ziet, in Windows tijdens installatie, of tijdens de installatie van de XBMC plugin?
Een paar goede informatie bronnen:
– XBMC/Kobi Forum – Windows – HOW-TO setup Boblight for Windows and Boblight XBMC
– XBMC/Kobi Forum – Windows – Boblight for Windows (install and configure)
Hopelijk helpt dit je een beetje op weg …
hans
als ik de arduino aansluit zoals op je tekening heb ik nog 1 draad over(een rode) aan het uiteinde van mijn led string heb ik ook 5 draden 2 witte 2 rode 1 groene als ik de arduino test doe adafruit neopixel gaan er 60 leds aan tot daar werkt het
ik heb 240 leds 150 krijg ik er werkend verder lukt het mij niet
de neve
Als de Arduino aan gaat, zie je dan de test die alle leds stuk voor stuk aan zet?
hans
een 60 leds gaan aan ja
de neve
Ik neem aan dat je stukken van een meter hebt, die elk 60 LEDs hebben. In dat geval is dus de doorverbinding naar de volgende strips niet correct (aan het einde van de 60 LEDs die wel werken).
Omdat de WS2811 en WS2812 maar 3 draden hebben, vermoed ik dat je een WS2801 gebruikt?
Als beide einden van alle LED strips 5 draden hebben, dan zou je ze 1:1 door kunnen zetten. Dus als je naar de WS2801 kijkt onder het kopje “DIGITALE RGB LED STRIPS”, dan zie je dat beide einde 5 contact punten (of draadjes) hebben. Het einde van de ene strip gaat naar het begin van de volgende strip.
Overigens:
Deze opstelling is met WS2811/WS2812 in gedachten. Ik heb zelf geen ervaring met de WS2801 (mocht dit het geval zijn in jouw opstelling), maar wat ik wel weet is dat de library deze wel ondersteund. Maar het is een beetje lastig om te raden welk type strips jij hebt.
hans
ik heb 1 rol van 4 meter 5 draden vanvoor en 5 draden aan het uiteinde kan ik eventueel een foto plaatsen van de strip op je site hier ??
de neve
probleem opgelost
verkeerde leds gekregen geen digitale er zit naast de led geen chip :(
had nog speciaal gevraagd digitale voor ambilight te maken :(
de neve
Spijt me te horen dat je met dat soort ellende te maken hebt … blij dat het opgelost is …
hans
Hey, as i saw, ws2812 is single line SPI and WS2801 is two line SPI. Then question as below:
Could the driver and code control APA102 and APA104 chips. we order some spool from chinese manufactuer.
here are details: APA102 and APA104 , I find ws2812 timing is a little different with APA104.
Michael
Hi Michael,
I suspect that one of the libraries will work, even if it would take a minor modification.
I do however have zero experience with the strands you’re suggesting. Maybe other users have tested these?
hans
Thanks Hans, if you have any updates for them, Please inform us. we have to inquiry someone who have tested it successfully.
Michael
If I find any new info, I will most certainly post it !!
If you’re fine with writing English (this page is the Dutch version of the article), then please checkout the English article every now and then as well.
I’ll also ask Alan who posted info about these LEDs in this forum post.
hans
[…] de veel gebruikte WS2801 LEDs. Mocht je het nog niet gedaan hebben, kijk dan eens naar ons “Arduino – WS2812 LED strip besturen met NeoPixel of FastLED” waarin de verschillende LED types doorgenomen worden. Je ziet dan niet alleen de […]
Goedendag,
Wij zitten even klem hier met aansluiten van ledstrips.
Wij hebben hier een dreamcolorledstrip met 4 aansluitingen, +12v, DT, CLK en GND
De controller HX-LDC-A01 (google voor foto) heeft (+12v, -), (-,DI1), (-, DI2).
Is deze geschikt voor deze ledstrips?
Thanks.
Marco
Hi Marco,
de controller hebben we niet nodig voor een project zoals in dit artikel. 12V LED strips aansturen heb ik zelf nog nooit gedaan, maar het lijkt me niet onmogelijk.
Ik vermoed, en daarvoor moeten we eerst meer weten over het type LED strip dat je hebt, dat de Arduino gewoon op 5V gaat werken, maar dat de 5V niet aan de LED strip wordt aangesloten en daarvan in plaats aan 12V gehangen dient te worden.
De aarde (GND) van zowel Arduino, voeding en LED strip moeten wel aan elkaar geknoopt worden.
Gezien de strip DT en CLK heeft (Data en Clock), vermoed ik dat ze vergelijkbaar worden aangestuurd als een WS2801, maar helaas kan ik zonder type nummer ook niks met 100% zekerheid zeggen.
hans
[…] //www.tweaking4all.nl/hardware/arduino/arduino-ws2812-led/ […]
hallo
ik heb een vraag over de ws2812,ik heb deze.
http://nl.aliexpress.com/item/2pcs-WS2812-WS-2811-5050-RGB-LED-Lamp-Panel-Module-5V-8-Bit-Rainbow-LED-Precise/32373936079.html
en al diverse libraries gebruikt,maar 1 sketch die werkt met FastLED.
de code staat hier.
ww.tweaking4all.nl/hardware/arduino/arduino-ws2812-led/
alle examples bij de libraries krijg ik niet werkend,wat doe ik verkeerd??
bertus
Hi Bertus!
Ehm … dat is natuurlijk een beetje moeilijk gokken zo waar het fout gaat.
Veel voorkomende problemen …
1) Men gebruikt een WS2801 ipv een WS2811 of WS2812.
In jouw geval zouden het de juiste LEDs moeten zijn (volgens de AliExpress link).
2) Voeding (maar dat lijkt me niet het geval omdat het bij 1 vd Sketches werkt).
Ik neem even voorzichtig aan dat je een aparte 5V voeding hebt gebruikt voor de LEDs (hoewel dat misschien niet nodig is omdat je maar weinig LEDs gebruikt, maar je wilt de +5V van de Arduino niet te zwaar belasten).
3) PIN toewijzing waar de Data uit gaat komen voor de LEDs.
AdaFruit NeoPixel roept deze functie aan:
en FastLED deze:
waarbij “PIN” het nummer van de PIN moet zijn waarop je Din van de LEDs hebt aangesloten.
Mocht je tegen kleur en tempo problemen aanlopen, met name bij AdaFruit, kijk dan goed naar de parameter “NEO_GRB + NEO_KHZ800”. De eerste (NEO_GRB) geeft de R-G-B volgorde aan, de tweede blijkt van belang voor wat betreft de snelheid/karakteristieken van de LEDs. Deze instellingen zijn voor standaard WS2811 of WS2812 LEDs, dus die zouden goed moeten zijn.
Hopelijk helpt je dit een beetje op weg, vraag gerust als je meer vragen hebt of als dit het probleem niet oplost.
hans
hallo
ik heb het nu zo aangesloten als in dit topic word aangegeven,dus met 5v stroom adapter en 470 ohm weerstand op de data lijn.
werkt al een stuk beter.
maar niet alle examples uit FastLED en FastLED_Master Librarys werken,hoe dat komt weet ik ook niet,ben al veel aan het proberen geweest,met bepaalde instellingen.
weet u nog Examples die wel werken???
bedankt
bertus
Hi Bertus,
Ik heb helaas geen strip rond slingeren om wat te testen.
De examples die ik geprobeerd heb werkten (destijds) prima, maar soms moet je even het aantal LEDs en de gebruikte PIN even correct opgeven. Als je een paar voorbeelden hebt van example (bestandsnamen) dan zal ik proberen van de week ergens een strip vandaan te halen om ook wat te testen indien dit wenselijk is.
hans
hoi
ik heb nu verschillende sketches werkend.
maar ik heb FastLED_Master library,met een paar voorbeelden die niet werken,bijvoorbeeld Fire2012.
die geeft de fout op deze regel.
FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
fout code:
uild-opties gewijzigd, alles wordt opnieuw gebuild
Fire2012.ino: In function ‘void setup()’:
Fire2012:15: error: request for member ‘setCorrection’ in ‘(& FastLED)->CFastLED::addLeds<(EClocklessChipsets)4u, 5u, (EOrder)66u>(((const CRGB*)(& leds)), 30, 0)’, which is of pointer type ‘CLEDController*’ (maybe you meant to use ‘->’ ?)
Fire2012:15: error: ‘TypicalLEDStrip’ was not declared in this scope
Fire2012.ino: In function ‘void loop()’:
Fire2012:27: error: ‘class CFastLED’ has no member named ‘delay’
Fire2012.ino: In function ‘void Fire2012()’:
Fire2012:93: error: ‘HeatColor’ was not declared in this scope
Multiple libraries were found for “FastLED.h”
Used: /Users/mabbekerkoud/Documents/Arduino/libraries/FastLED
Not used: /Users/mabbekerkoud/Documents/Arduino/libraries/FastLED-master
request for member ‘setCorrection’ in ‘(& FastLED)->CFastLED::addLeds<(EClocklessChipsets)4u, 5u, (EOrder)66u>(((const CRGB*)(& leds)), 30, 0)’, which is of pointer type ‘CLEDController*’ (maybe you meant to use ‘->’ ?)
in ander voorbeelden iets gelijks,als U weet wat dat is hoor ik het graag
bedankt
bertus
uild-opties gewijzigd, alles wordt opnieuw gebuild
Fire2012.ino: In function ‘void setup()’:
Fire2012:15: error: request for member ‘setCorrection’ in ‘(& FastLED)->CFastLED::addLeds<(EClocklessChipsets)4u, 5u, (EOrder)66u>(((const CRGB*)(& leds)), 30, 0)’, which is of pointer type ‘CLEDController*’ (maybe you meant to use ‘->’ ?)
Fire2012:15: error: ‘TypicalLEDStrip’ was not declared in this scope
Fire2012.ino: In function ‘void loop()’:
Fire2012:27: error: ‘class CFastLED’ has no member named ‘delay’
Fire2012.ino: In function ‘void Fire2012()’:
Fire2012:93: error: ‘HeatColor’ was not declared in this scope
Multiple libraries were found for “FastLED.h”
Used: /Users/mabbekerkoud/Documents/Arduino/libraries/FastLED
Not used: /Users/mabbekerkoud/Documents/Arduino/libraries/FastLED-master
request for member ‘setCorrection’ in ‘(& FastLED)->CFastLED::addLeds<(EClocklessChipsets)4u, 5u, (EOrder)66u>(((const CRGB*)(& leds)), 30, 0)’, which is of pointer type ‘CLEDController*’ (maybe you meant to use ‘->’ ?)
bertus
Even snel tussendoor …
1) Het kan natuurlijk zijn dat de examples nooit geupdate zijn …
2) Als ik een paar voorbeelden vergelijk, dan zie ik in Fire2012
Terwijl b.v. Blink het volgende geeft:
Waarbij deze laatste behoorlijk wat varianten beschikbaar zijn.
Wat gebeurt er als je in Fire2012, de FastLED.addLeds regel vervangt door de FastLED.addLeds regel van een werkende example?
hans
ja en dat setcorrections dan,dan komen daar verder weer meldingen van
bertus
maar je zal wel gelijk hebben,dat het oude examples zijn :)
bedankt
bertus
Werken de andere examples als je die gehele regel vervangt?
Dus
vervangen door een FastLED regel van een ander example.
hans
Hallo
PROBLEEM opgelost,FastLED 3.1 library heeft het opgelost
hartelijk dank
bertus
Kijk dat is nou mooi om te horen!
Dank je wel dat je hier laat weten wat de oplossing was!
hans
Ik heb de FastLED download maar even geupdate naar 3.1 op basis van jouw tip
hans
hallo
zijn er nog leuke voorbeelden voord e FASTLED sticks?
ik heb er nu 4 stuks van elk 8 leds
ik hoor het graag
bertus
Hi Bertus!
Ik heb zo 1-2-3 gee leuke voorbeelden liggen, maar als je in de Engelse versie van dit artikel kijkt, dan zie dat een aantal lieden zelf aan de slag is met wat ideeen … zoals vlag kleuren, toepassing bij kunstwerken, etc.
En … je zou eventueel examples van NeoPixel kunnen ombouwen.
hans
Hoi, ik ben de bouw van een drone aan het voorbereiden, die zo veel mogelijk (maar niet overdreven) ledlampjes krijgt.
Ik wil dit gaan voeden met een aparte lipo, dus gescheiden van de motor lipo. Lipo’s heb je in allerlei soorten en maten. Ze zijn 3.7 volt per cel dus ik moet nog wel wat rekenen. Met een UBEC kan ik 7,4 volt naar 5 volt brengen.
Dit artikel is het duidelijkst wat ik heb kunnen vinden en heeft me goed op weg geholpen. Ik ben van huis geen electrohobbyist.
Zie http://www.drone-academy.nl
Red
Hi Red!
Ambitieus project! Maar wel gaaf!
Ook mooi om te horen dat de uitleg gewaardeerd wordt!
Dank je wel dat je de moeite hebt genomen om een berichtje achter te laten!
hans
Als je tijd hebt graag uitleg waarom je de 470 Ohm weerstand ertussen zet en de berekening graag erbij. En waarom optioneel?
Ik ben geen electro guru, dus vandaar de vraag.
Ik gebruik nu een lipo 12V en 2200mA capaciteit, vervolgens een UBEC die alles naar 5V brengt, van daar uit vertak ik enerzijds naar de Arduino Mega en anderzijds naar de LEDstrip ws2812b (30). Dus parallel.
Ik wil wel een weerstand tussen de Arduino MEGA en de UBEC doen, maar welke is dan geschikt met mijn 2200 mA 11.1 volt lipo. Kijk ook even naar het korte filmpje van de ufo toen de ledstrip nog leefde: https://www.youtube.com/watch?v=sAGEviB0fTQ.
Inmiddels is deze ledstrip kapot. Als ik hem aansluit zonder data verbinding dan gaan wat lampjes aan. Dat is al niet goed.
Als ik datalijn aansluit doet ie niks. Ik heb dus iets verkeerds gedaan, en wil nu graag weten wat voordat ik de volgende strip ook opblaas.
Bedankt alvast. Leuk artikel dit hoor!
Red
Red
Hi Red,
De weerstand is geplaatst op advies van een gebruiker die meer verstand heeft van electronica dan ikzelf.
Wat over het algemeen het geval is: om een LED niet te laten doorbranden, plaatst men een weerstand (330 Ohm, 470 Ohm, of iets dergelijks) om de stroom toevoer wat in te tomen. Een LED weerstand calculator bij DigiKey laat een stukje van de berekening zien.
Ik ben gen expert, maar een dergelijke weerstand is wel nodig voor een enkele LED.
In mijn originele schakeling gebruikte ik geen LED, met de gedachte dat een serie LEDs (ieder blokje op een LED strip bevat al 3 LEDs) op zich al voldoende weerstand biedt. Vandaar: optioneel, want in mijn opstelling werkt het prima zonder weerstand. Maar ik werd dus op m’n vingers getikt dat er een weerstand tussen moest (AdaFruit adviseert dat overigens ook).
Ik kan zo 1-2-3 niet zien of bevestigen dat de LED strip inderdaad is opgeblazen.
Als eerst zou ik data in aansluiten op de volgende pin om te kijken wat het doet. Deze LEDs zijn behoorlijk stevig, dus je blaast ze niet zo maar op – tenzij je ze verkeerd aansluiten of een te hoge [12V b.v.] spanning aansluit.
Sommige LED strips hebben echter wel eens een kapotte “controller” in 1 van de LEDs waardoor de rest wat raar gaat doen. Ieder LED blokje heeft een controller IC en 3 LEDs.
Ik zou dus nog even gaan experimenteren met de opgeblazen strip. Voor hetzelfde geld werkt alleen de eerste LED niet goed.
Overigens: hier een AdaFruit artikel over de verschillende manieren waarop je de LED strips van stroom kunt voorzien.
hans
Hoi
wat een prachtig en goed uitleg zeg over de leds en ardiuno, ik was meteen mee aan de slag gegaan en het werkt super. erg bedankt voor de uitleg. ik had overigens nog een vraagje, heb nu 18 rgb lrds, deze alle elke 3 seconden van een kleur veranderen. kan ik op de arduino een button defineren en als ik op de button druk er dan een strobe effect plaats vind? kan iemand mij dat uitleggen? zou werkelijk top zijn. mijn website zal binnen kort open gaan daar is ook veel over te vinden kermisattracties in schaal incl leds ect ik zal daar een mooie link op maken naar deze site
marcel
Hallo Marcel,
dank je wel!
Mooi om te horen dat je meteen alles lekker werkende hebt.
Ja, zo’n strobe effect kun je zeker inbouwen.
Als eerste zul je een functie moeten maken die het strobe effect weergeeft.
Vervolgens inde loop() afvangen of de knop wel/niet is ingedrukt.
Een klein probleem waar je naar zult moeten kijken is dat een korte druk op de knop meteen de strobe functie aangooit.
Dus in de andere functies zullen we ook naar die knop moeten gaan kijken zodat het de strobe functie aangooit.
De implementatie van een strobe functie hangt wel af van welke library je gebruikt (NeoPixel of FastLed).
Ik heb zelf even geen opstelling om het te testen, maar een strobe functie voor b.v. NeoPixel zou er zo uit kunnen zien (ongetest):
welke we kunnen aanroepen als volgt voor 10 witte flitsen:
Probeer dit eens uit, dan kunnen we daarna gaan kijken hoe we de knop kunnen afvangen.
p.s. een link naar onze website wordt altijd ZEER gewaardeerd!
hans
Geweldig artikel, na wat zoeken wat ik nu eigenlijk wil met de arduino & leds kwam ik het volgende tegen, wat me erg aansprak.
Een music\moodlight, als de muziek speelt reageren de leds hierop, daarna valt het weer terug in moodlight.
Volgens de maker is dit direct op de arduino aan te sluiten, mij lijkt een 5v voeding voor de leds met weerstand een stuk veiliger.
WS2812 led strip to music with arduino
Hier vind je de: Code
Mogelijk hebben jullie dit al gebouwd, dit word mijn eerste arduino project.
uncels
Hi Uncels,
dat ziet er inderdaad als een interessant project uit – ik ben toevallig net een aantal effecten aan het maken voor de LED strips, en deze spreekt me inderdaad zeer aan.
Voor zover ik begrijp wordt de koptelefoon uitgang van de PC direct op de Analoge Pin A0 aangesloten.
Lijkt me geen moeilijke opstelling – maar kan me voorstellen dat de effecten mooier kunnen, of misschien levendiger.
Dus … dit lijkt me een leuk project voor Tweaking4All …
Ben je er al aan begonnen?
hans
Ik wacht nog op 2 meter ws2812b ledstrip, die komt uit het buitenland, met alleen de arduino uno kan ik nog niet veel.
Ik ben wat dingen aan het verzamelen, .maar zou het fantastisch vinden om dit met jullie hulp zelfs in een verbeterde versie te kunnen maken.
Mijn doel is een strip leds achter mijn monitor die de wand indirect verlichten met deze effecten . Van alle filmpjes die ik gezien heb, sprak deze me het meest aan, fijn dat jullie mee willen denken, alle hulp en/of verbetering is welkom.
Dit heb ik vorig jaar gemaakt & werkt nog altijd, maar wou nu graag iets met moodlight & op muziek.
Ik hoor graag van jullie.
uncels
Hi Uncels,
Ik ben nog even bezig met een artikeltje waarin ik een verzameling effecten voor LED strips beschrijf.
Ik wil proberen in de komende twee dagen dit af te krijgen, zodat ik daarna aan de slag kan met het idee wat jij had gevonden. Ik heb dan de opstelling bijna compleet en net een aantal effecten door gewerkt. Ideaal dus om dan hiermee aan de slag te gaan natuurlijk.
Die Blinkstick ziet er leuk uit!
Ik gebruik zelf mijn eigen projectje: OpenElec met Boblight.
hans
Nou ik ben eens gaan graven in een dergelijk audio/LED project en loop al tegen kleine complicaties aan.
Ik heb dus een forum onderwerp gestart voor dit onderwerp: zie deze link.
Misschien kunnen we daar wat dieper op het onderwerp in gaan?
hans
Ik wacht nog op de ws2812b Ledstrip, met alleen de arduino uno die al wel binnen is kan ik nog niet veel.
Fijn dat het jullie interesse heeft & dat het blijkbaar nog beter zou moeten kunnen.
Eerder heb ik dit al gemaakt, maar wou nu moodlight met muziekaansturing. Dit lijkt me een heel mooi resultaat te geven op de wand achter mijn beeldschermen, als dat volgens jullie beter kan lijkt me dat helemaal top.
Alvast dank voor het meedenken.
uncels
[…] je het artikel “Arduino – WS2812 LED strip besturen met NeoPixel of FastLED” al hebt gelezen, dan zul je misschien zelf ook gefascineerd zijn met de LEDStrips en de […]
Ik ben helemaal blij met deze site PingBack, alleen moet ik nog op de ledstrip wachten, als die binnen is kan ik gaan experimenteren. Met wat losse ledjes op een breadboard zal het effect niet top zijn. Kan ik wel een 12 volt 2A voeding voor de arduino gebruiken? Voor de ledstrip heb ik al een 5v 4A voeding.
uncels
Ik zou voor de Arduino ook de 5V voeding gebruiken.
De 12V kan ik, gevoelsmatig, niet aanraden als voeding voor de Arduino zelf.
Sommige LED strips werken echter op 12V (in dat geval heb je overigens niet de juiste strip gekozen), en het voeden van alleen de strip met 12V zou OK moeten zijn.
Overigens: de Arduino gebruikt erg weinig stroom, dus je kunt ‘m gerust bij de 5V/4A voeding hangen (mits de Arduino niet is aangesloten aan de computer natuurlijk, anders haalt de Arduino de 5V uit de USB aansluiting).
hans
Als je op deze link klikt zie je dat de bestelde ledstrip 5v is LEDstrip.
Dan zou ik de juiste componenten moeten hebben & de arduino gewoon op de usb aansluiten.
Nu is het nog wachten tot de strip hier is.
Lukt het met de code te modificeren om die nog mooier te maken?
John
Zou het mogelijk zijn met een aanpassing in de code dat het linkerkanaal 1 ledstrip van 1meter & het rechterkanaal de andere ledstrip van 1meter aanstuurt tijdens het afspelen van muziek? en als er geen muziek speelt gewoon de moodlight brand?
Ik ben een leek op dit gebied vandaar mijn vraag naar aanleiding van jouw reactie dat je de code wou verbeteren voor mooiere effecten.
John
Hi John/Uncels,
Misschien een beter idee om dit onderwerp voort te zetten in dit forum onderwerp. Gewoon om te voorkomen dat we hier een beetje off-topic gaan …
hans
Wat een super site zeg! bednakt voor het publiceren van al deze nuttige informatie.
plasticman
Hi Plasticman!
Hartelijk dank voor de geweldige reactie!!!
Kijk dat zijn nou de berichten die motiverend werken! Dank je wel!
hans
Hallo allemaal,
Misschien snap ik het niet helemaal, maar als ik op eBay kijk, zie ik de meeste ws2812b strips een vermogen hebben van 9W voor 30 leds. Volgens mij komt dat neer op 300mA per led. En niet 60mA zoals het artikel aangeeft. Waar zit ik fout in mijn gedachtegang?
Voor 16×16 leds heb ik dus ca. 80 watt voeding nodig. Ik denk daarom aan een voeding van 100 of 150 watt (5V 20A of 30A). Wat is verstandiger?
Alvast bedankt voor jullie reaktie,
Maurice
Maurice
Sorry, stomme fout. 9W / 5V = 1.8A / 30 leds = 60 mA.
Blijft mijn vraag over de voeding open…
Maurice
Hi Maurice,
Mooi om te zien dat je het uitgevogeld hebt …. (overkomt mij ook zo af en toe)
100 Watt zou voldoende moeten zijn, maar als b.v. 150 Watt niet veel groter/duurder is, dan zou ik die nemen.
Kun je in de toekomst uitbreiden als je dat zou willen, of gebruiken voor extra LED strips.
Ik heb zelf een 10A voeding en die is net zo groot als een laptop adapter.
De laatste keer dat ik naar voedingen keek, waren de 20A en 30A even groot, en het prijs verschil was de moeite om de 20A te nemen, maar goed, ik weet niet hoe de prijzen veranderd zijn sinds dien.
hans
Hoi,
Ik ben dit project aan het doen maar ik doe zeker iets fout. Het enige wat er gebeurd is dat de leds heel erg warm worden. Zeker de eerste 30 cm van de strip. Later nog een keer de voeding via de breadboard geleid…die smolt zelfs een beetje. Daarna blijft de strip koel. Ik heb een 5 meter strip met 150 leds en een 5v 10 ampere voeding. Misschien heeft iemand een suggestie wat ik precies fout doen? Bedankt.
Grt,
Dimitry
Dimitry
Hi Dimitry!
Dat is vervelend om te horen.
Als eerste: gaan de LEDs überhaupt aan? Indien niet: weet je heel zeker dat je +5V en GND correct hebt aangesloten op de LED strip?
Het hoort zich aan alsof dat het geval is.
hans
Bedankt,
Het bijgeleverde (Chinese) verloopstekkertje had de ground en de plus omgedraaid. Dus dat ging niet echt goed.
Dimitry
Dat is inderdaad knap kl*te … werkt de strip nog?
hans
Ja gelukkig wel.
Dimitry
Oh Geweldig – mooi dat de strip nog OK is
hans
Hoi Hans,
Ik wil je nogmaals bedanken voor de mooie tutorials die het mogelijk hebben gemaakt dat ik iedere avond weer van mijn boblight geniet.
Nu probeer ik met mijn ws2812b led strip een beetje te oefenen en nu ben ik er achter gekomen dat als ik met de fastled library kleuren probeer te kiezen dat hij verkeerde kleuren geeft.
B.v. Als ik in de library van fastled Blink open dan geeft hij in die sketch weer dat er een rode led moet gaan knipperen maar dan krijg ik een rode.
Toen heb ik de RGBCalibration geprobeerd en dan staat er in de sketch dat ik 1 rode led moet krijgen, 2 groene, en 3 rode en dat klopt dan wel weer.
Heb je misschien enig idee wat er nu verkeerd gaat?
M.v.g Dylan
Dylan
Hy Dylan!
Dank je wel voor het compliment .
Ehm, ik begrijp niet helemaal wat er fout gaat uit jouw tekst, maar ik vermoed dat je bedoelt: ik verwacht een rode LED kleur, maar zie een andere kleur.
In dat geval: Niet elke LED strip werkt met dezelfde kleur volgorde. B.v. sommige werken met RGB (rood groen blauw) en andere weer met GRB (groen rood blauw). Het dus de moeite om in de regel
eens te experimenteren met een andere waarde voor “NEO_GRB”, door b.v. “NEO_RGB” te proberen.
hans
mijn idee voor in mijn kamer was dus dat ik op 2 verschillende plekken ledstrips heb, nu wil ik die sprips via 1 arduino laten werken met dus ook 2 verschillende codes, weet iemand of kan iemand mij uitleggen hoe ik 2 codes van <Adafruit_NeoPixel.h> kan samenvoegen en dan met ledstrip 1 pin6 en de andere ledstrip bijvoorbeeld pin 9?????
marco kuperus
Hoi Marco,
voor zover ik weet (niet getest) kun je 2 strips besturen door twee strips te definiëren, zoiets als:
Je zult de functies een beetje moeten aanpassen, b.v. hier waarbij theaterChase alleen voor strip1 gebruikt wordt (vervang dus “strip” door “strip1” of “strip2”, net welke strip je wilt gebruiken.
Als je een effect voor beide strips tegelijk wilt gebruiken, als ze even lang zijn, dan moet je bepaalde delen van de code dupliceren, b.v.:
Voor verdere discussie (omdat de bron code’s anders te veel ruimte gaan opnemen) adviseer ik om een onderwerp in het Forum te starten. Ik volg het forum zelf dagelijks, dus antwoord ik zo snel ik kan.
hans
oke, dankje wel! ik ben een heel eind gekomen door u.
marco kuperus
het is alleen wel zo dat de strips 1 voor 1 werken en niet tegelijk, maar ik ben druk bezig om dat uit te vinden(hulp is altijd welkom :D)
marco kuperus
Graag gedaan. Overigens is het over het algemeen beter om met slechts 1 strip te werken.
Ik heb geen idee wat de consequenties zijn als je meerdere strips gebruikt.
Strip 2 = LED 11 .. 20
etc.
hans
Enorm bedankt voor uw hulp en advies! Tot ziens!
marco kuperus
Even ter informatie, radiobeurs rhee in Breda is inmiddels helaas gesloten :(
Bram
Hoi Bram,
ja, ik had het ook gehoord ja, jammer he? Toch een mooi stukje geschiedenis (voor mij althans) dat weer verdwenen is.
hans
Beste Hans,
ik vraag me af hoeveel leds je gebruikt, aangezien ik ergens zag staan dat je een 5V / 2A voeding gebruikt.
ik heb ongeveer 1,75 m ledstrip nodig op een 23inch tv als ik dan een ledstrip van 60leds/m heb kom ik op 105 leds uit. 105 * 60mA = 6300mA = 6.3A. is dit niet te veel?
Jeroen
Hoi Jeroen,
Voor een korte test kun je soms al uit de voeten met een 2A voeding, voor langdurig gebruik heb je echter meer nodig.
Voor dagelijks gebruik, gebruik ik een 10A/5V voeding voor m’n 299 LEDs.
Bedenk ook dat iedere “LED” eigenlijk een kleine controller en 3 kleine LEDs gecombineerd zijn (rood, groen en blauw).
Ik had het ook liever met wat minder gedaan, maar bij langdurig gebruik is 2A echt niet genoeg en zal de voeding behoorlijk warm worden (of erger).
hans
hallo,
ik denk dat ik toch maar ga voor een 2 meter ledstrip met 30 leds per meter. en een aparte voeding van 5V en 5A.
ik heb al verschillende sites bezocht over dit onderwerp en bij de meeste word er ook gebruik gemaakt van een raspberry pi, deze heb ik hier niet voorbij zien komen klopt dat, zoja kan het systeem dan zelfstandig draaien zonder dat er een pc of iets dergelijks nodig is
Jeroen
Hoi Jeroen,
met een Raspberry Pi kan het systeem inderdaad zelfstandig draaien, maar een Raspberry Pi is niet per-se nodig als je alle zaken in de Arduino regelt. De Arduino kan namelijk de LEDs al zelfstandig aansturen.
5V/5A zou zeker genoeg moeten zijn voor 30 LEDs. Het e.e.a. wat stroom verbruik hangt ook af van hoe fel alle LEDs aanstaan. Het meeste verbruik zie je als alle LEDs op “wit” staan en zo helder mogelijk zijn. Als dit langdurig wordt gedaan dan is het verstandig de berekening te volgen. Als dat niet het geval is, en de voeding van redelijke kwaliteit is, dan kun je vaak met iets minder ook uit de voeten. Je wil voorkomen dat de voeding te warm wordt en/of de spanning inzakt (ie. 5V wordt dan door de belasting minder, b.v. 4 of 3 volt), waardoor de Arduino minder stabiel zou kunnen worden.
hans
Beste Hans,
Hoe laat jij het systeem nu (zelfstandig)draaien?
Als ik t voor mijn ps4 en tv wil is het handig als t systeem zelfstandig draait en dus niet dat er altijd een pc voor nodig is.
Kan het ook zelfstandig draaien zonder raspberry?
p.s. ik ga gebruik maken van 60 leds in totaal dus dan heb ik inderdaad ruim voldoende aan 5A
Jeroen
Hi Jeroen,
Het zelfstandig draaien kan prima zonder PC of Raspberry Pi. Als de Arduino 5V voeding heeft. (zie Afbeelding 5)
Nu weet ik niet precies wat je doet met de Arduino/LEDs, dus als er een data feed nodig is, dan moet je even laten weten wat je precies doet …
hans
Beste Hans,
Ik wil graag een ambilight gaan maken voor mijn tv / PS4 (beide HDMI).
ik wil de leds aan laten sturen door de arduino die ziet welke kleur waar moet worden weergegeven.
Ik heb helaas nog geen ervaring met arduino of raspberry dus ben het een en ander aan het opzoeken hoe ik dit het beste kan doen.
Jeroen
OK, dat klinkt een beetje complexer … haha.
In zo’n geval heb je idd een Raspberry Pi of een PC nodig om de video feed te analyseren.
De RPI of PC moet dan een video capture kaart hebben, een HDMI splitter, etc.
Zoiets als dit: LightBerry
hans
Klopt.
Ik heb dan in ieder geval een RPI nodig voor hyperion. Dit is het programma voor de positie van de leds en dergelijke.
Had lightberry zelf ook gevonden maar die is best wel duur en dan zit de RPI er nog niet eens bij.
En het is natuurlijk ook veel leuker om zelf iets te maken. (zeker als toekomstig elektrotechnicus)
Jeroen
Zelf maken is inderdaad leuker – maar vergeet niet dat LightBerry (de website) ook een goede bron is voor drivers van de video-grabber …
Ik zit al een tijd te wachten op een moment dat ik genoeg tijd heb om hier eens mee aan de slag te gaan. Ik wil namelijk ambilight ook hebben voor m’n reguliere TV, XBox, etc. Maar andere zaken hebben me tot dusver de tijd ontnomen.
Alvast een stap die handig is: Het verwijderen van de HDCP beveiliging als je de juist HDMI splitter kiest.
hans
Ik ben ook begonnnen met dit leuke project..
bij conrad heb ik 4 strips van 1 meter 60 led per meter besteld (type w2812b)
wat voor soort voeding heb ik nodig?
ik weet dat hij 5 volt moet zijn en 3,6 ampere per meter
als ik dat keer 4 doe (4 meter strip)
betekend dat dan dat ik een voeding van 5v en 16 ampere nodig heb…
help :(
hans
Hoi naam-genoot …
Ik gebruik zelf 5 strips van 1 meter met ieder 60 LEDs. Omdat de LEDs zelden tot nooit allemaal volledige branden, gebruik ik een 10A voeding en dat werkt uitstekend. De voeding houdt het goed bij, wordt niet warm, en het voltage zakt niet in. Dus het lijkt me dat dit voor jouw geval ook prima moet werken.
Het verhaal veranderd natuurlijk wel als alle LEDs op wit staan en op maximaal staan, gedurende een langere tijd.
Ik zal eens kijken of ik kan testen hoeveel een strip met 60 LEDs werkelijk gebruikt bij volle belasting.
hans
Wat geweldig dat je dit online zet. Het heeft mij enorm geholpen. Zelden zo’n heldere uitleg gezien.
Dank je wel!!!!
ZekerIemand
Hoi ZekerIemand,
Dat is mooi om te horen! Dank je wel!
En dank je wel dat je de moeite hebt genomen om een berichtje te plaatsen – dat is zeer motiverend!
hans
Bedankt voor de tekst en uitleg.
ik ben er pas mee begonnen, maar het werkt mooi/simpel.
fred
Dank je wel voor het compliment Fred!
Als je er eenmaal mee aan de slag gaat en alle leuke uitbreidingen ontdekt,… tja dan is er geen stoppen meer
hans
Heldere,duidelijke uitleg. Dank voor het Artikel
Ik zat net zoals de kerstlichtjes tot ik dit gelezen had in de knoop
Muchas Gracias !!!!
William
Hi William!
Dank je wel voor het compliment en dank je wel voor het plaatsen van een leuk bericht!
Dat wordt zeer gewaardeerd – veel plezier met de kerst verlichting nu de knoop er uit is
hans
goedendag,
als ik een arduino nano heb en er met een ledstrip ws2812 een ambilight van wil maken voor mijn tv, kan dat met deze arduino?zo ja wat is hier voor nodig, in welke pinnen moet dit signaal, wat zijn de instellingen hier voor?
ik hoor graag van jullie,
Vriendelijke groet,
Maikel
Maikel
ik bedoel de arduino uno sorry hier voor.
Maikel
Hi Maikel,
sorry voor de late reactie.
Als eerste zou ik beginnen met een Arduino Uno – de nano heeft zo z’n eigenaardigheden. Mocht je toch met de Nano willen beginnen, kijk dan naar de namen van de pinnen en gebruik dezelfde pin-namen als voor de Uno. Dus Pin 6 voor “data” naar de LED strip. Het voltage moet je even na kijken – ik weet niet 100% zeker of 5V OK is voor de Nano, ik dacht dat de Nano liever 3.3V ziet.
hans
Cool!
“kwam deze digi-RGB-leds tegen” en vervolgens belandde ik op deze pagina!
Gelijk een metertje ws2812b besteld!
Heb ervaring met Arduino Uno en MEGA, al is het wel in mikroPascal.
Maar ondertussen kan ik al aardig wat C-code ontcijferen…
M.v.g. Marcel.
cobaltblue
Hoi Marcel!
Veel plezier er mee! Ik heb er zelf nog steeds lol mee.
Maar nu ben ik wel nieuwsgierig naar mikroPascal op een Arduino … hmm!
(ik geef de voorkeur aan Pascal over C any day!)
hans
Hoi!
mikroPascal gaat via een IDE/compiler op je pc vervolgens flash je je Arduino.
Zie: https://www.mikroe.com/
Wat beteken eigenlijk ‘ Pascal over C any day!’ ?
M.v.g.
cobaltblue
Ik vat’m!
cobaltblue
Hahah gelukkig. Sorry – ik woon in de VS en sommige uitdrukkingen blijven dan weleens hangen
hans
Hoi,
heb van nul af een proggie gebouwd in mikroPascal voor AVR-Arduino MEGA2560.
Het timing gebeuren gaat goed, je hebt notabene een aardige marge in de Hoog/ en LaagTijden.
( data transfer protocol: single NZR communication mode )
https://www.youtube.com/playlist?list=PL7iWs5bvJdxt6ujMpoWte1yy2hBMXJDSB
Mvg.
cobaltblue
( Linkje geeft wat filmpjes weer van wat test-runs. )
cobaltblue
Hi Cobaltblue!
Dat ziet er leuk uit. Ik ga me toch eens proberen te verdiepen in mikroPascal
hans
Tnx!
Zo! 5 meter 300Led’s versie waterproof is onderweg! Wordt lachu!
Wel opletten bv op ebay!
Is niet bij alle advertenties met ‘ws2812 ledstrip’ in de advertentie-kop: maar bij het selecteren staan ook ‘niet-adreseerbare’ ledstrips!
Dan heb je dus een gewone ledstrip met een ‘gemeenschappelijke Plus/Min’ en een R, G, en B-lijn.
Kind regards!
cobaltblue
Helaas, kom ik er ff niet uit hoe een afbeelding te plaatsen….
cobaltblue
Helaas, afbeeldingen plaatsen in de opmerking gaat niet (te veel ellende in het verleden gehad met ongepaste afbeeldingen).
Je kunt evt. de afbeelding sturen naar webmaster at tweaking4all punt nl, dan ik kan ik ‘m voor je plaatsen.
En je hebt helemaal gelijk wat eBay betreft
Veel plezier met de LEDs!
hans
Hoi
Heb een vraagje over de WS2811(B). Kan de richting van de leds ook worden geregeld met arduino? Vb naar rechts groen en naar links rood?
Ben beginneling.
Philippe
Philippe
Hoi Philippe,
uiteraard kun je de richting veranderen inde Arduino code.
Als voorbeeld de colorWipe() functie:
Als je de andere richting op wilt dan moet je de “for” loop de andere kant op laten tellen, b.v.
Als je beiden wilt gebruiken dan zou je 2 functies kunnen maken:
Je kunt ze dan als volgt aanroepen:
Hopelijk helpt je dat een beetje op weg. Ben vooral niet bang om vragen te stellen en als het onderwerp wat groter wordt, dan ben je zeker zeer welkom om een onderwerp te beginnen in het Arduino forum.
p.s. Kijk ook eens naar de Arduino C cursus voor beginners – dit kan behulpzaam zijn bij het begrijpen van de code, of naar het artikel met de LED effecten.
hans
Dank u Hans. Ik test het later uit.
Philippe
Graag gedaan – ik heb de code niet kunnen testen (ben op vakantie), maar ik denk dat het wel goed gaat
hans
[…] deze link heb ik de eerste basisinformatie opgezocht voor de ledstrip. Deze site legt goed het verschil uit […]
Hallo.Ik heb 1 ws2812B ledstrip van 5v.Deze wil ik op 4 plaatsen aansluiten op de motor.wie kan mij uitleggen in eenvoudige taal hoe ik deze kan en moet aansluiten.zit ook een connecter bij van 5v met 24key afstand bediening.
Maar als ik de 3polige stekker aansluit brand alleen de ledstrip en de afstand bediening werkt dan niet voor de verschillende kleuren.
bvd Jan
Jan
Hallo Jan,
Ik vrees dat ik niet helemaal begrijp wat je probeert te doen.
Misschien is het beste idee om een onderwerp in het forum te plaatsen met wat meer detail.
hans
Hallo ik ben aan kijken wat ik allemaal moet kopen voor de adresseerbare led’s en vroeg me af of iemand me hiermee kan helpen.Tot nu toe heb ik:Led strip Ws2811 ( is wel 12 V dus weet niet of dat wel goed is dan?)Fake arduino unoAdapter 9v 1A voor arduinoAdapter 12V 3A Voor voeding ledstripled strip connector 3 pin3 pin wire3 pin connector ( male en female )Starter kit met weerstandjes en board enzo
Mis ik wat of heb ik sommige dingen verkeerd gekozen? Kan ik beter voor andere strip gaan met 5VMvg,Stan
Stan
Hi Stan,
ik zou het bij 5V WS2812 (!) strips houden. Ik heb te veel gerommel gehoord bij de 12V modellen (hoewel deze ook werken blijkbaar).
Kijk eens bij Amazon.de of bij AliExpress (AliExpress is veel goedkoper!).
Wat betreft de Arduino zou ik proberen een echte Arduino kopen. Het is een paar Euro extra maar je weet dan zeker dat het werkt (zonder gemier met drivers enzo) en je ondersteund de mensen die de Arduino ontwikkeld hebben. Ook hier kun je weer bij Amazon.de kijken, en bij twijfel goed kijken naar de reviews.
Wat voeding betreft, heb je bij een 5V WS2812 (!) slechts 1 voeding nodig. Beetje afhankelijk van hoeveel LEDs je gaat gebruiken (zie hierboven onder het kopje “Stroomvoorzieningen”).
Hopelijk helpt dit je een beetje op weg … laat het gerust horen als je vragen hebt …
hans
Beste Hans,
Bedankt voor je antwoord en behulpzaamheid!
Nu vroeg ik me af als ik dan toch een echte arduino koop of ik deze dan niet beter kan kopen: https://store.arduino.cc/arduino-mkr-wifi-1010
Het klopt toch dat ik deze met wifi kan besturen zodat ik deze alleen nog maar aan het stroom hoef te leggen. (
P.S. Ik zoek een led strip nu van 5m/60leds per meter/ 5v. heb je een aanrader via aliexpress of vergelijkbaar.
Mvg,
Stan
Stan
Hoi Stan,
graag gedaan!
Voor de Arduino kan ik wat dat model betreft weinig zeggen dat ik ‘m nu pas voor het eerst zie. De ESP32 staat wel goed bekend. Maar … even opletten want dit board loopt op 3.3v wat misschien ongewenste problemen met zich mee kan brengen.
Ik begin zelf altijd met een Uno R3, gewoon omdat het eenvoudig en solide is en ik weet dus wat ik er aan heb – voor mij altijd een goede basis geweest om mee te beginnen. Het prijsverschil van een paar Euro en dan ineens wel WiFi hebben is natuurlijk verleidelijk. Een nieuwe uitvoering van de Uno (met WiFi) staat blijkbaar ook op de agenda – wat het kiezen natuurlijk niet eenvoudiger maakt.
Dit helpt dus niet … voordeel van de Uno R3 is dat je een basis hebt waar je van op aan kunt. Als je die onder de knie hebt en dan verder wilt gaan met meer complexe zaken zoals WiFi, dan kun je daarna verder gaan met het model dat je zelf gevonden had. Als er dan iets raars gebeurt dan weet je in ieder geval dat het aan dat specifieke model ligt.
Voor de LEDs heb ik deze in het verleden bij AliExpress gekocht een jaar geleden of zo; ik heb de black PCB, 5m 60 IP65 genomen omdat de LEDs dan netjes in een soort siliconen bescherming zijn gegoten wat veel beter werkt dan de LEDs die in een soort buisje zitten.
hans
Beste Hans,
Oke dan denk ik dat ik inderdaad voor de Uno R3 ga.
Welke voeding heb ik nodig als ik voor de zelfde ga als jou?
zoals ik begrijp moet je 60mA x aantal leds doen dus: 60mA x 300 leds = 18000mA / 18A? Lijkt me beetje veel dus zal wel wat verkeerd doen.
Nu had ik nog 2 vragen:
-ik wil inderdaad ip65 aangezien ik nu ip30 heb en mijn leren bureaustoel wat beschadigingen heeft door de harde led’s maar kan ik nog wel 3 pin connectors gebruiken aangezien ik liever niet teveel wil solderen.
-ik wil ze onder mijn tafel maken en wil hoeken om, kan ik gewoon gebruik maken van 3 pins hoekverbindingen of is dit af te raden.
Mvg,
Stan
Stan
Tijdens het ontwikkelen van de sketch gebruik ik de voeding van de USB voor de Arduino zelf en een aparte voeding voor de LEDs.
60 mA per LED blokje rekenen is nodig als alle LEDs echt op maximale helderheid wit staan (in dat geval is 18A correct), maar dat gebeurt niet vaak, zeker als je met effecten gaat werken of het als ambient licht gebruikt bij de TV.
Ik gebruik toevallig zelf 300 LEDs voor ambient licht voor m’n TV en ik gebruik daar een 10A voeding voor. In dat geval staan alle LEDs continue aan, maar nooit op maximale sterkte en de voeding wordt er niet eens warm van …
Met de ip65 (in siliconen) gebruik ik gewone 3 pin connectors. Het nadeel van siliconen is dat je wel een beetje van het siliconen spul moet weg snijden en er dan een connector erop moet solderen. Bij andere strips (ip30 b.v.) moet je nog steeds solderen, maar het is wat gemakkelijker te bereiken omdat je alleen maar iets van het losse hulsje afhaalt. Het zijn maar 4 hoeken, en als je goed mikt zelfs maar 3 hoeken (in de hoek beginnen).
Ik vindt het altijd het netste om met koppelstukken te werken die weer los te halen zijn. Maar goed, ieder voor zich natuurlijk.
hans
Bedankt hans voor je vele tips!Ik ben het van plan morgen te bestellen maar vroeg me af of ik nu alles een beetje goed heb.heb namelijk weinig zin om 4 weken te wachten op mijn bestelling als ik voor de rest alles al in huis heb.of dat ik iets kapot maak omdat het heel niet samen kan.
de ledstrip 4m ip65
Adapter 5v 10A
mic voor led te laten reageren op muziek
3 pin connector
3 pin wire
3 pin losse connectors
starter kit voor als ik nog wat dingetjes mis
adapter voor arduino
3 pin hoek connector
De arduino uno
kom uit eindelijk uit op een bedrag tussen de 40 en 50 euro.
Mvg,Stan
Stan
Ziet er goed uit en als ik zo kijk wat je hebt bestelt niet eens zo duur!
Ik heb zelf JST connectors in het verleden gebruikt, maar die hoe connectors zien er ook strak uit!
hans
Oke top ik heb het besteld!
Vroeg me alleen nog even af hoe het zat met de voeding naar de ledstrip.
Is dat gewoon even de adapter even open knippen, strippen en de plus en min solderen aan de strip?
Voor mij is dat dan niet solderen maar gebruik maken van connectors.
Mvg,
Stan
Stan
Ik heb zelf de stekker er vanaf geknipt inderdaad en de draden gesoldeerd aan een stekkertje.
Je kunt natuurlijk ook een stekkertje kopen die op de stekker van de voeding past – wel zo netjes, maar eerlijk gezegd was ik daarvoor (destijds) te lui en wilde niet wachten op nog een stekkertje
hans
ik ga het ook maar op die manier doen en kan waarschijnlijk nog altijd switchen als het niet bevalt aangezien ik zo weinig mogelijk wil solderen en gebruik ga maken van connectors.Het scheelt dat ik werk in een installatietechnisch bedrijf die ook een elektra kant heeft die genoeg werken met led strips voor casino’s ect. Vast wel dat ze nog iets voor me hebben als ik het vraag.
Bedankt in ieder geval voor alle hulp en ik kom later vast nog wel terug voor vragen over het programmeren.
Mvg,Stan
Stan
Ik gebruik ook liever stekkertjes; handig als je alles moet demonteren
(na 3x verhuist te zijn bleek dat toch erg handig)
hans
Beste Hans,
Moet toch gaan solderen.Die connectors zijn 3x niks.Zag er inderdaad straat uit maar helaas maakt het te weinig contact met de strip om goed te werken.
Stan
Ah man, that sucks.
Jammer om te horen, maar hopelijk hebben anderen er wat aan – om te voorkomen dat ze in hetzelfde bootje belanden.
hans
Fijn artikel om te lezen voor een leek. Maakt een en ander heel duidelijk.
Even voor de zekerheid een vraag voor ik hier aan ga beginnen…
Als ik de berekening uit het artikel volg (1 meter met 60 LEDs p/m = 60 * 60 mA = 3600 mA = 3.6 A max) zou dat betekenen dat de LEDstrip max. 2,75m lang mag zijn?
Martin
Hoi Martin,
mooi om te horen dat je het een fijn artikel vond – altijd goed om te horen en motiverend aan mijn kant
Wat de berekening betreft;
De berekening geeft alleen weer hoeveel Ampere geleverd dient te worden door de voeding, als alle LEDs in de strip op wit staan en op maximale helderheid staan.
Ieder LED blokje bestaat uit 3 kleine LEDs (rood/groen/blauw), en elke LED in het blokje 20mA, dus bij maximale belasting: 60mA.
Maar … het is zo dat maximaal helder en alle LED blokjes maximaal op wit niet vaak voorkomt. Misschien wel als je de LED strip gebruikt als kamerverlichting.
Daarnaast is het ook zo dat wit/maximaal, als het al voorkomt, vaak maar kort van duur is en de meeste voedingen trekken die korte extra belasting dan vaak nog wel voor ze inzakken.
Het Voltage (5V) gaat dan inzakken, en de LED strip gaat dan minder helder worden – ik ben nog geen situatie tegengekomen waarbij de voeding hierdoor kapot ging, als het van korte duur is (!).
Ik gebruik zelf als vuistregel: een voeding met een Amperage van rond de Aantal LEDs * 40mA, omdat vaak niet alle LEDjes aan staan en vaak ook niet op maximale helderheid.
Het e.e.a. natuurlijk proefondervindelijk … soms is zelfs minder al voldoende.
Ter illustratie gebruikte ik een 10A voeding voor 300 LEDs (dus 33mA per LED blokje) voor een project (Boblight) en dat werkt al jaren prima.
Als de strip erg lang wordt, dan is het aan te raden om de voeding zowel op het begin als op het einde van de strip aan te sluiten (+5V en GND/Aarde).
Dit omdat bij langere strips de voeding lijkt in te zakken, maar dat is dan door de strip en niet door de voeding.
Je herkent dit doordat de laatste LEDs iets minder helder zijn of geler worden.
Als jij besluit om de voeding als uitgangspunt te nemen, 3.6A in jouw voorbeeld, dan kijk je met mijn vuistregel (40mA per blokje) naar 1.5 meter (3600mA/40mA=90 -> 60 LEDs/meter -> 90/60 = 1.5 meter).
Of als ik terug reken met de 2.75 meter die je op gaf; een dergelijke strip (2.75*60=165 LEDs) zou dus maximaal 9.9 A (=165*60mA) trekken.
Terug gerekend naar mijn vuistregel, en er vanuitgaande dat jouw voeding 10A is (9.9A is niet echt een standaard voeding capaciteit), dan kom ik uit of 250 LEDs (10.000/40=250), dus iets meer dan 4 meter, of 303 LEDs (10.000/33=303) en dus ongeveer 5 meter.
Het e.e.a. kun je snel testen – maar dan wel in de gaten houden dat je de test niet te lang doet, en de temperatuur van de voeding in de gaten houden.
Veel tekst … haha. Ik hoop dat je er wat aan hebt.
hans
Interessant artikel, superleuk om de basis te leren! Ik ben van plan om een klok te maken met leds en heb hiervoor een reeks van 120 leds nodig. Nou zie ik dat je 60 leds gebruikt hebt. Kan ik ook 1 lange strip van 120 leds (die WS2812) onderling programmeren (dus bijvoorbeeld lampje 89 aan voor 5 minuten)? of moet ik dan twee afzonderlijke banen maken? Ik kan nog niet zo goed op internet vinden of een Arduino dit aan kan?
Lucas
Dank je wel voor het compliment Lucas!
De Arduino kan 120 LEDs prima aan, ik heb zelf ooit eens 300 LEDs op de Arduino aangesloten en dat werkte prima.
Je moet er wel voor zorgen dat de 5V voeding zoveel LEDs aan kan, zie de berekening hierboven, of
– exact = aantal LEDs x 60mA, wat rekening houdt met maximale helderheid en alle LEDs op wit, of
– volg mijn vuistregel aantal LEDs x 20mA – afhankelijk van de toepassing, omdat men vaak niet 100% helderheid/wit gebruikt.
Hopelijk beantwoord dit jouw vraag
hans
Bedankt voor je reactie!
Even zoals ik het begrijp: 120 leds maximaal = 7200 mA, 120 leds minimaal = 2400 mA.
De bedoeling wordt dat meestal zo rond de 60-80% van de lampjes wit zal branden. Dus even uitgaan van ca 5500 mA?Is het dan toch verstandig om een voeding met 7200 mA aan te sluiten om de pieken te vangen?
Daarop de volgende vraag wat betreft de voeding. Ik begrijp dat je de voeding tussen je ledstrip (alle 120 aan elkaar?) je arduino moet plaatsen. Dit zal dan een adapter zijn neem ik aan? Is dat de enige voeding die je dan nodig hebt, of moet de arduino ook nog apart voeden? Hoe wordt dit in de praktijk gedaan als je dit gewoon aan 1 stekker/adapter wilt aansluiten?
Lucas
Gezien het aantal LEDs, is een 5A vast goed genoeg.
Het e.e.a. kun je proefondervindelijk vast stellen. De meeste voedingen kunnen vaak even een beetje meer trekken dan aangegeven. Ik test dit altijd door te kijken of de voeding niet (te) warm wordt en of de LEDs ook de juiste helderheid weergeven. Als de voeding te zwak is dan worden de LEDs (in mijn ervaring) wat geler als ze op wit staan. De voeding wordt dan over het algemeen ook warmer of zelfs heet, en dat is natuurlijk niet wenselijk.
Het e.e.a. is ook afhankelijk van jouw budget natuurlijk – ik vermoed dat een 5A voeding prima is, maar als je zeker wilt zijn, neem dan 1 stap hoger (vaak 10A).
Ik heb zelf voor 300 LEDs een 10A voeding gebruikt en met volle tevredenheid. (zie ook een oud project van me: Ambient TV licht)
Je kunt voor de Arduino de 5V aftappen van de voeding van de LEDs, het stroomverbruik is erg laag voor de Arduino. Je kunt dus prima uit de voeten met 1 voeding. Zie afbeelding 5 hierboven voor het aansluiten.
De LEDs kunnen inderdaad in 1 lange strip zitten, of je kunt zelfs meerdere strips achter elkaar zetten (in serie) – als je dat laatste wil doen dan moet je Din/+5V/GND aan het einde van de 1ste strip, aansluiten of Din/+5V/GND van de tweede strip, etc.
Tip: mocht je merken dat de laatste LEDs van de strip minder helder worden, sluit dan +5V ook nog eens aan op het einde van de strip. Ik vermoed niet dat je dat nodig hebt met 120 LEDs.
hans
Cool; in het Nederlands én 6 jaar na plaatsen nog steeds actief beheerd!
Ik heb al een beetje pespeeld met deze LEDs, maar ga deze info zeker raadplegen als ik ‘voor het echie’ een toepassing in elkaar ga knutselen!
Thnx!
Mark
Thanks Mark!
Elke keer als ik het Nederlandse deel van Tweaking4All wil opgeven, duikt er weer een motiverende reactie op in het Nederlands
(De engelstalige pagina’s worden aanzienlijk actiever gebruikt)
Dank je wel!
Ook goed lees materiaal: LED Effecten en LED Effecten Alles-in-1
Hans
Is een heel leuk artikel, dit wil ik zeker eens in elkaar knutselen. Maar ik ben nog een noobie en stel me de vraag hoe je alles (de arduino en de ledstrip) kan aansluiten op de externe voeding. Dit is waarschijnlijk een heel domme vraag maar toch stel ik hem!
Het spijt me als deze vraag al is gesteld maar ben in de helft gestopt met lezen van alle reacties. Heel chic dat je op alles snel en ook goed reageert!
Alvast bedankt!!
Joni
Hallo Joni!
Dank je wel voor het compliment – dat wordt zeer gewaardeerd!
Wat jouw vraag betreft: Geen probleem hoor!
Als je naar Afbeelding 5 kijkt (in het artikel), dan zie je hoe de opstelling door een enkele voeding gevoed wordt.
Hierbij gebruik ik wel een Arduino Uno die op 5 Volt werkt.
Er zijn namelijk ook andere Arduino modellen die op 3.3V werken.
Deze opstelling gebruik je alleen als de Arduino NIET is aangesloten op de computer.
In het kort:
-> de +5 Volt van de voeding gaat naar de Arduino (de pin Vin of de 5V pin), en de +5 Volt gaat naar de +5V van de LED strip.
-> De min (ook wel Aarde of GND genoemd) gaat vervolgens naar een GND pin van de Arduino, en naar de GND aansluiting van de LED strip.
LET OP: als je de Arduino aansluit op een PC of een Mac (via een USB kabel), koppel dan wel +5 Volt van de voeding los van de Arduino.
Dit geldt alleen voor de +5 V die van de voeding komt en aan de Arduino zit. De “min” (ookwel Aarde of GND) blijft gewoon aangesloten. (zie Afbeelding 4)
Hopelijk helpt je dit op weg!
Hans
Doe ik dat dan met een barrel jack of hoe kan ik dat klaar krijgen?
Joni
Je zou met een barrel jack kunnen werken, maar misschien is het handiger om met een kroonsteentje te werken, of een combinatie van beiden.
Voeding -> +5/GND barrel jack -> kroonsteentje (2 pinnen, +5V en GND).
Kroonsteentje GND altijd naar zowel Arduino en LED strip.
Kroonsteentje +5V naar LED strip, en alleen naar Arduino als deze NIET aangesloten is op computer.
Ik experimenteer altijd met de Arduino aan de PC, pas als ik “klaar” ben en een vaste opstelling maak, dan pas sluit ik de +5V van de voeding aan op de Arduino.
Deze opstelling staat altijd verwijderd van mijn PC, om problemen te voorkomen (per ongeluk toch de +5V aangesloten laten).
Hans
Bedankt! Dit helpt me zeker op weg.
Joni
Blij om dat te horen en … graag gedaan
Hans
Heb je dikkere kabels nodig om 300 leds te kunnen gebruiken? En moet dit dan ook een barrel jack zijn die deze amperage aan kan?
Joni
De barrel jacks kunnen dit wel aan over het algemeen.
Wat bedrading betreft: niet te dunne draden gebruiken natuurlijk.
Ik zou bij 300 LEDs dezelfde kabel dikte gebruiken als de draden die bij/aan de LED strips zaten.
Hans
Hallo!
Ik heb met jouw hulp de ledstrips werkende gekregen, topartikel! Maar ik vraag me het volgende af: mag de led strip altijd aan het stopcontact hangen zonder dat de datapin een signaal geeft? Dus gewoon een ledstrip die ‘uit’ staat maar wel nog steeds 5V krijgt. Dit zou veel makkelijker in gebruik zijn dan dat ik hem telkens moet insteken en dan een effectje kiezen en hem na gebruik terug moet uittrekken. Ik zou namelijk graag van op een afstand de ledstrip kunnen bedienen, met overgang naar verschillende effecten.
Alvast bedankt voor je antwoord!
Groetjes Lucas
Lucas
Hoi Lucas,
dank je wel voor het compliment!
Ik denk niet dat het kwaad kan om 5V constant aan de LED strip te hebben, ook al wordt de strip niet gebruikt.
Het zal natuurlijk nog wel stroom verbruiken, en heel misschien de levensduur van de controllers (in de LED blokjes) wat verkorten.
Maar of dat een probleem gaat zijn, en hoe zwaar de impact is, weet ik niet – ik verwacht eerlijk gezegd geen drama’s.
Hans
Hallo, kan ik gewoone male to male kabels gebruiken voor de aansluitingen? Ik ben net begonnen met het gebruiken van een arduino en dit is mijn eerste project.
Jasper
Hoi Jasper,
Welkom!
Ik moet je eerlijk zeggen dat ik niet helemaal begrijp wat jouw vraag is.
Heb je het over de stekkers van de voeding, de LED strip of mogelijk kabeltjes op een breadboard?
Sorry
Hans
Hallo Hans, ik heb het al uitgevogeld, het bleek een stuk makkelijker dan ik dacht, ik had nog wel een andere vraag. Ik heb zelf nu een aantal effecten geschreven maar hoe hoe jij die funcities heb gemaakt begrijp ik niet helemaal. Hoe verander ik die een-voor-een loop dat er meer dan 3 leds naar rechts schieten? bijvoorbeeld acht in plaats van 3. Als ik het zelf schrijf dan krijg ik code zoals dit “`leds[i-8].setRGB(0, 0, 0); leds[otheri + 8].setRGB(0,0,0);“` maar jou manier werkt anders.
Jasper
Die otheri +8 is trouwens een fout en moet ook gewoon i zijn.
Jasper
Ik neem aan dat je de effecten in een van de andere artikelen hebt gevonden? (deze of deze)
Het zou handig zijn als ik een stukje meer van de code kan zien.
Hans
for(int i = 0 ; i < NUM_LEDS; i++ ) {
memset(leds, 0, NUM_LEDS * 3);
switch(j) {
case 0: leds[i].r = 255; break;
case 1: leds[i].g = 255; break;
case 2: leds[i].b = 255; break;
}
FastLED.show();
delay(10);
}
ik bedoelde dat hij nu met 1 tegelijk gaat, maar hij moet dus met meer dan 1 tegelijk dat er een streep naar rechts staat maar dan zo efficient mogelijk geschreven. Want ik heb al een manier daarvoor: leds[i-8].setRGB(0, 0, 0); leds[otheri + 8].setRGB(0,0,0); maar bij jou code zie ik nergens dat je ergens leds[i].setRGB(…..) gebruikt.
Jasper
ik heb weer de verkeerde code gepakt ik bedoelde dat ik dit nu gebruik dus niet dat met otheri:
leds[i-8].setRGB(0, 0, 0);
leds[i].setRGB(color1, color2, color3);
Jasper
Dit werkte ook niet:
switch(j) {
case 0:
leds[i+8].r = 0;
leds[i].r = 255;
break;
case 1:
leds[i+8].g = 0;
leds[i].g = 255;
break;
case 2:
leds[i+8].b = 0;
leds[i].b = 255;
break;
}
Jasper
Dit is trouwens de code als hij van links naar rechts gaat, niet dat je denkt dat ik iets verkeerd om doe.
Jasper
gefixt:
switch(j) {
case 0:
if(i<= 57){
leds[i-3].r = 0;
}
leds[i].r = 255;
break;
case 1:
if(i<= 57){
leds[i-3].g = 0;
}
leds[i].g = 255;
break;
case 2:
if(i<= 57){
leds[i-3].b = 0;
}
leds[i].b = 255;
break;
}
Jasper
Ik weet niet waar je deze code hebt gevonden, maar op dit moment zou ik dat anders doen (ik denk dat deze [Engelstalige] forum post ook interessant voor je kan zijn).
Ik zou waarschijnlijk zoiets doen:
FastLED heeft behoorlijk wat functies ingebakken, en FastLED.clear is wat ik nu zou gebruiken om de strip leeg (zwart) te maken ipv “memset”.
Omdat ik niet precies weet hoe en wat de rest van de code is, kan ik alleen maar hopen dat dit is wat je zoekt.
p.s. mocht je verder willen gaan op dit onderwerp start dan een onderwerp in het Arduino forum – ik help je graag verder.
Hans
Nog erg bedankt voor je hulp, uiteindelijk heb ik zelf een simpele oplossing kunnen vinden zonder nog een extra loop te maken.
Jasper
Mooi om te horen!
Hans
Goede uitleg over LED strips, hier heb ik zeker wat aan gehad!
Voor degene die een 8X32 klok willen maken…., dan is dit zeker de moeite waard om te bekijken.
https://www.instructables.com/ArClock-a-Smart-Display-Wrapped-in-Real-Wood/
Mark
Hoi Mark,
Zeker een mooi project!
Dank je wel voor het delen en prettige feestdagen!
Hans
Heel hartelijk bedankt. Ik maak graag gebruik van de mogelijkheden met LED strips. Het is helder weergegeven.
Jacques
Mooi om te horen Jacques! En dank dat je de moeite hebt genomen een bedankje te plaatsen – dat wordt zeer gewaardeerd
Hans