1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

TUTORIAL Einsteiger freundliches Ambilight Tutorial (Arduino, WS2812B)

Discussion in 'German Talk' started by DerPicknicker, 5 October 2017.

  1. DerPicknicker

    DerPicknicker New Member

    Messages:
    21
    Hardware:
    RPi1/Zero, RPi3, +Arduino, +nodeMCU/ESP8266
    Ich möchte euch mein Ambilight Tutorial vorstellen!

    ACHTUNG: DIE Anleitung ist noch im Aufbau! Sie ist daher in teilen noch sehr unvollständig. Es ist ein "Einblick". Könnt ja eure Meinung äußern, was euch fehlt und was noch verbessert werden sollte ;)
    Keine Sorge, es kommt der Tag an dem diese Anleitung vollständig ist :)



    Da dieser Beitrag länger wird, werde ich den ganzen Beitrag in Unterpunkte in einem Inhaltsverzeichnis eintragen. Finde ich übersichtlicher so..


    Inhaltsverzeichnis:
    - Vorwort
    - Verwendete Hardware (inkl. Erklärung wofür welches Bauteil benötigt wird.)
    - Der Allgemeine Aufbau (Theoretischer Aufbau der Hardware)
    - Vorbereitung Software
    - Vorbereitung Hardware
    -

    Vorwort:
    Hallo,
    In diesem Artikel, möchte ich euch zeigen, wie ihr euch euer eigenes Ambilight aufbauen könnt. Dieser Beitrag handelt ausschließlich vom Bau mit LEDs vom Typ : WS2812B (siehe auch verwendete Hardware!).
    Dieser Beitrag richtet sich an komplette "Einsteiger", welche sich noch nie ein Ambilight-System aufgebaut haben.
    Ich gehe aber davon aus, dass ihr ein wenig Grundkenntnisse im Umgang mit PC`s habt.
    Somit, sollte sich jeder, der die Anleitung nur 1x gründlich gelesen hat in der Lage, sich derartiges zu "basteln"
    Bei Unklarheiten, einfach hier im Thread Fragen stellen. Verbesserungsfähige Kritik ist gerne gesehen ;)
    Aber nun, wünsche ich euch viel Spaß beim Schmökern :)




    Verwendete Hardware:
    In diesem Abschnitt werde ich euch nun erläutern, welche und vor allem warum ich mich für die verwendete Hardware entschieden habe. Jeder Link, ist mit Versand aus DE, somit spart man sich langes warten, bis das baslten beginnen kann :shy: ...

    Die LEDs:
    [​IMG]



    Es sind einzel adressierbare LEDs, dies bedeutet, dass jeder Led, eine andere Farbe zugewiesen werden kann. Das ist auch bei unserem Anwendungsfall unabdingbar. Ich habe mich explizit für Leds vom TYP : WS2812B entschieden. Es gibt andere Tutorials, welche APA102 verwenden. Ich verwende in meinem anderen Ambilight-System, auch die APA102, jedoch sind mir diese einfach zu teuer (für diese Projekt), deshalb benutze ich die WS2812B. Sie sind deutlich günstiger, ich habe für 5M je 60 LEDs/M rund 30€ bezahlt. Ich würde euch, auch zu welchen mit 60 LEDs/M raten, da meiner Meinung nach, dass Ergebnis deutlich besser ist. Dies ist aber alles subjektiv. Ein weiterer Tipp: Bestellt aus DE, um lange lieferzeiten zu vermeiden.
    Hier habe ich meine her: KLICK MICH, es sind 5M, ihr müsst selbst messen wie viele Meter ihr benötigt ;)

    Der Raspberry PI:

    [​IMG]

    Der Raspberry Pi, ist fast genauso wichtig wie die LEDs, er übernimmt die Steuerung der LEDs und die Auswertung der Farben von der HDMI Quelle. Es ist ziemlich egal, welche PI Generation verwendet wird. Ich benutze zum Beispiel einen "alten" RPI 1B .
    Er reicht solange noch aus, wenn er nur die auswertung der Farben genommen werden soll. Wenn noch ein Mediacenter (KODI) verwendet werden soll, dann braucht man mindestens eine PI 2B oder noch besser einen PI 3B. Ich nehme den alten Pi, weil der bei mir einfach noch übrig ist und ich nur HDMI Quellen habe, deshalb brauche ich kein Mediacenter.

    Das Netzteil:
    [​IMG]


    Ist zuständig für die Stromversorgung. Je nach Größe des TVs bzw. Länge des LED-Stripes werden unterschiedliche Netzteile benötigt. Ich verwende ein NT, der Marke MEAN WELL. Ich habe, damit sehr gute Erfahrungen gemacht. Eines ist aber zu beachten:
    Die Spannung (V) MUSS unbedingt immer 5V betragen! Da alle Komponenten AUSSCHLIEßLICH mit 5V arbeiten.

    Mein Netzteil : KLICK MICH

    Der Arduino Nano:
    [​IMG]

    Dieses kleine Gerät ist notwendig, damit die LEDs mit dem PI zu verbinden. Der Raspberry, liefert zu schwache Signale für die LEDs, deshalb braucht man diesen Microcontroller. Man könnte theoretisch drauf verzichten, ich mache es nicht, da ich sonst nur Probleme hatte. Es gibt mehrere Versionen des Arduino. Ich benutze die Nano Version (aus Platzgründen, es wird kein größerer Arduino benötigt!). Es muss kein original Arduino sein, ich nehme aus meinem Link auch nur einen "Clone", funktioniert ohne Probleme, außerdem spart man viel Geld!

    Mein Arduino : KLICK MICH

    Der HDMI zu CHINCH Konverter:
    [​IMG]

    Dieses Gerät wird nur benötigt, wenn ihr HDMI-Quellen betreiben wollt. Denn es wandelt eure digitalen HDMI Signale in analoge Chinch Signale um.
    Passt bitte jedoch auf, nicht jeder COnverter tut seinen Dienst so wie erhofft, deshalb, kann ich nur bedingt eine Kaufempfehlung aussprechen.
    Wenn er nicht richtig funktionieren sollte, schickt ihn einfach zurück.

    "Mein" HDMI zu CHINCH Konverter : KLICK MICH

    Der Videograbber:
    [​IMG]

    Der Videograbber ist dafür zuständig, dass die Analogen HDMI Signale in den Raspberry Pi gelangen.
    WICHITG: Der Videograbber muss undbedingt den Chipsatz Fushicai UTV007 haben. Da sonst der Grabber nicht richtig erkannt wird und es Fehlermeldungen geben wird. Deshalb empfehle ich empfehle ich euch den Videograbber bei dem Link etwas weiter unten zu bestellen, dort könnt ihr nämlich sicher sein, dass ihr den richtigen erhalten werdet.

    Mein Videograbber : KLICK MICH

    Die Micro-SD Karte
    [​IMG]

    Die SD-Karte ist unser Datenspeicher, dort wird die gesamte Software für den

    Zu aller letzt:

    Die Verteilung der HDMI-Signale

    Entweder ein HDMI Verteiler, der aus einem HDMI-Signal zwei macht. Wird benötigt, wenn ein AV-Receiver vorhanden ist, welcher die Verteilung der HDMI - Signale übernimmt. Oder es nur gewünscht ist, nur 1 HDMI Quelle zu betreiben, dann kann auch nur der Verteiler genutzt werden.

    Die HDMI Matrix, ist das Gerät, welches uns es ermöglicht, 4 verschiedene HDMI Quellen zu benutzen. Dies wird zwingend benötigt, wenn KEIN AV-Receiver vorhanden ist und mehr als 1 HDMI Quelle genutzt werden soll.

    HDMI-Verteiler : KLICK MICH
    HDMI-Matrix : KLICK MICH

    Das ist jetzt die gesamte Hardware :)


    Der Allgemeine Aufbau (Theoretischer Aufbau der Hardware):

    Also, die (digitalen) HDMI-Quellen werden durch den HDMI-CHINCH adapter in ein analoges Signal umgewandelt (1 Kabel geht weiterhin zum TV!).
    Somit kann der Videograbber, welcher mit dem Raspberry Pi per USB verbunden ist das Signal auslesen. Auf dem PI läuft eine Software mit dem Namen : Hyperion. Diese Software ermittelt die Farben des Signals vom Videograbber. Der Arduino wird ebenfalls per USB am Raspberry angeschlossen, der Raspberry sendet die Farbwerte an den Arduino.
    Der Arduino, wandelt die Werte, die er vom Raspberry bekommt in das Format um welches die LEDs benötigen.


    HDMI-Quelle -> HDMI-Verteiler / Matrix ->1. HDMI-Kabel zum TV
    -> 2. HDMI-Kabel zum HDMI-CHINCH Konverter -> CHINCH-Kabel -> Videograbber -> Raspberry PI -> Arduino (USB) -> LEDs


    Das Netzteil wird wie folgt verbunden (mehr dazu im Teil der Hardware Vorbereitungen!).

    230V -> Netzteil -> 5V Ausgang -> Raspberry PI -> LEDs -> HDMI Matrix / Verteiler -> (ggf. HDMI-CHINCH Konverter)
    -> GND Ausgang -> Raspberry PI ->LEDs -> HDMI Matrix / Verteiler -> (ggf. HDMI-CHINCH Konverter) -> Arduino (keine 5V!, NUR GND!)


    Das war es nun mit der Theroie, jetzt geht es weiter mit der Vorbereitung der Software ;)

    Vorbereitung Software:


    Da diese Anleitung an komplette Beginner gerichtet ist fange ich auch bei der Software von 0 an. Somit hat jeder die Möglichkeit, das Projekt zu realisieren und lernt auch noch einen großen teil.
    Es beginnt damit, dass ihr euch folgende Tools herunterladen müsst. Die Links sind alle direkt download Links - ohne Bloatware oder ähnliches.

    WIN32DiskImager KLICK MICH
    Arduino IDE KLICK MICH
    Hypercon (benötigt JAVA!) KLICK MICH
    Raspbian Lite (ist eine ältere Version, da dort noch SSH standardmäßig Aktiv ist.) KLICK MICH

    Ihr beginnt am besten damit, dass ihr jedes Tool (Arduino IDE, Win32DiskImager,"Java" falls noch nicht auf dem PC vorhanden) installiert. Das Raspbian ist ein ZIP Archiv, das müsst ihr an einem Ort entpacken, wo ihr es auch wiederfindet.

    Der Stand bei euch müsste jetzt wie folgt sein:

    WIN32DiskImager installiert ist
    Arduino IDE installiert ist
    Hypercon heruntergeladen ist
    JAVA vorhanden ist
    Raspbian Lite heruntergeladen und entpackt ist.

    NUR WENN
    das erledigt ist, macht ihr weiter!

    Wir beginnen damit, dass wir nun den Arduino Sketch auf euren NANO flasht.


    ARDUINO IDE:

    1. Arduino IDE Starten:

    Arduino Symbol.JPG

    2. Nun werden die benötigten Bibliotheken installiert. Ihr geht einfach auf den Reiter "Sketch", dann zu dem Punkt Bibliotheken einbinden - dann auf den Punkt Bibliotheken verwalten drücken. Dann im Suchfeld "Fast LED" eintippen und mit ENTER bestätigt. Dann auf installieren drücken.

    Siehe hier :
    Bibliothekenverwaltung.JPG
    3. Nach Installation die Arduino IDE neustarten.

    4. Nun löscht ihr bitte alles aus dem Textfeld der IDE und fügt folgenden CODE ein:
    Code:
    #include "FastLED.h"
    
    #define ANALOG_MODE_AVERAGE  0
    #define ANALOG_MODE_LAST_LED 1
    
    /**************************************
       S E T U P
       set following values to your needs
    **************************************/
    
    #define INITIAL_LED_TEST_ENABLED true
    #define INITIAL_LED_TEST_BRIGHTNESS 155//0..255
    #define INITIAL_LED_TEST_TIME_MS 500  // 10..
    
    // Number of leds in your strip. set to "1" and ANALOG_OUTPUT_ENABLED to "true" to activate analog only
    // As of 26/1/2017:
    // 582 leaves ZERO bytes free and this
    // 410 is ok
    // tested with 500 leds and is fine (despite the warning)
    #define MAX_LEDS 500 // Hier wird die LED Anzahl definiert, bitte am Anfang zählen und dementsprechend ändern!
    
    // type of your led controller, possible values, see below
    #define LED_TYPE WS2812B //Nichts ändern, da wird WS2812B LEDs nutzen
    
    // 3 wire (pwm): NEOPIXEL BTM1829 TM1812 TM1809 TM1804 TM1803 UCS1903 UCS1903B UCS1904 UCS2903 WS2812 WS2852
    //               S2812B SK6812 SK6822 APA106 PL9823 WS2811 WS2813 APA104 WS2811_40 GW6205 GW6205_40 LPD1886 LPD1886_8BIT
    // 4 wire (spi): LPD8806 WS2801 WS2803 SM16716 P9813 APA102 SK9822 DOTSTAR
    
    // For 3 wire led stripes line Neopixel/Ws2812, which have a data line, ground, and power, you just need to define DATA_PIN.
    // For led chipsets that are SPI based (four wires - data, clock, ground, and power), both defines DATA_PIN and CLOCK_PIN are needed
    
    // DATA_PIN, or DATA_PIN, CLOCK_PIN
    #define LED_PINS 6        // 3 wire leds Dort wird der PIN angegeben, wo das Daten Signal der LEDs angeschlossen wird!
    //#define LED_PINS 6, 13  // 4 wire leds (Nicht benötigt, da wir WS2812B LEDs nutzen!
    
    #define COLOR_ORDER GRB  // colororder of the stripe, set RGB in hyperion // Nichts Ändern!
    
    #define OFF_TIMEOUT 15000    // ms to switch off after no data was received, set 0 to deactivate. Nichts Ändern!
    
    // analog rgb uni color led stripe - using of hyperion smoothing is recommended
    // ATTENTION  this pin config is default for atmega328 based arduinos, others might work to
    //            if you have flickering analog leds this might be caused by unsynced pwm signals
    //            try other pins is more or less the only thing that helps
    #define ANALOG_OUTPUT_ENABLED false
    #define ANALOG_MODE           ANALOG_MODE_LAST_LED  // use ANALOG_MODE_AVERAGE or ANALOG_MODE_LAST_LED
    #define ANALOG_GROUND_PIN     8                     // additional ground pin to make wiring a bit easier
    #define ANALOG_RED_PIN        9
    #define ANALOG_GREEN_PIN      10
    #define ANALOG_BLUE_PIN       11
    
    // overall color adjustments
    #define ANALOG_BRIGHTNESS_RED   255              // maximum brightness for analog 0-255
    #define ANALOG_BRIGHTNESS_GREEN 255              // maximum brightness for analog 0-255
    #define ANALOG_BRIGHTNESS_BLUE  255              // maximum brightness for analog 0-255
    
    #define BRIGHTNESS 255                      // maximum brightness 0-255
    #define DITHER_MODE BINARY_DITHER           // BINARY_DITHER or DISABLE_DITHER
    #define COLOR_TEMPERATURE CRGB(255,255,255) // RGB value describing the color temperature
    #define COLOR_CORRECTION  TypicalLEDStrip   // predefined fastled color correction
    //#define COLOR_CORRECTION  CRGB(255,255,255) // or RGB value describing the color correction
    
    // Baudrate, higher rate allows faster refresh rate and more LEDs
    //#define serialRate 460800      // use 115200 for ftdi based boards
    //#define serialRate 115200      // use 115200 for ftdi based boards
    #define serialRate 500000         // use 115200 for ftdi based boards
    
    
    /**************************************
       A D A L I G H T   C O D E
       no user changes needed
    **************************************/
    
    // Adalight sends a "Magic Word" (defined in /etc/boblight.conf) before sending the pixel data
    uint8_t prefix[] = {'A', 'd', 'a'}, hi, lo, chk, i;
    
    unsigned long endTime;
    
    // Define the array of leds
    CRGB leds[MAX_LEDS];
    
    // set rgb to analog led stripe
    void showAnalogRGB(const CRGB& led) {
      if (ANALOG_OUTPUT_ENABLED) {
        byte r = map(led.r, 0,255,0,ANALOG_BRIGHTNESS_RED);
        byte g = map(led.g, 0,255,0,ANALOG_BRIGHTNESS_GREEN);
        byte b = map(led.b, 0,255,0,ANALOG_BRIGHTNESS_BLUE);
        analogWrite(ANALOG_RED_PIN  , r);
        analogWrite(ANALOG_GREEN_PIN, g);
        analogWrite(ANALOG_BLUE_PIN , b);
      }
    }
    
    // set color to all leds
    void showColor(const CRGB& led) {
      #if MAX_LEDS > 1 || ANALOG_OUTPUT_ENABLED == false
      LEDS.showColor(led);
      #endif
      showAnalogRGB(led);
    }
    
    // switch of digital and analog leds
    void switchOff() {
      #if MAX_LEDS > 1 || ANALOG_OUTPUT_ENABLED == false
      memset(leds, 0, MAX_LEDS * sizeof(struct CRGB));
      FastLED.show();
      #endif
      showAnalogRGB(leds[0]);
    }
    
    // function to check if serial data is available
    // if timeout occured leds switch of, if configured
    bool checkIncommingData() {
      boolean dataAvailable = true;
      while (!Serial.available()) {
        if ( OFF_TIMEOUT > 0 && endTime < millis()) {
          switchOff();
          dataAvailable = false;
          endTime = millis() + OFF_TIMEOUT;
        }
      }
    
      return dataAvailable;
    }
    
    // main function that setups and runs the code
    void setup() {
      Serial.begin(serialRate);
    
      // analog output
      if (ANALOG_OUTPUT_ENABLED) {
        // additional ground pin to make wiring a bit easier
        pinMode(ANALOG_GROUND_PIN, OUTPUT);
        digitalWrite(ANALOG_GROUND_PIN, LOW);
        pinMode(ANALOG_BLUE_PIN , OUTPUT);
        pinMode(ANALOG_RED_PIN  , OUTPUT);
        pinMode(ANALOG_GREEN_PIN, OUTPUT);
      }
    
      int ledCount = MAX_LEDS;
      if (ANALOG_MODE == ANALOG_MODE_LAST_LED) {
        ledCount--;
      }
    
      #if MAX_LEDS > 1 || ANALOG_OUTPUT_ENABLED == false
        FastLED.addLeds<LED_TYPE, LED_PINS, COLOR_ORDER>(leds, ledCount);
      #endif
      // color adjustments
      FastLED.setBrightness ( BRIGHTNESS );
      FastLED.setTemperature( COLOR_TEMPERATURE );
      FastLED.setCorrection ( COLOR_CORRECTION );
      FastLED.setDither     ( DITHER_MODE );
    
      // initial RGB flash
      #if INITIAL_LED_TEST_ENABLED == true
      for (int v=0;v<INITIAL_LED_TEST_BRIGHTNESS;v++)
      {
        showColor(CRGB(v,v,v));
        delay(INITIAL_LED_TEST_TIME_MS/2/INITIAL_LED_TEST_BRIGHTNESS);
      }
      for (int v=0;v<INITIAL_LED_TEST_BRIGHTNESS;v++)
      {
        showColor(CRGB(v,v,v));
        delay(INITIAL_LED_TEST_TIME_MS/2/INITIAL_LED_TEST_BRIGHTNESS);
      }
      #endif
      showColor(CRGB(0, 0, 0));
    
      Serial.print("Ada\n"); // Send "Magic Word" string to host
    
    
      boolean transmissionSuccess;
      unsigned long sum_r, sum_g, sum_b;
    
      // loop() is avoided as even that small bit of function overhead
      // has a measurable impact on this code's overall throughput.
      for(;;) {
        // wait for first byte of Magic Word
        for (i = 0; i < sizeof prefix; ++i) {
          // If next byte is not in Magic Word, the start over
          if (!checkIncommingData() || prefix[i] != Serial.read()) {
            i = 0;
          }
        }
    
        // Hi, Lo, Checksum
        if (!checkIncommingData()) continue;
        hi = Serial.read();
        if (!checkIncommingData()) continue;
        lo = Serial.read();
        if (!checkIncommingData()) continue;
        chk = Serial.read();
    
        // if checksum does not match go back to wait
        if (chk != (hi ^ lo ^ 0x55)) continue;
    
        memset(leds, 0, MAX_LEDS * sizeof(struct CRGB));
        transmissionSuccess = true;
        sum_r = 0;
        sum_g = 0;
        sum_b = 0;
    
        int num_leds = min ( MAX_LEDS, (hi<<8) + lo + 1 );
    
        // read the transmission data and set LED values
        for (int idx = 0; idx < num_leds; idx++) {
          byte r, g, b;
          if (!checkIncommingData()) {
            transmissionSuccess = false;
            break;
          }
          r = Serial.read();
          if (!checkIncommingData()) {
            transmissionSuccess = false;
            break;
          }
          g = Serial.read();
          if (!checkIncommingData()) {
            transmissionSuccess = false;
            break;
          }
          b = Serial.read();
          leds[idx].r = r;
          leds[idx].g = g;
          leds[idx].b = b;
          #if ANALOG_OUTPUT_ENABLED == true && ANALOG_MODE == ANALOG_MODE_AVERAGE
              sum_r += r;
              sum_g += g;
              sum_b += b;
          #endif
        }
    
        // shows new values
        if (transmissionSuccess) {
          endTime = millis() + OFF_TIMEOUT;
          #if MAX_LEDS > 1 || ANALOG_OUTPUT_ENABLED == false
          FastLED.show();
          #endif
    
          #if ANALOG_OUTPUT_ENABLED == true
            #if ANALOG_MODE == ANALOG_MODE_LAST_LED
              showAnalogRGB(leds[MAX_LEDS-1]);
            #else
              showAnalogRGB(CRGB(sum_r/MAX_LEDS, sum_g/MAX_LEDS, sum_b/MAX_LEDS));
             #endif
          #endif
        }
      }
    } // end of setup
    
    void loop() {
      // Not used. See note in setup() function.
    }

    6. Nun gibt ihr an, welchen Arduino ihr habt . Dies ist wichtig, damit die IDE weiß, wie der Sketch hochgeladen werden muss. Das erledigt ihr in dem ihr in der IDE auf den Reiter "Werkzeuge" geht und dann bei "Board" euren Arduino auswählt ggf. müsst ihr beim Punkt "Port" noch einen Port auswählen, falls es die IDE nicht von selbst aus macht - dort sollte dann nur ein Port zur Auswahl stehen.

    7. Diesen Code ladet ihr mit der Kombination : STRG + U auf euren Arduino

    Das wär`s dann ist euer Arduino einsatzbereit!
     
    Last edited: 6 November 2017
    • Like Like x 4
  2. Bino71

    Bino71 New Member

    Messages:
    2
    Hardware:
    RPi3, +Arduino
    Hi, mein Nano ist da... wann geht es den hier weiter ?
     
  3. DerPicknicker

    DerPicknicker New Member

    Messages:
    21
    Hardware:
    RPi1/Zero, RPi3, +Arduino, +nodeMCU/ESP8266
    Uhh... JA gute Frage .. MAch dich mit der Hardware vertraut . Geht bald weiter


    EDIT: Tutorial erweitert!
     
    Last edited: 6 November 2017
  4. Bino71

    Bino71 New Member

    Messages:
    2
    Hardware:
    RPi3, +Arduino
    Bei mir läuft schon alles, nur das mit dem Nano war mir neu und will den dazwischen klemmen

    Gute Anleitung
     
  5. Kenshi

    Kenshi New Member

    Messages:
    2
    Hardware:
    RPi2
    Schönes Tutorial.
    Aber ist das verlinkte Netzteil nicht unterdimensioniert für 300 LED?
    Pro Meter werden 18W angegben, was bei 5m(60proMeter) 90W Max ergeben.
    Nen 100W Mean Well ist da nicht viel teurer.
    Klar die 90W sind der absolute Max wert wenn alle auf Weiß schalten und das eher selten vorkommt, aber dennoch sollte man es erwähnen also dass man 0,3W pro LED einrechnen sollte.
     
  6. DerPicknicker

    DerPicknicker New Member

    Messages:
    21
    Hardware:
    RPi1/Zero, RPi3, +Arduino, +nodeMCU/ESP8266
    Gut erkannt.. Habe es aus Platzgründen genommen, da es genau passend für mein Gehäuse war und die technischen Anforderungen erfüllt. Klar etwas Puffer ist immer gut.

    Ich benutze aber keine 300 LEDs, sondern nur knapp 180, außerdem laufen die LEDs bei mir nur bei max 70% Helligkeit.
     
  7. LaserSchwert

    LaserSchwert New Member

    Messages:
    1
    Hardware:
    RPi3
    Hi Picknicker,
    vielen Dank für das tutorial. Top
    Kannst du etwas näher erläutern wie die einzelnen Kabel wo welches pin wohin
    verbunden werden?
    Möchte erstmal das hdmi setup auslassen und mich erst einzuspielen
    Also einmal die Leds rundherum,
    dann Leds an -> Arduino an -> an Pi irgendwo dazwischen das Netzteil
    Aber arduino nicht nur gnd..
    sorry vielleicht stelle ich mir nur an.


    vielen vielen Dank im Voraus
     
  8. Kenshi

    Kenshi New Member

    Messages:
    2
    Hardware:
    RPi2
  9. Athutuga

    Athutuga New Member

    Messages:
    3
    Hardware:
    RPi1/Zero, +Arduino, +PhilipsHue
    Hi, habe mir alle Teile besorgt, wann geht es hier weiter? Möchte meinen Raspi mit Nano gerne für alle möglichen Quellen via AV Receiver nutzen.
    Gruß,
    Athu
     
  10. DerPicknicker

    DerPicknicker New Member

    Messages:
    21
    Hardware:
    RPi1/Zero, RPi3, +Arduino, +nodeMCU/ESP8266
    Hey @Athutuga ,

    Ich komme leider in letzter Zeit weniger dazu hier weiter zu schreiben. Da ich noch Schüler bin und jetzt viele Arbeiten geschrieben werden..... Denke bald kommt hier ein großer Push meinerseits
    Versuche aber schonmal, das Netzteil anzuschließen siehe :https://tutorials-raspberrypi.de/raspberry-pi-ws2801-rgb-led-streifen-anschliessen-steuern/
    • Das schwarze bzw. braune Kabel kommt an den Außenleiter „L“.
    • Das blaue Kabel kommt an den Neutralleiter „N“.
    • Das grün-gelbe Kabel kommt an den Schutzleiter „PE“ bzw. Erdungssymbol.
    Dann den Code Flashen siehe Software

    Dann hier weitermachen..Bitte aber den Raspberry noch nicht anschließen, dazu muss ich später nochmal etwas schreiben.
     
  11. Joschi945

    Joschi945 New Member

    Messages:
    9
    Hardware:
    RPi3, +Arduino
    Moinsen, dann mach mal mit dem Softwareteil weiter ;)

    Meine Stripes kommen noch vor Weihnachten und bis dahin muss mein Ambi wieder laufen....
     
  12. DerPicknicker

    DerPicknicker New Member

    Messages:
    21
    Hardware:
    RPi1/Zero, RPi3, +Arduino, +nodeMCU/ESP8266
    Jupp auf der Liste ;)
     
  13. drc85

    drc85 New Member

    Messages:
    21
    ohne jetzt alles zu lesen aber warum wird noch extra ein arduino benötigt?
    wäre ein 2euro level shifter nicht einfacher und kleiner :D

    ps habs mir jetz mal angeguckt....
    du nutzt den nano um die 3.3 v signale auf 5v umzuwandeln oder?

    guck dir mal sparkfun level converter an... das ist genau das was du brauchst :D
     
  14. DerPicknicker

    DerPicknicker New Member

    Messages:
    21
    Hardware:
    RPi1/Zero, RPi3, +Arduino, +nodeMCU/ESP8266
    Arduino ist finde ich etwas einfacher, und funktionierte bei mir ohne Probleme levelshifter hatten immer Probleme gemacht.
     
    • Like Like x 1
  15. Joschi945

    Joschi945 New Member

    Messages:
    9
    Hardware:
    RPi3, +Arduino
    Ich benutze den Nano, weil es mir die Pins vom Pi geschossen hat und weil die ws2812b nur eine Datenleitung nutzen....
     
    • Like Like x 1
  16. Pottie

    Pottie New Member

    Messages:
    5
    Hardware:
    RPi3
    Hallo,
    Wird das Tutorial in absehbarer zeit fortgesetzt?
    Wäre genau das was ich suche, alles sehr schön Anfänger freundlich erklärt, den die Hardware habe ich schon hier liegen
    Grüße
     
  17. puffel

    puffel New Member

    Messages:
    1
    Hardware:
    RPi2, RPi3, +Arduino
    • Like Like x 2