Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Monitor-Ambilight selbst bauen mit Arduino Nano & WS2812B LEDs

Komponenten und Materialien

Software und Online-Dienste

Projektbeschreibung

Ein günstiges Ambilight-System für den PC-Monitor: Ein Arduino steuert einen WS2812B-LED-Strip, der hinter dem Monitor angebracht wird. Die Software „Ambibox“ auf dem PC erfasst die Bildschirmfarben am Rand und sendet die Farbdaten per USB an den Arduino. Dieser setzt die LEDs entsprechend. Das System funktioniert bei Filmen und Desktop hervorragend; bei Spielen im Vollbildmodus kann die Erfassung fehlschlagen – Randlos-Fenstermodus funktioniert.

Hinweis: Ambibox läuft nur unter Windows. Für Linux/macOS gibt es Alternativen (z. B. Hyperion auf Raspberry Pi), diese sind aber teurer.

Aufbau

Schritt 1: LED-Strip zuschneiden & montieren

  1. Monitor-Rückseite ausmessen, ca. 1 cm Rand lassen.
  2. Strip an den markierten Stellen zuschneiden (nach jeder LED möglich).
  3. Vier Streifen für die vier Seiten zuschneiden.
  4. Streifen mit Litze wieder verbinden: +5V an +5V, DIN an DOUT (Pfeilrichtung beachten!), GND an GND.
  5. Aufkleben (Klebestreifen auf der Rückseite oder Klebeband).

Schritt 2: Arduino anschließen

Schritt 3: Arduino-Code (Adalight-Protokoll)

FastLED-Bibliothek installieren. Code öffnen, NUM_LEDS (z. B. 60) und DATA_PIN (z. B. 4) anpassen. Kompilieren & hochladen.

#include "FastLED.h"
#define NUM_LEDS 60
#define DATA_PIN 4
#define serialRate 115200

uint8_t prefix[] = {'A', 'd', 'a'}, hi, lo, chk, i;
CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds(leds, NUM_LEDS);
  // Start-Farbtest
  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"); // Magic Word
}

void loop() {
  // Auf Magic Word warten
  for (i = 0; i < sizeof(prefix); ++i) {
    waitLoop:
    while (!Serial.available());
    if (prefix[i] == Serial.read()) continue;
    i = 0; goto waitLoop;
  }
  // Hi, Lo, Checksumme
  while (!Serial.available()); hi = Serial.read();
  while (!Serial.available()); lo = Serial.read();
  while (!Serial.available()); chk = Serial.read();
  if (chk != (hi ^ lo ^ 0x55)) { i = 0; goto waitLoop; }

  memset(leds, 0, NUM_LEDS * sizeof(CRGB));
  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();
}

Schritt 4: Ambibox einrichten

  1. Ambibox herunterladen & installieren.
  2. COM-Port & Baudrate (115200) einstellen.
  3. LED-Anzahl & Reihenfolge konfigurieren.
  4. Farbkalibrierung durchführen (weißer Hintergrund anpassen).
  5. Testvideo abspielen – fertig!

Zusatzfunktionen

Schaltplan

Monitor-Ambilight selbst bauen mit Arduino Nano & WS2812B LEDs

Herstellungsprozess

  1. Echtzeit-IoT-Herzfrequenzmonitor mit Arduino & MAX30100
  2. Arduino Audio-Frequenz-Detektor – Lauteste Schallpeaks mit hochsensiblem Modul messen
  3. Arduino Tic Tac Toe mit MAX7219 LED-Matrix und Karton-Gehäuse
  4. Zuverlässigen Arduino-Countdown-Timer mit SparkFun 7-Segment-Display bauen
  5. Kompaktes FM-Radio mit Arduino Nano und RDA5807M selbst bauen
  6. DIY Sump-Pegel-Monitor – Arduino Nano, MPXV5010DP Drucksensor & OLED
  7. RC Porsche selbst bauen: Arduino-Schritt-für-Schritt-Anleitung
  8. Musikalische Töne mit Arduino erzeugen: Schritt-für-Schritt-Anleitung
  9. Fortgeschrittenes Heimüberwachungssystem mit Arduino Mega und IoT-Sensoren
  10. Digitaler Kompass in Echtzeit mit Arduino & Processing bauen