INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Neopixel - LEDS leuchten obwohl sie es nicht sollten
29.11.2020, 11:52
Beitrag #57
RE: Neopixel - LEDS leuchten obwohl sie es nicht sollten
Wie hast du denn jetzt die Spannungsversorgung deines Stripes gelöst ?

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2020, 14:11
Beitrag #58
RE: Neopixel - LEDS leuchten obwohl sie es nicht sollten
(29.11.2020 02:57)Mauser schrieb:  ich habe das mit dem strip.fill ausprobiert. Anfangs dachte ich es funktioniert. Aber jetzt blitzen die besagten LEDs nur noch auf.

Zeige doch nochmal Deinen aktuellen Sketch.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2020, 14:44
Beitrag #59
RE: Neopixel - LEDS leuchten obwohl sie es nicht sollten
(29.11.2020 14:11)Tommy56 schrieb:  
(29.11.2020 02:57)Mauser schrieb:  ich habe das mit dem strip.fill ausprobiert. Anfangs dachte ich es funktioniert. Aber jetzt blitzen die besagten LEDs nur noch auf.

Zeige doch nochmal Deinen aktuellen Sketch.

Gruß Tommy

Code:
#include <IRremote.h>
#include <Adafruit_NeoPixel.h>

decode_results results;
#define LED_PIN    6
#define LED_COUNT 270

#define RECV_PIN 11
IRrecv irrecv(RECV_PIN);

byte weg[LED_COUNT]; // Hier befindet sich der Weg den die Schlange geht

int letzteZeile[15] = {255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 267, 268, 269, 270}; // Zur Abfrage angelegt bei vertikaler+ Bewegung

int i = 0;
int n = 0;
int zahler; // Zähler der die Durchläufe von LOOP zählt
int dot=80;    // Futter für die Schlange
int lange = 2; // Länge des Weges den die Schlange geht
int Eingabe; // Variable der IR Fernbedienung zur Steuerung
int Ergebnis; // Variable der IR Fernbedienung zur Steuerung
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_RGB);
void weg_einschalten(); // Die LED in Weg einschalten
void weg_verschieben(); // Die LED in Weg verschieben
void weg_0_ausschalten(); // Letzte Position in Weg ausschalten
void laufen_lassen(); // Automatische Bewegung der Schlange bei Ergebnis
void essen_aufnehmen(); // Schlange wachsen lassen
void setup() {

  strip.setBrightness(5);
  strip.show();
  Serial.begin(9600);
  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
  irrecv.enableIRIn();

}

void loop() {


  if (irrecv.decode(&results)) {

    //Serial.println(results.value,DEC); // gibt den Code in Dezimalzahlen aus
    irrecv.resume();                    // Warte auf nähsten Wert
    Eingabe = results.value;

  }
  if (results.value == 16734885) { // Horizontal+
    Ergebnis = 1;
    //Serial.println(Ergebnis);
  }
  if (results.value == 16730805) { // Vertikal +
    Ergebnis = 2;
    //Serial.println(Ergebnis);
  }
  if (results.value == 16716015) { //Horizontal -
    Ergebnis = 3;
    //Serial.println(Ergebnis);
  }
  if (results.value == 16718055) { // Vertikal -
    Ergebnis = 4;
    //Serial.println(Ergebnis);
  }

  zahler = zahler + 1; // Nach dem 40 Durchlauf wird 1x Fressen gespawnt
  weg[0] = n; // Aktuelle Position des Kopfes ist gleich LED Nr. n
  if (zahler == 20) { // Fressen spawnen
    dot = random(0, LED_COUNT);
    strip.setPixelColor(dot, 100, 100, 0);
    strip.show();
    zahler = 0;
  }

  weg_einschalten();  //Die LED in Weg einschalten
  
  weg_verschieben();  //Die LED in Weg verschieben
  
  laufen_lassen();    //Automatische Bewegung der Schlange bei Ergebnis

  essen_aufnehmen();  // Schlange wachsen lassen
}


