Ok, dass ist nicht gut
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 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 ).
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.
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.
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.
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.
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.