Pagina1 van 1

Arduino – WS2812 LED strip besturen met NeoPixel of FastLED

Arduino – WS2812 LED strip besturen met NeoPixel of FastLED
   261

De belangrijkste reden waarom ik een Arduino kocht, was zodat ik met LED strips toepassingen zoals BobLight en LightPack kon gebruiken op mijn TV, vergelijkbaar met het mooie AmbiLight TV’s van Philips.

Ik vind Ambilight van Philips erg mooi, dus waarom koop ik niet gewoon een Philips AmbiLight TV?
Als eerste heeft meneer Philips geen 80″ (203 cm) AmbiLight TV, de kleinere modellen zijn soms significant duurder dan mijn 80″ Vizio, en (ik woon in de VS op dit moment) in de VS zien we Philips AmbiLight TV’s niet zo veel.

In dit artikel gaan we eerst kijken naar het verbinden van een Arduino Uno met WS2812/WS2811 LED strips.




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)

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

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)

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 & 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

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 

Bestandsnaam:  Adafruit-NeoPixel.zip
Platform:  Undefined
Versie: 
Omvang:  27.2 kB
Datum:  2014-01-03
 Download Nu  Stuur me Koffie    

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.

Download - FastLED 

Bestandsnaam:  FastLED.zip
Platform:  Undefined
Versie:  3.1
Omvang:  275 kB
Datum:  2015-09-12
 Download Nu  Stuur me Koffie    

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

Ondersteun ons ...


Jouw ondersteuning wordt zeer gewaardeerd, en hoeft zelfs niets te kosten. Bijvoorbeeld door links naar ons te delen op social media, of andere websites.

Andere vormen kunnen ook gratis zijn (b.v. shoppen op Amazon).
Alle opbrengsten worden gebruikt voor web-hosting kosten, project hardware en software, koffie, etc.

Hartelijk dank voor wie al heeft bijgedragen!
Het is altijd geweldig om te zien hoe men mijn artikeltjes en applicaties weet te waarderen.

