wendtdir
16.07.2015, 19:15
Hallo,
ich sehe den Wald vor lauter Bäumen nicht fürchte ich. Ich habe mit meinem Arduino ein Temperaturmesser nachgebaut und versuche zwei CodeTeile zusammenzufügen. Ich möchte, dass meine LED (hot, normal, cold) durchgehend eingeschaltet ist, die Temperatur soll aber nur alle 30 Sekunden auf den seriellen Monitor ausgegeben werden.
Anbei mein Sketch:
#define HOT 6
#define NORMAL 4
#define COLD 2
float voltage = 0;
float celsius = 0;
float hotTemp = 26;
float coldTemp = 20;
float sensor = 0;
void setup() {
pinMode(HOT, OUTPUT);
pinMode(NORMAL, OUTPUT);
pinMode(COLD, OUTPUT);
Serial.begin(9600);
}
void tempmessung()
{
sensor = analogRead(0);
voltage = (sensor*5000)/1024;
voltage = voltage - 500;
celsius = voltage/10;
if (celsius<coldTemp)
{
digitalWrite(COLD, HIGH);
delay(1000);
digitalWrite(COLD, LOW);
}
else if (celsius > coldTemp &&celsius <= hotTemp)
{
digitalWrite(NORMAL, HIGH);
delay(1000);
digitalWrite(NORMAL, LOW);
}
else
{
digitalWrite(HOT, HIGH);
delay(1000);
digitalWrite(HOT, LOW);
}
}
void moni()
{
Serial.println(celsius, 2);
delay(30000);
}
void loop()
{
tempmessung();
moni();
}
Der Sketch wurde zusammengefasst aus dem Buch Arduino Workshops. Ich erstellte eine Funktion tempmessung, diese soll durchgehend die Temperatur messen und eine der LEDs, je nach Temperatur, leuchten lassen. Die zweite Funktion moni soll eigentlich die Temperatur alle 30 Sekunden auf dem seriellen Monitor ausgeben, aber leider macht das Programm beides nur alle 30 Sekunden.
Ich denke, es müsste mit einer While-Schleife gehen. Aber ich komme partout nicht auf die Lösung.
ich sehe den Wald vor lauter Bäumen nicht fürchte ich. Ich habe mit meinem Arduino ein Temperaturmesser nachgebaut und versuche zwei CodeTeile zusammenzufügen. Ich möchte, dass meine LED (hot, normal, cold) durchgehend eingeschaltet ist, die Temperatur soll aber nur alle 30 Sekunden auf den seriellen Monitor ausgegeben werden.
Anbei mein Sketch:
#define HOT 6
#define NORMAL 4
#define COLD 2
float voltage = 0;
float celsius = 0;
float hotTemp = 26;
float coldTemp = 20;
float sensor = 0;
void setup() {
pinMode(HOT, OUTPUT);
pinMode(NORMAL, OUTPUT);
pinMode(COLD, OUTPUT);
Serial.begin(9600);
}
void tempmessung()
{
sensor = analogRead(0);
voltage = (sensor*5000)/1024;
voltage = voltage - 500;
celsius = voltage/10;
if (celsius<coldTemp)
{
digitalWrite(COLD, HIGH);
delay(1000);
digitalWrite(COLD, LOW);
}
else if (celsius > coldTemp &&celsius <= hotTemp)
{
digitalWrite(NORMAL, HIGH);
delay(1000);
digitalWrite(NORMAL, LOW);
}
else
{
digitalWrite(HOT, HIGH);
delay(1000);
digitalWrite(HOT, LOW);
}
}
void moni()
{
Serial.println(celsius, 2);
delay(30000);
}
void loop()
{
tempmessung();
moni();
}
Der Sketch wurde zusammengefasst aus dem Buch Arduino Workshops. Ich erstellte eine Funktion tempmessung, diese soll durchgehend die Temperatur messen und eine der LEDs, je nach Temperatur, leuchten lassen. Die zweite Funktion moni soll eigentlich die Temperatur alle 30 Sekunden auf dem seriellen Monitor ausgeben, aber leider macht das Programm beides nur alle 30 Sekunden.
Ich denke, es müsste mit einer While-Schleife gehen. Aber ich komme partout nicht auf die Lösung.