Adressierbarer LED Streifen mit NodeMCU

Hallo,

ich bin noch relativ unerfahren mit eigenem Code,
habe allerdings schon viele Projekte von Youtube nachgebaut.

Aktuell bin ich dabei dieses Projekt nachzubauen: Making My Own Version of Nanoleaf Aurora - DIY Project - YouTube

Mein Problem daran ist nicht das ich die einstellungen für Blynk nicht kenne,
sondern das ich statt einen Esp32 einen Nodemcu (der NodeMCU hat einen ESP8266) gekauft habe.. :slightly_frowning_face:

Kann mir jemand helfen, was ich ändern müsste, so das es dennoch funktioniert?

Wenn ich versuche den Code auf den NodeMCU zu laden bekommen ich diese Fehlermeldung:

In file included from D:\Arduino\Hexaleaf\Hexaleaf.ino:2:0:

C:\Users\xLuPoLP\Documents\Arduino\libraries\Blynk\src/BlynkSimpleEsp32.h:15:2: error: #error This code is intended to run on the ESP32 platform! Please check your Tools->Board setting.

#error This code is intended to run on the ESP32 platform! Please check your Tools->Board setting.

^

Mehrere Bibliotheken wurden für "WiFiClient.h" gefunden
Benutzt: C:\Users\xLuPoLP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\ESP8266WiFi
Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\WiFi
Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\WiFi
Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\WiFi
Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
Fehler beim Kompilieren für das Board NodeMCU 1.0 (ESP-12E Module).

Es gibt NodeMCU mit ESP32 und mit ESP8266. Welchen hast Du?

Gruß Tommy

Tommy56:
Es gibt NodeMCU mit ESP32 und mit ESP8266. Welchen hast Du?

Gruß Tommy

Ich habe einen NodeMCU mit ESP8266

Ja, dann wirst du den Code umbauen müssen.

combie:
Ja, dann wirst du den Code umbauen müssen.

Genau deswegen frage ich, egal wie oft ich den Code ansehe,
ich verstehe nicht was ich ändern muss..

Wie gesagt, ich bin noch nicht sehr erfahren..

Ob hier jemand mit Blynk arbeitet, weiß ich nicht. Ich jedenfalls nicht.

Wenn Du Hilfe zu einem Sketch willst, dann solltest Du diesen hier ins Forum stellen.

Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).

Gruß Tommy

ich bin noch relativ unerfahren mit eigenem Code,
...
Wie gesagt, ich bin noch nicht sehr erfahren..

Erstens:
Das merken wir/ich auch so!
Das musst du nicht sagen!

Als wenn du sagen würdest:
Der Kreis ist rund.
Der Würfel ist eckig.

Meine Erfahrung ist:
Je öfter das wiederholt wird, desto fester glaubt man daran.
Desto schwerer wird es den Zustand zu ändern.
Für alle beteiligten.

Genau deswegen frage ich, egal wie oft ich den Code ansehe,
ich verstehe nicht was ich ändern muss..

Das ist doch offensichtlich!

Den falschen Teil raus schneiden, und durch was besseres ersetzen.
Wenn es nichts besseres gibt, selber schreiben.

combie:
Erstens:
Das merken wir/ich auch so!
Das musst du nicht sagen!

Als wenn du sagen würdest:
Der Kreis ist rund.
Der Würfel ist eckig.

Meine Erfahrung ist:
Je öfter das wiederholt wird, desto fester glaubt man daran.
Desto schwerer wird es den Zustand zu ändern.
Für alle beteiligten.

Das ist doch offensichtlich!

Den falschen Teil raus schneiden, und durch was besseres ersetzen.
Wenn es nichts besseres gibt, selber schreiben.

das hilft mir jetzt sehr…

Was ist den der einfachste Weg mit Code diesen Aufbau zu steuern?
Ich habe es jetzt schon mit einem FastLED Test Sketch versucht, allerdings kriege ich dort auch nur eine Fehlermeldung...