Merk op dat het klikken op affiliate links een kleine commissie voor ons kunnen genereren - dit wordt zeer gewaardeerd.

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.

  • 7 mrt 2014 - 23:37 - Lukas Reactie Link

    Top artikel!

    Beantwoorden

    Lukas

  • 24 mrt 2014 - 17:16 - Matthijs Reactie Link

    Helder artikel, precies wat ik nodig had voor de eerste stap met deze electronica. Bedankt!

    Beantwoorden

    Matthijs

    • 24 mrt 2014 - 17:25 - hans Reactie Link

      Hartelijk dank voor de positieve reactie Matthijs! 

      Altijd goed om te horen dat men iets aan mijn artikeltjes heeft! 

      Beantwoorden

      hans

  • 3 mei 2014 - 13:32 - harmvdn Reactie Link

    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?

    Beantwoorden

    harmvdn

  • 3 mei 2014 - 13:54 - hans Reactie Link

    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. 

    Beantwoorden

    hans

    • 3 mei 2014 - 14:24 - harmvdn Reactie Link

      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

      Beantwoorden

      harmvdn

    • 3 mei 2014 - 14:33 - hans Reactie Link

      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.

      Beantwoorden

      hans

  • 6 mei 2014 - 10:51 - Jelle Reactie Link

    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?

    Beantwoorden

    Jelle

    • 6 mei 2014 - 15:16 - hans Reactie Link

      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)

      Beantwoorden

      hans

      • 7 mei 2014 - 18:19 - Jelle Reactie Link

        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?

        Beantwoorden

        Jelle

      • 7 mei 2014 - 19:20 - hans Reactie Link

        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 … 

        Beantwoorden

        hans

        • 7 mei 2014 - 20:39 - Jelle Reactie Link

          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.

          Beantwoorden

          Jelle

        • 7 mei 2014 - 21:33 - hans Reactie Link

          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! 

          Beantwoorden

          hans

          • 8 mei 2014 - 2:07 - Jelle Reactie Link

            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

          • 8 mei 2014 - 3:11 - hans Reactie Link

            Nice! 

            Welke stappen deed je hiervoor?

            hans

          • 8 mei 2014 - 11:02 - Jelle Reactie Link

            Ik gebruik hiervoor het onderstaande als keymap:

            <keymap>
                    <global>
                            <keyboard>
                                    <key id="61630">addon.opensettings(script.xbmc.boblight)</key>
                            </keyboard>
                    </global>
                    <fullscreenvideo>
                            <keyboard>
                                    <key id="61630">addon.opensettings(script.xbmc.boblight)</key>
                            </keyboard>
                    </fullscreenvideo>
            </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

          • 8 mei 2014 - 20:39 - hans Reactie Link

            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

  • 2 jun 2014 - 15:08 - Sidney Reactie Link

    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

    Beantwoorden

    Sidney

    • 2 jun 2014 - 15:20 - hans Reactie Link

      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.

      Beantwoorden

      hans

      • 2 jun 2014 - 16:42 - Sidney Reactie Link

        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 ?

         

         

        Beantwoorden

        Sidney

      • 2 jun 2014 - 17:07 - hans Reactie Link

        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.

        Beantwoorden

        hans

        • 14 jun 2014 - 15:08 - Sidney Reactie Link

          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? 

          Beantwoorden

          Sidney

        • 14 jun 2014 - 15:17 - hans Reactie Link

          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.

          Beantwoorden

          hans

          • 3 jul 2014 - 15:31 - Sidney Reactie Link

            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

          • 3 jul 2014 - 16:23 - hans - Auteur: Reactie Link

            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

      • 30 jul 2014 - 1:39 - Eric-Jan van den Bogaard Reactie Link

        Een “trend” is nu ook dat de Teensy 3.1 wordt gebruikt met de WS2812 led/ledstrip, schijnt snel te wezen.

        Beantwoorden

        Eric-Jan van den Bogaard

  • 3 jul 2014 - 6:49 - Mike Reactie Link

    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

    Beantwoorden

    Mike

    • 3 jul 2014 - 15:26 - hans - Auteur: Reactie Link

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

      Beantwoorden

      hans

      • 10 jul 2014 - 15:42 - Eric Jan Reactie Link

        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”

        Beantwoorden

        Eric Jan

      • 24 jul 2014 - 14:14 - Eric-Jan van den Bogaard Reactie Link

        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 ?

        Beantwoorden

        Eric-Jan van den Bogaard

      • 24 jul 2014 - 15:15 - hans - Auteur: Reactie Link

        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 )

        Beantwoorden

        hans

  • 9 jul 2014 - 23:09 - Eric-Jan van den Bogaard Reactie Link

    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

    Beantwoorden

    Eric-Jan van den Bogaard

    • 11 jul 2014 - 14:39 - hans - Auteur: Reactie Link

      Hoi Eric-Jan,

      Als eerste dank voor de Nederlandse link voor een LED shop, en de WS2812B info.
      Wat Bluetooth draadloos en FTDI betreft moet ik bekennen dat ik met beiden nog niks gedaan heb. Ik heb al wel een FTDI rondslingeren (denk ik), maar nog niet gebruikt. Heb je er zelf ervaring mee?
      Beantwoorden

      hans

      • 11 jul 2014 - 18:51 - Eric Jan Reactie Link

        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.

        Beantwoorden

        Eric Jan

  • 23 jul 2014 - 22:48 - Eric Jan Reactie Link

    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.

    Beantwoorden

    Eric Jan

    • 23 jul 2014 - 23:13 - hans - Auteur: Reactie Link

      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?)

      Beantwoorden

      hans

      • 24 jul 2014 - 13:50 - Eric-Jan van den Bogaard Reactie Link

        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.

        Beantwoorden

        Eric-Jan van den Bogaard

        • 24 jul 2014 - 13:55 - Eric-Jan van den Bogaard Reactie Link

          Ik zag dat de link niet werkt, dus:

          https://www.ledtuning.nl/nl/ws2812-flex-display

          Beantwoorden

          Eric-Jan van den Bogaard

        • 24 jul 2014 - 15:12 - hans - Auteur: Reactie Link

          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. 

          Beantwoorden

          hans

  • 24 jul 2014 - 12:25 - Ferdy Reactie Link

    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?

    Beantwoorden

    Ferdy

    • 24 jul 2014 - 16:30 - hans - Auteur: Reactie Link

      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.

      Beantwoorden

      hans

    • 29 jul 2014 - 14:45 - Nick Reactie Link

      Hoi Ferdy,

      Zoiets wil ik ook gaan doen? Heb je dit al gedaan? Werkte het?

      Beantwoorden

      Nick

  • 24 jul 2014 - 16:15 - Eric Jan Reactie Link

    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.

    Beantwoorden

    Eric Jan

    • 24 jul 2014 - 16:35 - hans - Auteur: Reactie Link

      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. 

      Beantwoorden

      hans

      • 24 jul 2014 - 19:13 - Eric Jan Reactie Link

        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.

        Beantwoorden

        Eric Jan

      • 24 jul 2014 - 19:20 - hans - Auteur: Reactie Link

        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)

        Beantwoorden

        hans

        • 24 jul 2014 - 22:44 - Eric Jan Reactie Link

          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 ?

          Beantwoorden

          Eric Jan

        • 25 jul 2014 - 0:08 - hans - Auteur: Reactie Link

          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 … 

          Beantwoorden

          hans

          • 25 jul 2014 - 0:25 - Eric Jan Reactie Link

            Nou, op jouw manier kun je dan dus ook een prototype shield “bebouwen” en is dan echt “plug and play” snel.

            Eric Jan

          • 25 jul 2014 - 3:29 - hans - Auteur: Reactie Link

            hans

  • 27 jul 2014 - 13:24 - Eric Jan Reactie Link

    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.

    Beantwoorden

    Eric Jan

    • 27 jul 2014 - 14:45 - hans - Auteur: Reactie Link

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

      Beantwoorden

      hans

      • 28 jul 2014 - 1:42 - Eric Jan Reactie Link

        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) :)

        Beantwoorden

        Eric Jan

      • 28 jul 2014 - 2:41 - hans - Auteur: Reactie Link

        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? 

        Beantwoorden

        hans

  • 30 jul 2014 - 0:54 - Eric Jan Reactie Link

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

    Beantwoorden

    Eric Jan

    • 30 jul 2014 - 4:35 - hans - Auteur: Reactie Link

      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: 

      ...
      #define BRIGHTNESS 90 // Max. helderheid in %
      ...
      strip.setBrightness( (255 / 100) * BRIGHTNESS );

      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  …

      Beantwoorden

      hans

      • 31 jul 2014 - 13:47 - Eric-Jan van den Bogaard Reactie Link

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

        Beantwoorden

        Eric-Jan van den Bogaard

        • 31 jul 2014 - 14:01 - Eric-Jan van den Bogaard Reactie Link

          Met brightness op 10, werken de Arduino en 144 rgb leds ook op 4 zinc penlights !

          Beantwoorden

          Eric-Jan van den Bogaard

          • 31 jul 2014 - 14:36 - Eric-Jan van den Bogaard Reactie Link

            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

          • 31 jul 2014 - 16:06 - hans - Auteur: Reactie Link

            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

    • 30 jul 2014 - 4:36 - hans - Auteur: Reactie Link

      Ok foutje van mij – dat setje van 10 was waar je nog op moet bieden … maar zal vast niet boven de $5 uitkomen.

      Beantwoorden

      hans

      • 30 jul 2014 - 10:20 - Eric Jan Reactie Link

        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 !

        Beantwoorden

        Eric Jan

      • 30 jul 2014 - 18:56 - hans - Auteur: Reactie Link

        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 …!? 

        Beantwoorden

        hans

  • 30 jul 2014 - 23:44 - Eric Jan Reactie Link

    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.

    Beantwoorden

    Eric Jan

  • 31 jul 2014 - 10:34 - Eric Jan Reactie Link

    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.

    Beantwoorden

    Eric Jan

  • 31 jul 2014 - 17:30 - Nick Reactie Link

    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.

    Beantwoorden

    Nick

  • 31 jul 2014 - 18:07 - Nick Reactie Link

    Is een dergelijke voeding altijd spannings gereguleerd dan?

    Beantwoorden

    Nick

  • 31 jul 2014 - 22:30 - Eric Jan Reactie Link

    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

    Beantwoorden

    Eric Jan

  • 31 jul 2014 - 22:37 - Eric Jan Reactie Link

    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

    Beantwoorden

    Eric Jan

    • 1 aug 2014 - 14:57 - hans - Auteur: Reactie Link

      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?

      Beantwoorden

      hans

  • 7 aug 2014 - 18:33 - Eric-Jan Reactie Link

    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.

    Beantwoorden

    Eric-Jan

  • 1 sep 2014 - 23:55 - thuurke Reactie Link

    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 :)

    Beantwoorden

    thuurke

    • 2 sep 2014 - 12:16 - hans - Auteur: Reactie Link

      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.

      Beantwoorden

      hans

      • 13 sep 2014 - 1:47 - Eric-Jan van den Bogaard Reactie Link

        Ja, fout ligt eerder bij de Arduino, want de WD2812B heeft zelfs polariteit bescherming, ff dus alles checken.

        Beantwoorden

        Eric-Jan van den Bogaard

  • 13 sep 2014 - 1:57 - Eric-Jan van den Bogaard Reactie Link

    Als een strip het niet doet, zou ook de chip van te eerste led kapot kunnen zijn, probeer dan de volgende data in , etc…

    Beantwoorden

    Eric-Jan van den Bogaard

  • 13 sep 2014 - 16:45 - de neve Reactie Link

    beste

    welke zijn de beste leds voor 60 inch tv en hoeveel heb je daar voor nodig

    dank u

    Beantwoorden

    de neve

    • 13 sep 2014 - 17:02 - hans - Auteur: Reactie Link

      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 …

      Beantwoorden

      hans

  • 13 sep 2014 - 19:45 - de neve Reactie Link

    beste hans

    er zijn bij alieexpres zoveel verschillende leds kan jij eens kijken en mij de link sturen van  de beste

    mvg

    Beantwoorden

    de neve

    • 14 sep 2014 - 10:25 - hans - Auteur: Reactie Link

      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.

      Beantwoorden

      hans

      • 14 sep 2014 - 13:25 - de neve Reactie Link

        beste

        is dit eventueel een oplossing om mooie hoeken te krijgen en niet te moeten solderen

        link

        mvg

        Beantwoorden

        de neve

      • 14 sep 2014 - 13:32 - hans - Auteur: Reactie Link

        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.

        Beantwoorden

        hans

        • 14 sep 2014 - 14:13 - de neve Reactie Link

          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

          Beantwoorden

          de neve

        • 15 sep 2014 - 11:26 - hans - Auteur: Reactie Link

          Graag gedaan! 

          Beantwoorden

          hans

  • 15 sep 2014 - 21:01 - de neve Reactie Link

    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

    Beantwoorden

    de neve

  • 16 sep 2014 - 19:37 - de neve Reactie Link

    amai super gaat me al een heel pak verder helpen die andere webpage

    thx

    Beantwoorden

    de neve

  • 17 sep 2014 - 21:53 - de neve Reactie Link

    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

    Beantwoorden

    de neve

    • 19 sep 2014 - 9:05 - hans - Auteur: Reactie Link

      Ik snap niet helemaal wat je bedoelt …?

      Beantwoorden

      hans

      • 19 sep 2014 - 12:31 - de neve Reactie Link

        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

        Beantwoorden

        de neve

        • 20 sep 2014 - 9:28 - hans - Auteur: Reactie Link

          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.

          Beantwoorden

          hans

  • 21 sep 2014 - 15:15 - Eric-Jan van den Bogaard Reactie Link

    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.

    Beantwoorden

    Eric-Jan van den Bogaard

  • 16 nov 2014 - 1:46 - de neve Reactie Link

    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

    Beantwoorden

    de neve

    • 17 nov 2014 - 9:14 - hans - Auteur: Reactie Link

      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 

      Beantwoorden

      hans

      • 17 nov 2014 - 20:48 - de neve Reactie Link

        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

        Beantwoorden

        de neve

      • 18 nov 2014 - 10:25 - hans - Auteur: Reactie Link

        Als de Arduino aan gaat, zie je dan de test die alle leds stuk voor stuk aan zet?

        Beantwoorden

        hans

        • 18 nov 2014 - 12:17 - de neve Reactie Link

          een 60 leds gaan aan ja 

          Beantwoorden

          de neve

        • 18 nov 2014 - 15:38 - hans - Auteur: Reactie Link

          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.

          Beantwoorden

          hans

          • 18 nov 2014 - 16:11 - de neve Reactie Link

            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

          • 20 nov 2014 - 23:48 - de neve Reactie Link

            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

          • 21 nov 2014 - 9:41 - hans - Auteur: Reactie Link

            Spijt me te horen dat je met dat soort ellende te maken hebt  … blij dat het opgelost is 

            hans

  • 20 nov 2014 - 17:35 - Michael Reactie Link

    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.  

     

    Beantwoorden

    Michael

    • 21 nov 2014 - 9:43 - hans - Auteur: Reactie Link

      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?

      Beantwoorden

      hans

      • 21 nov 2014 - 11:30 - Michael Reactie Link

        Thanks Hans, if you have any updates for them, Please inform us. we have to inquiry someone who have tested it successfully.

        Beantwoorden

        Michael

      • 21 nov 2014 - 12:17 - hans - Auteur: Reactie Link

        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.

        Beantwoorden

        hans

  • 26 nov 2014 - 15:37 Reactie Link
    PingBack: www.tweaking4all.nl

    […] 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 […]

  • 29 jan 2015 - 14:48 - Marco Reactie Link

    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.

    Beantwoorden

    Marco

    • 29 jan 2015 - 15:03 - hans - Auteur: Reactie Link

      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.

      Beantwoorden

      hans

  • 30 mrt 2015 - 20:57 Reactie Link
    PingBack: jketting.wordpress.com

    […] //www.tweaking4all.nl/hardware/arduino/arduino-ws2812-led/ […]

  • 12 sep 2015 - 12:05 - bertus Reactie Link

    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??

    Beantwoorden

    bertus

    • 12 sep 2015 - 18:24 - hans - Auteur: Reactie Link

      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:

      Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);

      en FastLED deze:

      FastLED.addLeds<NEOPIXEL, PIN, RGB>(leds, NUM_LEDS);

      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.

      Beantwoorden

      hans

      • 12 sep 2015 - 18:49 - bertus Reactie Link

        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

        Beantwoorden

        bertus

      • 13 sep 2015 - 7:09 - hans - Auteur: Reactie Link

        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.

        Beantwoorden

        hans

        • 13 sep 2015 - 9:23 - bertus Reactie Link

          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

          Beantwoorden

          bertus

          • 13 sep 2015 - 9:24 - bertus Reactie Link

            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

          • 13 sep 2015 - 9:47 - hans - Auteur: Reactie Link

            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

            void setup() {
              delay(3000); // sanity delay
              FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
              FastLED.setBrightness( BRIGHTNESS );
            }

            Terwijl b.v. Blink het volgende geeft:

            void setup() { 
                  // Uncomment/edit one of the following lines for your leds arrangement.
                  // FastLED.addLeds<TM1803, DATA_PIN, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<TM1804, DATA_PIN, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<TM1809, DATA_PIN, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);
                 FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
                  // FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<UCS1903B, DATA_PIN, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<GW6205_400, DATA_PIN, RGB>(leds, NUM_LEDS);
                  
                  // FastLED.addLeds<WS2801, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<SM16716, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<LPD8806, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<SM16716, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
                  // FastLED.addLeds<LPD8806, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
            }

            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

  • 13 sep 2015 - 13:17 - bertus Reactie Link

    ja en dat setcorrections dan,dan komen daar verder weer meldingen van

    Beantwoorden

    bertus

    • 13 sep 2015 - 13:19 - bertus Reactie Link

      maar je zal wel gelijk hebben,dat het oude examples zijn :)

      bedankt

      Beantwoorden

      bertus

    • 13 sep 2015 - 13:33 - hans - Auteur: Reactie Link

      Werken de andere examples als je die gehele regel vervangt?

      Dus  

      FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );

      vervangen door een FastLED regel van een ander example.

      Beantwoorden

      hans

  • 17 sep 2015 - 11:01 - bertus Reactie Link

    hallo

    zijn er nog leuke voorbeelden  voord e FASTLED sticks?

    ik heb er nu 4 stuks van elk 8 leds

    ik hoor het graag

    Beantwoorden

    bertus

    • 17 sep 2015 - 11:10 - hans - Auteur: Reactie Link

      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. 

      Beantwoorden

      hans

  • 18 okt 2015 - 21:20 - Red Reactie Link

    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

    Beantwoorden

    Red

    • 19 okt 2015 - 16:19 - hans - Auteur: Reactie Link

      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! 

      Beantwoorden

      hans

      • 27 nov 2015 - 10:46 - Red Reactie Link

        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

        Beantwoorden

        Red

      • 27 nov 2015 - 15:54 - hans - Auteur: Reactie Link

        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.

        Beantwoorden

        hans

  • 3 nov 2015 - 14:19 - marcel - Auteur: Reactie Link

    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

    Beantwoorden

    marcel

    • 4 nov 2015 - 10:06 - hans - Auteur: Reactie Link

      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):

      void strobe(uint32_t c, uint8_t strobeCount) {
        uint16_t i, j;
        for(i=0;i<strobeCount;i++) { // loop voor het aantal strobe flitsen
          for(j=0;j<strip.numPixels(); j++) { // voor alle LEDs AAN
            strip.setPixelColor(i, c);
          }
          strip.show();
          for(j=0;j<strip.numPixels(); j++) { // voor alle LEDs UIT
            strip.setPixelColor(i, 0);
          }
          strip.show();
        } }

      welke we kunnen aanroepen als volgt voor 10 witte flitsen:

      strobe(strip.Color(255, 255, 255), 10);

      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! 

      Beantwoorden

      hans

  • 7 nov 2015 - 8:59 - uncels Reactie Link

    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.

    Beantwoorden

    uncels

    • 7 nov 2015 - 9:33 - hans - Auteur: Reactie Link

      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?

      Beantwoorden

      hans

      • 8 nov 2015 - 10:17 - uncels Reactie Link

        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.

        Beantwoorden

        uncels

      • 8 nov 2015 - 11:10 - hans - Auteur: Reactie Link

        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

        Beantwoorden

        hans

    • 11 nov 2015 - 10:48 - hans - Auteur: Reactie Link

      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?

      Beantwoorden

      hans

  • 8 nov 2015 - 10:29 - uncels Reactie Link

    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.

    Beantwoorden

    uncels

  • 9 nov 2015 - 12:59 Reactie Link
    PingBack: www.tweaking4all.nl

    […] 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 […]

  • 9 nov 2015 - 20:59 - uncels Reactie Link

    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.

    Beantwoorden

    uncels

    • 10 nov 2015 - 11:24 - hans - Auteur: Reactie Link

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

      Beantwoorden

      hans

      • 11 nov 2015 - 14:03 - John Reactie Link

        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?

        Beantwoorden

        John

        • 11 nov 2015 - 14:15 - John Reactie Link

          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.

          Beantwoorden

          John

    • 11 nov 2015 - 15:15 - hans - Auteur: Reactie Link

      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 

      Beantwoorden

      hans

  • 16 dec 2015 - 23:09 - plasticman Reactie Link

    Wat een super site zeg! bednakt voor het publiceren van al deze nuttige informatie.

    Beantwoorden

    plasticman

    • 16 dec 2015 - 23:11 - hans - Auteur: Reactie Link

      Hi Plasticman!

      Hartelijk dank voor de geweldige reactie!!!
      Kijk dat zijn nou de berichten die motiverend werken! Dank je wel! 

      Beantwoorden

      hans

  • 21 dec 2015 - 22:36 - Maurice Reactie Link

    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

    Beantwoorden

    Maurice

    • 21 dec 2015 - 22:41 - Maurice Reactie Link

      Sorry, stomme fout. 9W / 5V = 1.8A / 30 leds = 60 mA.

      Blijft mijn vraag over de voeding open…

      Beantwoorden

      Maurice

    • 22 dec 2015 - 0:38 - hans - Auteur: Reactie Link

      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.

      Beantwoorden

      hans

  • 9 mrt 2016 - 11:52 - Dimitry Reactie Link

    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 

    Beantwoorden

    Dimitry

  • 24 mrt 2016 - 21:54 - Dylan Reactie Link

    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 

    Beantwoorden

    Dylan

    • 25 mrt 2016 - 10:56 - hans - Auteur: Reactie Link

      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

      Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);

      eens te experimenteren met een andere waarde voor “NEO_GRB”, door b.v. “NEO_RGB” te proberen.

      Beantwoorden

      hans

  • 17 aug 2016 - 20:33 - marco kuperus - Auteur: Reactie Link

    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?????

    Beantwoorden

    marco kuperus

    • 18 aug 2016 - 10:53 - hans - Auteur: Reactie Link

      Hoi Marco,

      voor zover ik weet (niet getest) kun je 2 strips besturen door twee strips te definiëren, zoiets als:

      #define PIN1 6
      #define PIN2 9 // geen idee of pin 9 hier geschikt voor is, maar een andere pin kan natuurlijk ook
      Adafruit_NeoPixel strip1 = Adafruit_NeoPixel(60, PIN1, NEO_GRB + NEO_KHZ800);
      Adafruit_NeoPixel strip2 = Adafruit_NeoPixel(60, PIN2, NEO_GRB + NEO_KHZ800);
      void setup() {
        strip1.begin();
        strip1.show(); // initialisatie van alle LEDs (resulteert in UIT zetten hier)
        strip2.begin();
        strip2.show(); // initialisatie van alle LEDs (resulteert in UIT zetten hier)
      }

      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.

      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 < strip1.numPixels(); i=i+3) {
              strip1.setPixelColor(i+q, c); //zet elke 3de RGD LED aan
            }
            strip1.show();
            delay(wait);
            for (int i=0; i < strip1.numPixels(); i=i+3) {
              strip1.setPixelColor(i+q, 0); //zet elke 3de RGB LED uit
            }
          }
        }
      }

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

      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 < strip1.numPixels(); i=i+3) {
              strip1.setPixelColor(i+q, c); //zet elke 3de RGD LED aan
              strip2.setPixelColor(i+q, c); //zet elke 3de RGD LED aan
            }
            strip1.show();
            strip2.show();
            delay(wait);
            for (int i=0; i < strip1.numPixels(); i=i+3) {
              strip1.setPixelColor(i+q, 0); //zet elke 3de RGB LED uit
              strip2.setPixelColor(i+q, 0); //zet elke 3de RGB LED uit
            }
          }
        }
      }

      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.

      Beantwoorden

      hans

      • 28 aug 2016 - 20:44 - marco kuperus Reactie Link

        oke, dankje wel! ik ben een heel eind gekomen door u.

        Beantwoorden

        marco kuperus

      • 28 aug 2016 - 22:35 - marco kuperus Reactie Link

        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)

        Beantwoorden

        marco kuperus

        • 28 aug 2016 - 23:37 - hans - Auteur: Reactie Link

          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.

          Omdat je een strip in 2’en kunt knippen en weer aan elkaar kunt koppelen met 3 draadjes, zou je kunnen zeggen:
          Strip 1 = LED 1 … 10
          Strip 2 = LED 11 .. 20
          etc.
          Dus door de strips aan te spreken via deze nummers kun je doen alsof het aparte strips zijn, maar dat alles toch tegelijk werkt.
          Toevallig heb ik recent met iemand anders, in het Engelstalige forum, over een soortgelijk probleem gesproken. Misschien interessant om te lezen, zie deze link.
          Beantwoorden

          hans

          • 30 aug 2016 - 1:17 - marco kuperus - Auteur: Reactie Link

            Enorm bedankt voor uw hulp en advies! Tot ziens! 

            marco kuperus

  • 29 sep 2016 - 9:02 - Bram Reactie Link

    Even ter informatie, radiobeurs rhee in Breda is inmiddels helaas gesloten :( 

    Beantwoorden

    Bram

    • 1 okt 2016 - 11:41 - hans - Auteur: Reactie Link

      Hoi Bram,

      ja, ik had het ook gehoord ja, jammer he? Toch een mooi stukje geschiedenis (voor mij althans) dat weer verdwenen is. 

      Beantwoorden

      hans

  • 21 nov 2016 - 19:01 - Jeroen Reactie Link

    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?

    Beantwoorden

    Jeroen

    • 21 nov 2016 - 20:02 - hans - Auteur: Reactie Link

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

      Beantwoorden

      hans

      • 22 nov 2016 - 14:34 - Jeroen Reactie Link

        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

        Beantwoorden

        Jeroen

        • 22 nov 2016 - 14:45 - hans - Auteur: Reactie Link

          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.

          Beantwoorden

          hans

          • 22 nov 2016 - 20:05 - Jeroen Reactie Link

            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

          • 22 nov 2016 - 22:01 - hans - Auteur: Reactie Link

            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

          • 23 nov 2016 - 11:51 - Jeroen Reactie Link

            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

          • 23 nov 2016 - 16:50 - hans - Auteur: Reactie Link

            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

          • 23 nov 2016 - 21:24 - Jeroen Reactie Link

            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

          • 25 nov 2016 - 15:36 - hans - Auteur: Reactie Link

            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

  • 6 mrt 2017 - 19:36 - hans Reactie Link

    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 :(

    Beantwoorden

    hans

    • 6 mrt 2017 - 20:26 - hans - Auteur: Reactie Link

      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.

      Beantwoorden

      hans

  • 24 mei 2017 - 23:13 - ZekerIemand Reactie Link

    Wat geweldig dat je dit online zet. Het heeft mij enorm geholpen. Zelden zo’n heldere uitleg gezien.

    Dank je wel!!!!

    Beantwoorden

    ZekerIemand

    • 25 mei 2017 - 17:28 - hans - Auteur: Reactie Link

      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! 

      Beantwoorden

      hans

  • 18 jun 2017 - 12:55 - fred Reactie Link

    Bedankt voor de tekst en uitleg.

    ik ben er pas mee begonnen, maar het werkt mooi/simpel.

    Beantwoorden

    fred

    • 18 jun 2017 - 18:42 - hans - Auteur: Reactie Link

      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 

      Beantwoorden

      hans

  • 8 aug 2017 - 22:04 - William Reactie Link

    Heldere,duidelijke uitleg. Dank voor het Artikel 
    Ik zat net zoals de kerstlichtjes tot ik dit gelezen had in de knoop 
    Muchas Gracias !!!!

    Beantwoorden

    William

    • 12 aug 2017 - 22:36 - hans - Auteur: Reactie Link

      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 

      Beantwoorden

      hans

  • 20 aug 2017 - 17:41 - Maikel Reactie Link

    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 

    Beantwoorden

    Maikel

    • 20 aug 2017 - 17:43 - Maikel Reactie Link

      ik bedoel de arduino uno sorry hier voor.

      Beantwoorden

      Maikel

    • 26 aug 2017 - 16:43 - hans - Auteur: Reactie Link

      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.

      Beantwoorden

      hans

  • 27 aug 2017 - 21:52 - cobaltblue Reactie Link

    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.

    Beantwoorden

    cobaltblue

    • 29 aug 2017 - 23:21 - hans - Auteur: Reactie Link

      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!)

      Beantwoorden

      hans

  • 30 aug 2017 - 21:38 - cobaltblue - Auteur: Reactie Link

    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.

    Beantwoorden

    cobaltblue

  • 27 sep 2017 - 21:37 - cobaltblue Reactie Link

    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.

    Beantwoorden

    cobaltblue

    • 27 sep 2017 - 21:57 - cobaltblue Reactie Link

      ( Linkje geeft wat filmpjes weer van wat test-runs. )

      Beantwoorden

      cobaltblue

    • 30 sep 2017 - 19:38 - hans - Auteur: Reactie Link

      Hi Cobaltblue!

      Dat ziet er leuk uit. Ik ga me toch eens proberen te verdiepen in mikroPascal 

      Beantwoorden

      hans

      • 2 okt 2017 - 15:53 - cobaltblue Reactie Link

        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!

        Beantwoorden

        cobaltblue

        • 2 okt 2017 - 15:56 - cobaltblue Reactie Link

          Helaas, kom ik er ff niet uit hoe een afbeelding te plaatsen….

          Beantwoorden

          cobaltblue

          • 3 okt 2017 - 4:17 - hans - Auteur: Reactie Link

            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

  • 15 okt 2017 - 22:51 - Philippe Reactie Link

    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

    Beantwoorden

    Philippe

    • 18 okt 2017 - 11:21 - hans - Auteur: Reactie Link

      Hoi Philippe,

      uiteraard kun je de richting veranderen inde Arduino code.
      Als voorbeeld de colorWipe() functie:

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

      Als je de andere richting op wilt dan moet je de “for” loop de andere kant op laten tellen, b.v.

      void colorWipe(uint32_t c, uint8_t wait) {
        for(uint16_t i=strip.numPixels(); i>=0; i--) {
            strip.setPixelColor(i, c);
            strip.show();
            delay(wait);
        }
      }

      Als je beiden wilt gebruiken dan zou je 2 functies kunnen maken:

      void colorWipeOmhoog(uint32_t c, uint8_t wait) {
        for(uint16_t i=0; i<strip.numPixels(); i++) {
            strip.setPixelColor(i, c);
            strip.show();
            delay(wait);
        }
      }
      void colorWipeOmlaag(uint32_t c, uint8_t wait) {
        for(uint16_t i=strip.numPixels(); i>=0; i--) {
            strip.setPixelColor(i, c);
            strip.show();
            delay(wait);
        }
      }

      Je kunt ze dan als volgt aanroepen:

        colorWipeOmhoog(strip.Color(255, 0, 0), 50); // Rood
        colorWipeOmlaag(strip.Color(0, 255, 0), 50); // Groen

      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.

      Beantwoorden

      hans

  • 13 jun 2018 - 12:16 Reactie Link
    PingBack: fatgirlpower.wordpress.com

    […] deze link heb ik de eerste basisinformatie opgezocht voor de ledstrip. Deze site legt goed het verschil uit […]

  • 21 jul 2018 - 12:49 - Jan Reactie Link

    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

    Beantwoorden

    Jan

  • 26 sep 2018 - 18:43 - Stan Reactie Link

    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 

    Beantwoorden

    Stan

    • 26 sep 2018 - 23:38 - hans - Auteur: Reactie Link

      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 … 

      Beantwoorden

      hans

      • 28 sep 2018 - 14:19 - Stan Reactie Link

        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&nbsp;

        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 

        Beantwoorden

        Stan

        • 28 sep 2018 - 15:50 - hans - Auteur: Reactie Link

          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.

          Beantwoorden

          hans

          • 28 sep 2018 - 16:26 - Stan Reactie Link

            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

          • 28 sep 2018 - 17:59 - hans - Auteur: Reactie Link

            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

  • 30 sep 2018 - 19:35 - Stan Reactie Link

    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

    Beantwoorden

    Stan

    • 30 sep 2018 - 21:47 - hans - Auteur: Reactie Link

      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!

      Beantwoorden

      hans

      • 1 okt 2018 - 8:52 - Stan Reactie Link

        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 

        Beantwoorden

        Stan

        • 1 okt 2018 - 10:32 - hans - Auteur: Reactie Link

          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 

          Beantwoorden

          hans

          • 1 okt 2018 - 10:57 - Stan Reactie Link

            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

          • 1 okt 2018 - 11:00 - hans - Auteur: Reactie Link

            Ik gebruik ook liever stekkertjes; handig als je alles moet demonteren 
            (na 3x verhuist te zijn bleek dat toch erg handig)

            hans

      • 11 dec 2018 - 16:31 - Stan Reactie Link

        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.

        Beantwoorden

        Stan

        • 11 dec 2018 - 18:51 - hans - Auteur: Reactie Link

          Ah man, that sucks.
          Jammer om te horen, maar hopelijk hebben anderen er wat aan – om te voorkomen dat ze in hetzelfde bootje belanden. 

          Beantwoorden

          hans

  • 27 dec 2019 - 11:33 - Martin Reactie Link

    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?

    Beantwoorden

    Martin

    • 27 dec 2019 - 12:45 - hans - Auteur: Reactie Link

      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.

      Beantwoorden

      hans

  • 8 jan 2020 - 16:20 - Lucas Reactie Link

    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?

    Beantwoorden

    Lucas

    • 9 jan 2020 - 12:00 - hans - Auteur: Reactie Link

      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 

      Beantwoorden

      hans

      • 9 jan 2020 - 12:30 - Lucas Reactie Link

        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?

        Beantwoorden

        Lucas

      • 9 jan 2020 - 12:49 - hans - Auteur: Reactie Link

        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.

        Beantwoorden

        hans

  • 26 feb 2020 - 11:55 - Mark Reactie Link

    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!

    Beantwoorden

    Mark

  • 1 mei 2020 - 15:58 - Joni Reactie Link

    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!!

    Beantwoorden

    Joni

    • 1 mei 2020 - 18:47 - Hans - Auteur: Reactie Link

      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! 

      Beantwoorden

      Hans

      • 1 mei 2020 - 21:33 - Joni Reactie Link

        Doe ik dat dan met een barrel jack of hoe kan ik dat klaar krijgen?

        Beantwoorden

        Joni

      • 2 mei 2020 - 13:47 - Hans - Auteur: Reactie Link

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

        Beantwoorden

        Hans

        • 5 mei 2020 - 12:07 - Joni Reactie Link

          Bedankt! Dit helpt me zeker op weg.

          Beantwoorden

          Joni

        • 6 mei 2020 - 11:03 - Hans - Auteur: Reactie Link

          Blij om dat te horen en … graag gedaan 

          Beantwoorden

          Hans

        • 10 mei 2020 - 12:05 - Joni Reactie Link

          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?

          Beantwoorden

          Joni

          • 10 mei 2020 - 16:04 - Hans - Auteur: Reactie Link

            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

  • 8 jun 2020 - 15:53 - Lucas Reactie Link

    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

    Beantwoorden

    Lucas

    • 8 jun 2020 - 17:07 - Hans - Auteur: Reactie Link

      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.

      Beantwoorden

      Hans

  • 20 jul 2020 - 11:12 - Jasper Reactie Link

    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.

    Beantwoorden

    Jasper

    • 20 jul 2020 - 12:31 - Hans - Auteur: Reactie Link

      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 

      Beantwoorden

      Hans

      • 23 jul 2020 - 13:22 - Jasper Reactie Link

        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.

        Beantwoorden

        Jasper

        • 23 jul 2020 - 13:23 - Jasper Reactie Link

          Die otheri +8 is trouwens een fout en moet ook gewoon i zijn.

          Beantwoorden

          Jasper

        • 23 jul 2020 - 13:32 - Hans - Auteur: Reactie Link

          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. 

          Beantwoorden

          Hans

          • 23 jul 2020 - 13:53 - Jasper Reactie Link

                  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

          • 23 jul 2020 - 13:54 - Jasper Reactie Link

            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

          • 23 jul 2020 - 14:02 - Jasper Reactie Link

            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

          • 23 jul 2020 - 14:03 - Jasper Reactie Link

            Dit is trouwens de code als hij van links naar rechts gaat, niet dat je denkt dat ik iets verkeerd om doe.

            Jasper

          • 23 jul 2020 - 14:11 - Jasper Reactie Link

            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

          • 23 jul 2020 - 14:13 - Hans - Auteur: Reactie Link

            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:

            ...
            #define STREEP_BREEDTE 3 // aantal LEDs voor de "streep"
            ...
            
                  for(int i = 0 ; i < NUM_LEDS; i++ ) {
                    FastLED.clear(); 
                    for(int Streep = 0; Streep < STREEP_BREEDTE; Streep++)
                    {
                    switch(j) {
                      case 0: leds[i+Streep].r = 255; break;
                      case 1: leds[i+Streep].g = 255; break;
                      case 2: leds[i+Streep].b = 255; break;
                    } }
                    FastLED.show();
                    delay(10);
                  }  

            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

          • 23 jul 2020 - 14:31 - Jasper Reactie Link

            Nog erg bedankt voor je hulp, uiteindelijk heb ik zelf een simpele oplossing kunnen vinden zonder nog een extra loop te maken. 

            Jasper

          • 26 jul 2020 - 13:37 - Hans - Auteur: Reactie Link

             Mooi om te horen! 

            Hans

  • 25 dec 2020 - 10:53 - Mark Reactie Link

    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/

    Beantwoorden

    Mark

  • 17 aug 2023 - 9:21 - Jacques - Auteur: Reactie Link

    Heel hartelijk bedankt. Ik maak graag gebruik van de mogelijkheden met LED strips. Het is helder weergegeven.

    Beantwoorden

    Jacques

    • 17 aug 2023 - 10:43 - Hans - Auteur: Reactie Link

      Mooi om te horen Jacques! En dank dat je de moeite hebt genomen een bedankje te plaatsen – dat wordt zeer gewaardeerd 

      Beantwoorden

      Hans



Jouw Opmerking ...

Plaats hier geen grote bestanden (zoals source codes, log files of config files). Gebruik hiervoor het Forum.

Delen:
*
*
Laat me per email weten als er nieuwe reacties zijn.
       Je kunt jouw RSS reader gebruiken om reacties te volgen.


Tweaking4All gebruikt de gratis Gravatar dienst voor Avatar weergave.