Bouw een indrukwekkend monitor Ambilight-systeem met Arduino
Onderdelen en benodigdheden
| Arduino Nano R3 | 1 |
| Arduino UNO (alternatief) | 1 |
| WS2812B Adresseerbare LED-strip (Digilent) | 1 |
Apps en online diensten
- Arduino IDE
- Ambibox Software (gratis, alleen Windows)
Over dit project
Deze handleiding laat zien hoe je een TV/Monitor Ambilight-systeem bouwt met een Arduino en WS2812B LED's. Het systeem werkt met de Ambibox-software op een Windows-PC die schermkleuren analyseert en via serieel naar de Arduino stuurt.
Belangrijke punten
- Alleen Windows – Ambibox werkt niet op Linux/macOS (voor standalone gebruik is een Raspberry Pi-variant mogelijk, maar duurder)
- Werkt goed op bureaublad en films zonder merkbare vertraging
- Spelletjes in volledig scherm werken vaak niet; randloze venstermodus wel (ca. 5% extra CPU)
- Zeer goedkoop: ~$3 voor Arduino + ~$13 voor 50 WS2811/WS2812 LED's
Stap 1: Benodigd materiaal
- WS2812B LED-strip
- Arduino Nano
- Mini breadboard
- Draadjes
- Terminal naar DC-jack adapter
- Mini USB naar USB kabel
- 5V voeding voor de LED's
- Computer met Arduino IDE
Stap 2: RGB LED's
Het belangrijkste onderdeel zijn de individueel adresseerbare RGB LED's. De meest voorkomende en goedkope types zijn WS2811 en WS2812 (beide ondersteund door de FastLED-bibliotheek). Er zijn twee vormfactorën:
- Losse lampjes (12mm) met variabele afstand (max ~10cm) – maximale vrijheid in positionering
- LED-strips (met zelfklevende achterkant) – vaste afstand (30/60+/m), makkelijker te monteren
Stap 3: LED-strip op monitor monteren
- Meet de achterkant van je monitor, hou ~1 cm marge aan de randen
- Kort de strip tot lengte (knip op de gemarkeerde snijpunten na elke LED)
- Solder de 4 stukken weer aan elkaar: +5V, DIN, GND (let op de pijltjes voor datastroomrichting!)
Stap 4: Arduino aansluiten
- DIN van LED-strip → Arduino pin 4 (of 5/6, moet overeenkomen met code)
- GND van LED-strip → Arduino GND
- Optioneel: Arduino GND met PSU GND verbinden bij aparte voeding
- 5V voeding op LED-strip (niet via Arduino!)
Stap 5: Software – Ambibox & Adalight
- Download de Adalight-code voor Arduino (onderaan)
- Open in Arduino IDE, installeer FastLED-bibliotheek
- Pas in de code aan:
#define DATA_PIN 4en#define NUM_LEDS 60(aantal LED's) - Compileer en upload naar Arduino
- Installeer en start Ambibox op Windows
- Configureer in Ambibox: COM-poort, LED-aantal, kleerkalibratie
- Test met een RGB-testvideo
Extra: Geluidseffecten
Ambibox heeft een geluidsmodus waar LED's knipperen op de muziekriem.
Code
Arduino-code (Adalight/FastLED)
#include "FastLED.h"
#define NUM_LEDS 240
#define DATA_PIN 6
#define serialRate 115200
// Adalight protocol: "Magic Word" prefix
uint8_t prefix[] = {'A', 'd', 'a'}, hi, lo, chk, i;
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
// Startup kleurtest
LEDS.showColor(CRGB(255, 0, 0)); delay(500);
LEDS.showColor(CRGB(0, 255, 0)); delay(500);
LEDS.showColor(CRGB(0, 0, 255)); delay(500);
LEDS.showColor(CRGB(0, 0, 0));
Serial.begin(serialRate);
Serial.print("Ada\n"); // Handshake
}
void loop() {
// Wacht op Magic Word "Ada"
for (i = 0; i < sizeof prefix; ++i) {
waitLoop:
while (!Serial.available());
if (prefix[i] == Serial.read()) continue;
i = 0; goto waitLoop;
}
// Header: hi, lo, checksum
while (!Serial.available()); hi = Serial.read();
while (!Serial.available()); lo = Serial.read();
while (!Serial.available()); chk = Serial.read();
// Checksum validatie
if (chk != (hi ^ lo ^ 0x55)) { i = 0; goto waitLoop; }
memset(leds, 0, NUM_LEDS * sizeof(struct CRGB));
// LED-data ontvangen
for (uint8_t i = 0; i < NUM_LEDS; i++) {
byte r, g, b;
while(!Serial.available()); r = Serial.read();
while(!Serial.available()); g = Serial.read();
while(!Serial.available()); b = Serial.read();
leds[i].r = r; leds[i].g = g; leds[i].b = b;
}
FastLED.show();
}
Schema

Productieproces
- Real-time IoT hartslagmonitor met Arduino en MAX30100
- Arduino Audio Frequentie Detector – Meet de luidste geluidspieken met hoge gevoeligheid
- Arduino Boter-Kaas-Eieren met MAX7219 LED Matrix en Kartonnen Behuizing
- Bouw een Betrouwbare Arduino Afteltimer met SparkFun 7‑Segment Display
- Bouw een compacte FM-radio met Arduino Nano en RDA5807M
- DIY Putwater Niveaumonitor met Arduino Nano, MPXV5010DP & OLED Display
- Bouw je eigen RC Porsche-auto met Arduino: Stap-voor-stap handleiding
- Maak Muzikale Tonen met Arduino: Stapsgewijze Handleiding
- Geavanceerd thuismonitoringssysteem met Arduino Mega en IoT-sensoren
- Bouw een Betrouwbare Slimme Energiemonitor met Arduino UNO – Stapsgewijze Handleiding
- Bouw een Real-time Digitale Kompas met Arduino & Processing