das hilft mir jetzt sehr…

Hmmm …

Was hilft dir denn?

Ich habe es jetzt schon mit einem FastLED Test Sketch versucht, allerdings kriege ich dort auch nur eine Fehlermeldung…

Das ist natürlich auch sehr traurig…

Wie wäre es, wenn du den Fehler behebst?

Hallo,

irgendwas beißt sich bei dir. Nämlich das du Bsp./Libs vom ESP32 nimmst obwohl du einen ESP8266 hast.
Hast du die richtige Boarderweiterung installiert?

ESP8266 hinzufügen
Boardverwalter-URL unter “Datei/Voreinstellungen”
http://arduino.esp8266.com/stable/package_esp8266com_index.json

Dann schauste unter Datei > Beispiele …
Vorher unter Werkzeuge … das richtige ESP8266 Board auswählen.
Deine ESP32 Libs kannste löschen.

Doc_Arduino:
ESP8266 hinzufügen
Boardverwalter-URL unter "Datei/Voreinstellungen"
http://arduino.esp8266.com/stable/package_esp8266com_index.json

Dann schauste unter Datei > Beispiele ...
Vorher unter Werkzeuge ... das richtige ESP8266 Board auswählen.
Deine ESP32 Libs kannste löschen.

habe ich schon installiert...

aber ich brauche ja nicht nur eine Library und Treiber für den NodeMCU,
ich brauche auch etwas damit ich den LED Streifen steuern kann..

Solange Du Postings (#5) ignorierst, wird das wohl nichts werden.

Gruß Tommy

combie:
Hmmm …

Was hilft dir denn?
Das ist natürlich auch sehr traurig…

Wie wäre es, wenn du den Fehler behebst?

Dann sag mir wie…
Hier ist der Code:

#include <FastLED.h>

FASTLED_USING_NAMESPACE

// FastLED "100-lines-of-code" demo reel, showing just a few 
// of the kinds of animation patterns you can quickly and easily 
// compose using FastLED.  
//
// This example also shows one easy way to define multiple 
// animations patterns and have them automatically rotate.
//
// -Mark Kriegsman, December 2014

#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)
#warning "Requires FastLED 3.1 or later; check github for latest code."
#endif

#define DATA_PIN    2
//#define CLK_PIN   4
#define LED_TYPE    WS2811
#define COLOR_ORDER GRB
#define NUM_LEDS    300
CRGB leds[NUM_LEDS];

#define BRIGHTNESS          96
#define FRAMES_PER_SECOND  120

void setup() {
  delay(3000); // 3 second delay for recovery
  
  // tell FastLED about the LED strip configuration
  FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  //FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);

  // set master brightness control
  FastLED.setBrightness(BRIGHTNESS);
}


// List of patterns to cycle through.  Each is defined as a separate function below.
typedef void (*SimplePatternList[])();
SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle, bpm };

uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current
uint8_t gHue = 0; // rotating "base color" used by many of the patterns
  
void loop()
{
  // Call the current pattern function once, updating the 'leds' array
  gPatterns[gCurrentPatternNumber]();

  // send the 'leds' array out to the actual LED strip
  FastLED.show();  
  // insert a delay to keep the framerate modest
  FastLED.delay(1000/FRAMES_PER_SECOND); 

  // do some periodic updates
  EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow
  EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically
}

#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))

void nextPattern()
{
  // add one to the current pattern number, and wrap around at the end
  gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);
}

void rainbow() 
{
  // FastLED's built-in rainbow generator
  fill_rainbow( leds, NUM_LEDS, gHue, 7);
}

void rainbowWithGlitter() 
{
  // built-in FastLED rainbow, plus some random sparkly glitter
  rainbow();
  addGlitter(80);
}

void addGlitter( fract8 chanceOfGlitter) 
{
  if( random8() < chanceOfGlitter) {
    leds[ random16(NUM_LEDS) ] += CRGB::White;
  }
}

