NEOPIXEL Strip mit externem Netzteil

Ok, dass ist nicht gut :roll_eyes:
Dann muss ich wohl den Schlauch wieder aufschneiden sonst komm ich nicht an den Strip ran.
Ich habe mir ein paar NANO-Clone gekauft, damit ich den Strip testen kann, da ich den UNO in Verwendung habe und brauche.
Ich kann leider nichts auf den NANO hochladen, ich kann keinen Port auswählen, die IDE erkennt den NANO aber an Port 6.
Der PC bemerkt aber beim an und abstecken nicht dass ein Gerät angeschlossen wird??
Ist das evtl. wie bei den Handy Ladekabeln, da gehen ja auch nicht alle zum Daten übertragen?

EDIT: Die IDE erkennt den NANO nicht, da steht nur unten im Fenster welchen Controller ich ausgewählt habe, also vermutlich das Kabel nicht ok, im Gerätemanager finde ich den Nano auch nicht.

Hast Du nen Link zu deinem Nano-Clone? Eventuell fehlt dir der Treiber auf dem PC für den USB-Serial Chip auf dem Nano-Clone. Viele Nano-Clones sind mit dem CH340G USB-Serial Chip ausgestattet, und Windows (falls Dein PC mit Windows läuft) benötigt dafür nen Treiber den es standardmässig nicht an Board hat.

ich hab den AZDelivery Clone, aber da hatte ich auch schon einen Uno Clone, da hab ich bereits den Treiber installiert.

dann würde ich mal die Datenleitung an den zweiten Pixel geben, vieleicht ist der erste Pixel schon kaputt.

Oder wenn vorhanden mal einen anderen Strip anhängen.
Widerstand lohnt sich.

aufpassen, beim Nano muss man auch den richtigen Bootloader wählen. vieleicht Booloader old?

Ich denke es liegt wirklich am Kabel, der PC erkennt nicht dass ich etwas anschließe.
Der NANO wird nur mit Strom versorgt, dass wars. Ich habe schon ein passendes bestellt (hoffe ich :sweat_smile:).

Ich werde sobald ich den NANO benutzen kann, probieren den Strip an den nächsten LED anzuschließen.

Habe nun ein neues Kabel, und der NANO funktioniert jetzt, ich musste aber zusätzlich noch den alten Bootloader auswählen.
Jetzt kann ich den LED Strip testen.

Du könntest den neuen Bootloader brennen, denn der ist beim Upload fixer:

nano.menu.cpu.atmega328old.upload.speed=57600
nano.menu.cpu.atmega328.upload.speed=115200

Oder Du brennst den Bootloader vom UNO, der läßt noch ein paar mehr Speicherstellen frei:

uno.upload.maximum_size=32256
nano.menu.cpu.atmega328.upload.maximum_size=30720

Ein kleiner Aufkleber hilft, Verwirrung zu vermeiden.

Aber erstmal die LEDs!

wenn dann gleich den UNO Bootloader. Das erspart auch das Umstellen zwischen Nano und Uno.

Ich bin aktuell froh dass der NANO funktioniert, das Bootloader brennen trau ich mir noch nicht zu.
Ich will mir keine unnötigen Probleme machen.

Ich habe heute den LED Strip am 2. LED angeschlossen.
Er funktioniert, danach habe ich direkt am ersten LED angeschlossen und er funktioniert ebenfalls...
Es scheint ich habe am LED Strip nichts kaputt gemacht.
Nun habe ich den LED Strip wieder an den UNO angeschlossen aber er funktionert immer noch nicht.
Ich hänge meinen ganzen Sketch an:

//Temperatursensor Signal kommt an Pin 2
//Ausgang für Heizungsrelais kommt von Pin 3
//LCD-Paneel kommt an I2C Pin
//LED-Strip an PIN 4
//Lichtschalter an PIN 5 (PULLUP-EINGANG)
//
#include <FastLED.h>                                     //Bibliothek
#include <LiquidCrystal_I2C.h>                           //Bibliothek
#include <Wire.h>                                        //Bibliothek
#include <DallasTemperature.h>                           //Bibliothek
#include <OneWire.h>                                     //Bibliothek

#define LICHTSCHALTER_PIN 5
#define ONE_WIRE_BUS 2                                   //benenne One Wire Eingangspin
#define HEIZUNG_RELAIS 3                                 //benenne PIN für Heizung
#define LED_PIN 4
#define CHIPSET WS2812B
#define NUM_LEDS 60
CRGB leds[NUM_LEDS];


OneWire oneWire(ONE_WIRE_BUS);                           //starte oneWire mit dem genannten Eingangspin
DallasTemperature sensors(&oneWire);                     //Sensoren von oneWire an Dallas weitergeben
LiquidCrystal_I2C lcd(0x27,16,2);                        //Setup des Displays, mit Name, Adresse, Zeichenzahl und Zeilenzahl

