nachdem ich Probleme mit meinem Temperaturfühler Dallas 18S20 hatte, funktioniert jetzt endlich alles. Ich hatte aus versehen einen Widerstand zu hoch angesetzt. Ich möchte hiermit allen Anfängern Mut machen, die vielleicht so wie auch ich schnell aufgeben. Geduld, es lohnt sich. Ich habe eine kleine Testschaltung entwickelt, die die Temperatur misst und bei einer bestimmten Grad-Zahl eine bestimmte LED zum leuchten bringt. Diese Schaltung kann man beliebig erweitern. Was ich mir darunter vorgestellt hätte: Bis 10 Grad eine Blaue LED, bis 15 Grad eine gelbe etc..
Hier mal der Code:
#include <DallasTemperature.h> //spezielle Dallas-Bibliothek einladen
DallasTemperature tempSensor;
byte gruen= 2; //LEDs werden initialisiert
byte rot=11;
void setup(void) { // Setup starten
Serial.begin(9600); //Baudzahl =9600
tempSensor.begin(10); //Tempsensor ist bei mir auf PIN 10
pinMode(gruen, OUTPUT); //LEDs auf Ausgabe vorbereiten
pinMode(rot, OUTPUT);
}
void loop() { //Hauptschleife
Serial.print(tempSensor.getTemperature()); //Messdaten holen
Serial.print("C"); //schreibe die Gradzahl /Fahrenheit wäre auch möglich
Serial.println();
if (tempSensor.getTemperature() >=30) { // Wenn Temp. über oder gleich 30 dann..
digitalWrite(rot, HIGH); //rote LED an
digitalWrite(gruen,LOW); //grüne LED aus
}
else {digitalWrite(rot,LOW); //ODER: rote LED aus
digitalWrite(gruen,HIGH); //grüne LED an
}
}
Die Schematics könnte ich bei Bedarf auch noch posten, allerdings ist es zur Zeit eher chaotisch gesteckt.
Ich hoffe das hilft vielleicht den einen oder anderen Anfänger, oder es bringt jemanden auf eine Idee wie man das ganze erweitern könnte.
Hallo utopia3000
Um Kalli zu helfen: Bitte schreib uns wo Du die Bibliothek "DallasTemperature.h" heruntergeladen hast, damit er die Kontrolle mit der gleichen Version machen kann.
Viele Grüße Uwe
Kleine Projekt Idee: (habe sowas schon ähnlich schon Bascom) gemacht.
RGB LED an drei PWM und dann Temp abhänig Blau(Kalt)langasm bis Grün (normal angnehm) bis Orange Rot(heiß) wie die Tagesschau wetter Karte
Bei Temperaturmessung mit einem Dallas kann man ruhig im Loop ein delay machen (wenn es noch andere nebenläufigen Code gibt natürlich mit millis() arbeiten) und so dafür sorgen, dass der Sensor nur 1x pro Sekunde ausgelesen wird. Er braucht sowieso eine gewisse Zeit (je nach Auflösung bis zu 750ms), um den Wert neu auszulesen.
Ich hab nen Dallas am Motorrad im Einsatz und zeige mir die Temperatur auf einem DOG Lcd an. Zusätzlich steuere ich über die Temperatur meine Heizgriffe.
Eine RGB Led würde ich persönlich nicht verwenden. Für die braucht man ja 3 Pins. Das Lcd kann man mit 4 Pins ansteuern, der eine Pin mehr tut also nicht weh. Außerdem kann man auf dem LCD direkt noch mehr Informationen anzeigen (soll ja ne Temperaturschaltung werden, also könnte da der Status angezeigt werden).
Die Idee mit dem Delay ist natürlich ganz gut. Werde das bei mir dann auch noch einbauen. Das mit der RGB LED ist auch nicht schlecht, ich habe dafür mittlerweile 4 einfarbige LEDs genommen. (kalt=0-10grad, grün=11-19 grad, gelb 20-29 grad, ab 30 rot). Zusätzlich dazu habe ich mir ebenfalls ein LCD von Pollin bestellt, das müsste die Tage eintreffen. Interessant wäre es, wenn die Daten drahtlos übertragen werden. Würde das mit dem XBEE funktionieren?