Nabend Mein kleines Programm soll zwei DS18b20 Temperatursensoren auslesen und die Werte zusammen mit den Sensoradressen in Variablen speichern. Dafür habe ich global 4 Variablen definiert: // globale Variablen String Temp_1; String Temp_1_ID; String Temp_2; String Temp_2_ID; Diese sollen in der folgenden Funktion mit Werten gefüllt werden: int readTemp() { // Temperatursensoren auslesen sensors.requestTemperatures(); float t1 = sensors.getTempC(Sensor_1); float t2 = sensors.getTempC(Sensor_2); // float in String umwandeln // geht das einfacher? char Temp_1[6]; String str; str = String(t1); str.toCharArray(Temp_1, 6); char Temp_2[6]; String strt; strt = String(t2); strt.toCharArray(Temp_2, 6); // Device Adress Temp_1_ID = sensors.getAddress(Sensor_1, 0); Temp_2_ID = sensors.getAddress(Sensor_2, 1); } Im loop möchte ich jetzt gerne die Funktion aufrufen und mit den Werten in den Variablen weiterarbeiten können. Jetzt erstmal nur über den seriellen Monitor ausgeben: readTemp(); Serial.print("1 "); Serial.println(Temp_1_ID); Serial.print("2 "); Serial.println(Temp_1); Serial.print("3 "); Serial.println(Temp_2_ID); Serial.print("4 "); Serial.println(Temp_2); Die Ziffer 1-4 dienen nur der Orientierung. Die Ausgabe sieht wie folgt aus: 1 1 2 3 1 4 Wenn ich die Variablen innerhalb der Funktion "printen" lasse, funktioniert es aber. Ist mein Vorgehen falsch?
Du hast die globale Variable "Temp_1" und legst in "readTemp" eine lokale Variable "Temp_1" an. Welche der beiden "Temp_1" wird nun wohl in "readTemp" beschrieben? Analog: "Temp_2"
Oh, das ist mir jetzt fast peinlich. Aber immerhin konnte ich den Fehler so schnell beheben. Ich bin es wohl noch nicht gewohnt mit verschiedenen Datentypen umzugehen. PHP lässt grüßen. Danke Rainer für die schnelle Antwort.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.