void weg_einschalten() { // Die LED in Weg einschalten
  //strip.fill(0,0,270);      
  for (byte w = 0; w < lange; w++) {
    strip.setPixelColor(weg[w], 100, 0, 0);
  }
  strip.show();
  
}
void weg_verschieben() { // Die LED in Weg verschieben

  int wegzw[LED_COUNT];
  for (byte w = 0; w < lange; w++) { // Weg kopieren
    wegzw[w] = weg[w];
  }

  for (byte w = 0; w < lange; w++) { // Weg nach rechts verschieben
    weg[w + 1] = wegzw[w];
    }

  //weg[0] = n; // Kopf der Schlange ist Pixel Nr. n
delay(500);
  
}
void laufen_lassen() {

  switch (Ergebnis) {
    case 1:// horizontaler Lauf+
      n = n + 1;
      if (n == 15)
        n = 0;
      break;
    case 2: // vertikaler Lauf+
      for (int m = 0; m <= 14; m++) { // vertikale Achse zurücksetzen
        if (n == letzteZeile[m])
          n = letzteZeile[m] - 18 * 15;
        //Serial.println(n);
      }
      n = n + 15;
      break;
    case 3: // horizontaler Lauf-
      n = n - 1;
      if (n == 0)
        n = 15;
      break;
    case 4: //vertikaler Lauf-
      for (int m = 0; m <= 14; m++) { // vertikale Achse zurücksetzen
        if (n == letzteZeile[m])
          n = letzteZeile[m] + 18 * 15;
      }
      n = n - 15;
      break;
  }
    weg_0_ausschalten();// letzte Position des Schlangenendes ausschalten
  return n;
}
void weg_0_ausschalten() { // setzt letzten Eintrag in weg[lange] zurück
  int off;
  off = weg[lange];
  strip.setPixelColor(off, 0, 0, 0);
}
void essen_aufnehmen() { // Schlange wachsen lassen

  if (weg[0] == dot) {    // Wenn Kopf der Schlange == Fressen ist, Länge der Schlange++

    lange=lange+1;      // Sofern Länge nicht auskommentiert ist treten die Fehler auf

    strip.setPixelColor(dot, 0, 0, 0); // LED die Futter anzeigt ausschalten
    strip.show();
  }

}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2020, 14:58 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2020 15:00 von Tommy56.)
Beitrag #60
RE: Neopixel - LEDS leuchten obwohl sie es nicht sollten
Was trägst Du eigentlich genau in weg ein? Ist das jeweils die LED-Nummer an der sich die Schlange befindet? Wenn ja, dann musst Du doch wieder int nehmen, da Du > 255 LED-Positionen hast.

Es sollte genau 1 show geben, wenn Du alle Änderungen durchgeführt hast.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2020, 15:11
Beitrag #61
RE: Neopixel - LEDS leuchten obwohl sie es nicht sollten
(29.11.2020 11:52)hotsystems schrieb:  Wie hast du denn jetzt die Spannungsversorgung deines Stripes gelöst ?

Moin,

vielleicht stelle ich mich tatsächlich richtig blöd an und das obwohl ich zur Kenntnis nehme, dass der 5m Streifen 90W verbraucht. Doch muss ich jetzt nochmal auf Beitrag #44 verweisen. Für mich ist hier ganz klar eine mangelnde Stromversorgung ausgeschlossen. Es gehen doch alle Lichter auf einmal und das auf maximaler Helligkeit. Warum sollten dann ein paar wenige Probleme bereiten?

Zumal ich schon zwei Einspeisungen vorgenommen habe, mit meinem Netzteil von Korad und es dennoch keine Verbesserungen brachte.
Ich würde es verstehen wenn beim Rainbow Sketch plötzlich LEDs versagen, aufgrund der mangelnden Versorgung. Aber das tun sie nicht. Wenn alle Verbrauchre aktiv sind, wird das wohl mehr Energie kosten als wenn nur ein paar wenige aktiv sind.

Vermutlich liege ich total falsch, aber es will einfach nicht in meinen Kopf und du schlägst die Hände über den Kopf zusammen. Ein vernünftiges LED Netzteil werde ich nächsten Monat bestellen. Aber für mich liegt das Problem im Code. Die varbiale "lange" in Kombination mit dem Array "weg" könnte die Ursache sein. Aber vielleicht ist es dann doch die Stromversorgung und ich schäme mich in Grund und Boden wenn ich es dann einbaue und es plötzlich geht.

LG Mauser
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2020, 15:18 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2020 15:22 von Mauser.)
Beitrag #62
RE: Neopixel - LEDS leuchten obwohl sie es nicht sollten
(29.11.2020 14:58)Tommy56 schrieb:  Was trägst Du eigentlich genau in weg ein? Ist das jeweils die LED-Nummer an der sich die Schlange befindet? Wenn ja, dann musst Du doch wieder int nehmen, da Du > 255 LED-Positionen hast.

