zur Navigation springen


ESP Projekt: LED-Matrix (Aufbau - Elektronik)

ESP8266

erstellt 06.2020
Das anbringen der Streifen (30 LED's pro Meter) auf die Grundplatte mit den Rahmen.
teststueck-steifen.jpg

Die Verdrahtung (Schaltplan Entwicklung) Netzteil und USB-Stromversorgung vom PC.
teststueck-verdrahtung.jpg


Schaltplan


Anschluss am Beispiel von Wimos D1.
Ist ein bischen hochgegriffen bei den paar Drähten.

Die Stromversorgung des Strip muss mit dem GNG (G) verbungen werden.
Für die Entwicklung mit USB Anschluß darf die Stromversorgung nicht auf den 5V (VIN) angeschlossen werden, da die Stromversorgung somit einen Kurzschluss mit dem USB-Port darstellt.
Für den Echtbetrieb kann die 5V Strombersogung auch für den ESP8266 verwendet werden.

entwicklung.jpg


echtbetrieb.jpg


IDE, PlatformIO unter Visual Studio Code.


Für mein neues Projekt verwende ich die PlatformsIO, diese IDE ermöglicht einem sich auf den Code zu konzentrieren und nicht immer wieder auf die Wiedrigkeiten einer IDE. Die Weitergabe des Codes ist leichter und die Verwendung von verschiedenen Verserionen einiger Tools ist auch möglich. Einfach mal testen (den Code von Arduino IDE ist mit kleinen Deklarationsänderungen verwendbar).

Für die Verdrahtung und den Test der LED-Streifen habe ich vollgendes verwendet.

plattform.ini:
[env:nodemcuv2]
platform = espressif8266
board = nodemcuv2
framework = arduino

Momentan wird FastLED.h verwendet, ob ich alle Steifen zusammenhängen kann, werde ich sehen, deshalb ist schon das ganze auf mehrere Streifen ausgelegt. main.cpp:
Da Visualstudio nur einen ASCII-Export und keinen HTML Export liefert und highlight.js Arduiono (C,C++) nicht so Unterstütz das es wirklich hilreich ist, werden die Qullen ohne Highlight ausgegeben.
Die spitzen Klammern müssen als eckige Klammern ausgegeben werden.
#include [Arduino.h]
#include [FastLED.h]

#define NUM_STRIPS 1            // FastLED Menge der Streifen
#define NUM_LEDS_PER_STRIP 10   // FastLED Menge der LED pro Steifen
CRGB leds[NUM_STRIPS][NUM_LEDS_PER_STRIP];

void setup() {                  // Setup
  // tell FastLED there's 60 WS2812 leds on pin 1
  FastLED.addLeds(leds[0], NUM_LEDS_PER_STRIP);
    // tell FastLED there's 60 NEOPIXEL leds on pin 11
  FastLED.addLeds(leds[1], NUM_LEDS_PER_STRIP);
}

void loop() {
  // This outer loop will go over each strip, one at a time
  for(int x = 0; x < NUM_STRIPS; x++) {
    // This inner loop will go over each led in the current strip, one at a time

    for(int i = 0; i < NUM_LEDS_PER_STRIP; i++) {
      leds[x][i] = CRGB(255,0,0);    // Grün, Rot, Blau
      FastLED.show();
      leds[x][i] = CRGB::Black;   // RED
      delay(100);
    }
    for(int i = 0; i < NUM_LEDS_PER_STRIP; i++) {
      leds[x][i] = CRGB(0,255,0);    // Grün, Rot, Blau
      FastLED.show();
      leds[x][i] = CRGB::Black;   // zB.: RED
      delay(100);
    }
    for(int i = 0; i < NUM_LEDS_PER_STRIP; i++) {
      leds[x][i] = CRGB(0,0,255);    // Grün, Rot, Blau
      FastLED.show();
      leds[x][i] = CRGB::Black;   // RED
      delay(1000);
    }
  }
}

Das Teststück in Betreib an der Wand.
Wie man erkennen kann ist die Beleuchtung der TT-Bälle schön gleichmäßig, auch wenn die LED's nicht zentrisch unter den TT-Bällen angebracht sind. teststueck-aufgehängt.jpg


Original Größe


Beim Aufbau der Großen original habe noch eine Grundbeleuchtung mit aufgenommen über RGB-LED-Streifen. Diese werden parallel zu den WS2812 aufgebaut. Bei der Fernbedienung sollte man darauf achten das die letzten Lichteinstellung beim Strom ab und einschalten wieder erscheint, Verwendung als Raumbeleuchtung.


Seitenanfang