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.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.