Es sollte genau 1 show geben, wenn Du alle Änderungen durchgeführt hast.

Gruß Tommy

Ja genau das sind die LED Nr.

Hab das show gerade mal im LOOP Teil als letzte Anweisung ausführen lassen, wodurch jetzt der "weg" nicht mehr angezeigt wird. Ich hab gelesen, dass das show nach jedem "set.PixelColor" Befehl stehen muss.

Edit: Könnte die Neopixel library noch der Grund sein?
Edit Edit: Ich hab gestern FastLEDs ausprobiert. Das verbraucht zu viel Speicher

Da ich immer noch mein Labornetzteil nehme, der Rainbow Sketch mit allen LEDs funktioniert, denkst du es kann immer noch die Stromversorgung sein?

LG Mauser
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2020, 15:26
Beitrag #63
RE: Neopixel - LEDS leuchten obwohl sie es nicht sollten
(29.11.2020 15:18)Mauser schrieb:  Ich hab gelesen, dass das show nach jedem "set.PixelColor" Befehl stehen muss.
Das ist Unsinn. Mit fill, setPixelcolor, ... schreibst Du erst mal nur die Werte in ein Array im Speicher Deines MC. show überträgt dann seriell die 270 Werte an den Strip.
Das sollte erst gemacht werden, wenn alles im Speicher gesetzt ist.

Ich selbst ziehe die FastLED vor.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2020, 15:48
Beitrag #64
RE: Neopixel - LEDS leuchten obwohl sie es nicht sollten
(29.11.2020 15:11)Mauser schrieb:  Vermutlich liege ich total falsch.....

Total falsch vermutlich nicht.
Nur wenn ich deinen Argumenten folgen würde, bräuchten wir alle keine Datenblätter, bzw. es muss sich keiner daran halten.

Beispiel: Ein Auto fährt auch auf drei Rädern, also lassen wir das vierte einfach weg.

Natürlich ist das nicht so einfach, auch nicht in deinem Projekt. Somit sollten alle Vorgabe aus Datenblättern eingehalten werden, damit da schon mal keine Fehler auftreten können.

Sind in deinem Stripe zu dünne Kabel verbaut und nicht genügend Einspeisepunkte vorhanden, können die Controller in den Leds durch kurze Spannungseinbrüche unbeabsichtigte Anzeigen liefern, also Fehler hervor rufen. Hast du das meßtechnisch mal untersucht ?
Dieses Problem muss nicht immer auftreten, aber kann. Somit sollte man das verhindern, indem man sich in allen Belangen an die Vorgaben aus den Datenblättern hällt.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino Mega wird nicht erkannt Gian-Luca 44 10.158 08.04.2021 17:47
Letzter Beitrag: Geisterjäger
  MKR1200 läuft nicht bei Batteriebetrieb kpc 24 2.385 05.04.2021 22:59
Letzter Beitrag: kpc
  Einfaches Projekt funktioniert am USB Anschluss, aber nicht mit Akkus PurpleLightning 3 347 05.04.2021 12:07
Letzter Beitrag: hotsystems
  Wie LEDs von Modellbahnampel an Arduino verdrahten? foto-herby 17 1.652 24.03.2021 11:26
Letzter Beitrag: hotsystems
  Sketche lassen sich aus IDE nicht mehr hochladen Steinspiel 9 1.397 19.03.2021 19:11
Letzter Beitrag: Chopp
  Sketches lassen sich nicht mehr hochladen. Was kann ich noch tun? Tonio 3 612 19.03.2021 15:32
Letzter Beitrag: Tommy56
  Hardware-Fehler bei WS2812 Einzel-LEDs Nordlicht 23 4.428 14.03.2021 18:37
Letzter Beitrag: Nordlicht
  Servo funktioniert nicht richtig an Arduino Nano Maxcruiser 25 3.215 14.03.2021 17:11
Letzter Beitrag: hotsystems
  2 I2C-Devices nicht zusammen wonk 36 4.749 04.03.2021 00:08
Letzter Beitrag: hotsystems
  Schieberegister funktioniert nicht richtig flint74 9 1.279 21.02.2021 13:35
Letzter Beitrag: flint74

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste