Hallo zusammen,
ich habe mir einen Arduino MEGA angeschafft, da wir bis Dienstag ein Projekt haben.
Mein Projekt ist mit einen Temperatursensor (http://bausteln.de/wp-content/uploads/2009/02/3_sensoren.jpg) die Temperatur zu lesen und diese auf 6 LED’s in Binär auszugeben.
Mein Arduino kann mitlerweile schon von Dezimail (0-63) in Binär umrechnen und ausgeben. Aber ich kriege es nicht hin die Temperatur des Sensors auszulesen.
Ich habe mir den Code von http://www.arduino.cc/playground/Deutsch/KtyTemperatureExtDe als Beispiel genommen. Habe aber keinen Schalter und keinen Kondensator.
Bei mir sieht es wie folgt aus:
5V ---- 3,5 OHM Wiederstand + -------> ANALOG IN 0
|
- -------- Temp. Sensor -----> GND
Mein Code sieht so aus:
void setup()
{
// Definition der seriellen Schnittstelle
Serial.begin(9600);
}
// Funktion zum auslesen der Temperatur
float kty(unsigned int port) {
float temp = 82;
// ADCSRA Register zurücksetzen
ADCSRA = 0x00;
// ADC aktivieren und Teiler auf 128 setzen
ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
// MDMUX Register zurücksetzen
ADMUX = 0x00;
// AVCC mit externen Kondensator am AREF Pin
ADMUX = (1<<REFS0);
// Zuweisen des Kanals des Multiplexers
ADMUX |= port;
// schleife zum Auslesen der Spannung
for (int i=0;i<=63;i++)
{
ADCSRA|=(1<<ADSC);
while (ADCSRA & (1<<ADSC));
temp += (ADCL + ADCH*256);
}
// Umrechnen in Temperatur
temp = 1196000 /temp;
//temp += 5;
return (temp);
}
void loop()
{
// Aufruf der Funktion um die Temperatur auszulesen
float read_temp = kty(0);
// Ausgabe der Temperatur auf dem seriellen Port
Serial.println(read_temp);
// 1/2 Sekunde warten bevor der nächste Tastendruck ausgelesen wird
delay(500);
}
Das ist der reine Code zum auslesen der Temp. die Temp. hier ist 26°C der Arduino gibt mir 27°C an. Wenn ich raus in 38°C gehe. Zeigt er mir 28-29°C an.
Er erkennt aufjedenfall Schwankungen. Er schwankt auch wenn ich meine Finger an den Sensor halte.
Ich weiß nur nicht wie ich es hinkriege, dass er mir ca. die richtige Temp. anzeigt.
Wäre echt cool wenn jmd. eine Idde hätte oder so.
Danke!
VG, Nicosixxx