void confetti() 
{
  // random colored speckles that blink in and fade smoothly
  fadeToBlackBy( leds, NUM_LEDS, 10);
  int pos = random16(NUM_LEDS);
  leds[pos] += CHSV( gHue + random8(64), 200, 255);
}

void sinelon()
{
  // a colored dot sweeping back and forth, with fading trails
  fadeToBlackBy( leds, NUM_LEDS, 20);
  int pos = beatsin16( 13, 0, NUM_LEDS-1 );
  leds[pos] += CHSV( gHue, 255, 192);
}

void bpm()
{
  // colored stripes pulsing at a defined Beats-Per-Minute (BPM)
  uint8_t BeatsPerMinute = 62;
  CRGBPalette16 palette = PartyColors_p;
  uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);
  for( int i = 0; i < NUM_LEDS; i++) { //9948
    leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));
  }
}

void juggle() {
  // eight colored dots, weaving in and out of sync with each other
  fadeToBlackBy( leds, NUM_LEDS, 20);
  byte dothue = 0;
  for( int i = 0; i < 8; i++) {
    leds[beatsin16( i+7, 0, NUM_LEDS-1 )] |= CHSV(dothue, 200, 255);
    dothue += 32;
  }
}

Aber das Problem ist dass die LEDs durch den Code nicht leuchten. Nur ein paar (10 Stück oder so) leuchten weiß…
Ich habe es auch schon versucht mit dem was in diesem Artikel steht:ESP8266 notes · FastLED/FastLED Wiki · GitHub

nemlich: #define FASTLED_ESP8266_NODEMCU_PIN_ORDER

Hallo,

du benötigst auch die FastLed Lib für den ESP8266. Zaubern kann die IDE noch nicht.
Und dann schauste erstmal in deren Beispiele bevor du irgendwelche scheinbaren Codefragmente testest.

Der ESP8266 ist ein 3,3V-Prozessor, damit werden die LED mit einem zu niedrigen HIGH-Signal versorgt.
Das kann manches Mal funktionieren, muss aber nicht.

Da wirst Du wohl noch einen aktiven Pegelwandler vorschalten müssen, z.B. ein Gatter vom SN74L245.

Wie lanf ist die Zuleitung vom ESP zu den LED? Hast Du einen Elko und einen Kerko an den Versorgungsleitungen der LED? Wie viele LED willst Du betreiben? Wie versorgst Du diese?

Gruß Tommy

Doc_Arduino:
Hallo,

du benötigst auch die FastLed Lib für den ESP8266. Zaubern kann die IDE noch nicht.
Und dann schauste erstmal in deren Beispiele bevor du irgendwelche scheinbaren Codefragmente testest.

Habe ich auch bereits installiert..
Und ich versuche die ganze Zeit eines dieser Beispiele zu nutzen,
allerdings funktioniert es nicht.

Wo hast Du denn den Stripe wie angeschlossen? Beantworte bitte auch meine anderen Fragen.

Gruß Tommy

Tommy56:
Der ESP8266 ist ein 3,3V-Prozessor, damit werden die LED mit einem zu niedrigen HIGH-Signal versorgt.
Das kann manches Mal funktionieren, muss aber nicht.

Da wirst Du wohl noch einen aktiven Pegelwandler vorschalten müssen, z.B. ein Gatter vom SN74L245.

Wie lanf ist die Zuleitung vom ESP zu den LED? Hast Du einen Elko und einen Kerko an den Versorgungsleitungen der LED? Wie viele LED willst Du betreiben? Wie versorgst Du diese?

Gruß Tommy

Hier findest du die Schematic:

Nur halt statt den Esp32 einen NodeMCU..
und statt D19 nutze ich D4 (Also GPIO2)

und schuldigung dachte ich hätte es gepostet,
aber ich konnte noch nicht wieder schreiben..

Hier findest du die Schematic:
Imgur: The magic of the Internet

Und, was ist das für ein Levelshifter?