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.