unsigned long TimerStart = 1;                            //Timer Start Zeit
unsigned long TimerZeit = 0;                             //aktuelle Timer Zeit
long Heizintervall = 180000;                              //Kontrollintervall Temperatur
int DisplayTimer = 500;                                  //Aktualisierungsintervall für LCD Temperaturanzeige
unsigned long DisplayZeit = 0;                           //Aktuelle Display Zeit
unsigned long DisplayStart = 0;                          //Startzeit Displaytimer
int Temp;                                                //Temperaturvariable erstellen
int Heiz_Zaehler = 0;                                    //Wie oft wurde geheizt
byte Licht = 0;

//---------------------------------------------------------------------------------------------------------------------------


void setup() {
sensors.begin();                                         //Dallas starten
pinMode(HEIZUNG_RELAIS,OUTPUT);                          //Setze PIN als Ausgang
lcd.init();                                              //LCD´s initialisieren
lcd.backlight();                                         //Hintergrundbeleuchtung LCD einschalten
Serial.begin(9600);
digitalWrite(HEIZUNG_RELAIS,HIGH);
FastLED.addLeds<CHIPSET, LED_PIN, RGB>(leds, NUM_LEDS);
pinMode(LICHTSCHALTER_PIN,INPUT_PULLUP);
delay(1000);                                             // Einschaltverzögerung
}

//---------------------------------------------------------------------------------------------------------------------------

void loop() {
  
  if(digitalRead(LICHTSCHALTER_PIN) == HIGH){
    Licht = 0;
  }
  else{
    Licht = 1;
  }
  TimerZeit = millis();
  DisplayZeit = millis();
  sensors.requestTemperatures();                           //Temperaturwerte einholen von allen Sensoren
  Temp = sensors.getTempCByIndex(0);                       //Variable mit dem genannten Sensorwert belegen


  if(Licht == 1){                                                     
      fill_solid(leds,NUM_LEDS,CHSV(255,255,50));
      FastLED.show();
    }
    else{
      FastLED.clear();
      FastLED.show();
    }
  
  
  
  
  if((DisplayZeit - DisplayStart) > DisplayTimer){
    lcd.setCursor(1,0);                                    //Temperatur am LCD ausgeben alle 500ms
    lcd.print("Temp: ");
    lcd.print(Temp);
    lcd.print("C");
    lcd.setCursor(12,0);
    lcd.print(Heiz_Zaehler);                               //Anzeigen wie oft geheizt wurde
    DisplayStart = millis();
  }


  if((TimerZeit - TimerStart) > Heizintervall){
    if(Temp < 4){                                        //Temperaturkontrolle
      digitalWrite(HEIZUNG_RELAIS,LOW);                   //Heizung einschalten
      lcd.setCursor(1,1);                                 //Info am LCD ausgeben
      lcd.print("Heizung: EIN");
      Heiz_Zaehler++;
      TimerStart = millis();
    }
    else {
      digitalWrite(HEIZUNG_RELAIS,HIGH);                   //Heizung ausschalten
      lcd.setCursor(1,1);                                 //Info am LCD ausgeben
      lcd.print("Heizung: AUS");
      TimerStart = millis();
    }
  }
}

Wenn es in einem Nano funktioniert, muss es in einer UNO funktionieren.
Ich habe jedoch Ihren Code getestet und der Streifen funktioniert.
Überprüfen Sie die Verbindungen zum ONE und zum ONE selbst
Grüße.

welchen code haben sie getestet, den aus dem vorigen post, oder den zum testen der LED?

Dein Sketch ist schon sehr speziell. Ich kann ihn nicht testen, da mir deine Hardware fehlt. Wenn es auf den Nano-Clone läuft, aber auf dem Uno nicht, gibt es eigentlich wenig Möglichkeiten woran das liegt. Entweder ist die Hardware anders angeschlossen, oder der Uno mag nicht mehr.
Gibt es denn Fehlermeldungen beim kompilieren?
Lass dir Zwischenzustände seriell ausgeben.

Das in Post # 29 offensichtlich alles eliminiert, was nicht von den LEDs war, ich habe auch nicht die gesamte Hardware zum Testen zur Verfügung. Verwenden Sie ein Beispiel aus der FastLED.h-Bibliothek, um die LEDs und deren Verbindung als Problem zu beseitigen.

Wie sieht es mit dem Sketch aus #19 aus? Läuft der auf Nano und Uno?

Der Sketch aus #19 läuft auch nur auf dem nano.
Der serielle Monitor gibt mir aus, dass das Licht ein ist wenn ich den Schalter betätige.
Die Verkabelung sollte passen, da es bereits vor dem ersten uno, der kaputt gegangen ist, funktionierte. Ich muss noch einmal alle elektrischen Verbindungen kontrollieren, dass ergibt sonst keinen Sinn.

Nein, ich habe es gerade auf UNO ausprobiert und es funktioniert.

Ich habe das Problem gefunden!
In der Datenleitung auf dem Shield war eine nicht verbundene Lötstelle!
Jetzt funktioniert der LED-Streifen.
Danke für die Tipps mit dem Widerstand und dem Kondensator.

Danke! :grinning:

Danke für die Rückmeldung :slightly_smiling_face:

Du könntest das Thema noch als gelöst markieren.