Hallo ich bin momentan dabei mein erstes Projekt fertig zu stellen
Das ganze soll eine Aquarienkühlung ergeben
nun zu meinem Problem
ich möchte gerne einmal die Externe (Wasser) und einmal die Wasser Temperatur messen und das ganze auf einem LCD ausgeben
das Funktioniert auch alles soweit im Einzelnen
Jetzt habe ich mir eine Platine geätzt alles zusammen gelötet und siehe da es klappt nicht ![]()
Wenn ich die externe Temp messen will schließe ich über 2 pins mein thermofühler ein für die Raum temp benutze ich einen lm 35
zu erst wird die RT gemessen und ausgegeben und dann die Ext Temp
die externe temp scheint zu stimmen doch die RT spinnt die springt von oben nach unten und hin und her
aber wenn ich nur die Raumtemperatur messe und das externe thermometer abziehe klappt alles wunderbar??
hier mal mein Code eventuell ist da ja was falsch denn anscheinend wenn nur ein Analoger port geschaltet ist klappt ja alles mhh
#include <LiquidCrystal.h>
#include <math.h>
LiquidCrystal lcd(12, 11, 9, 10, 8, 7);
float minext =0;
float maxext =0;
float minint =0;
float maxint =0;
float temp1;
float temp2;
int Analogw;
float mv;
float Temp;
float extTemp(int rawadc)
// Hilfsfunktion zur Umrechnung auf Grad Celsius
{
int r1 = 1200000; // Wert des Festen Wiederstandes des sabbungsteiler
int r2 = 22000; // Wiederstand des Thermristors bei 25grad
int b = 3950; // Fixwert aus Datenblatt
float r_akt; // Aktueller Wiederstand
float temp; //Temporäre Variable
float ergebnis; //
float tn = 25; //Basistemperatur in Grad Celsius
// Wiederstand Therm ausrechnen
//Widerstand auf Temperatur umrechnen
tn = tn+273.15; // Basitemperatur auf Kelvin umrechnen
r_akt = ((4.64/(4.64/1023*rawadc))*r1)-r2; //Aktuellen Widerstand ermitteln
temp = b*tn/(b+log10((r_akt/r2))*tn);
temp = temp - 273.15; //Ergebnis in Grad Celsius umwandeln
ergebnis =temp;
return ergebnis;
}
void showrt(int pause)
{ lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Raum Temperatur:");
lcd.setCursor(0, 1);
Analogw = analogRead(A2);
mv = map(Analogw,0,1023,0,5000);
mv=mv+1;
Temp = mv/10;
temp1=Temp;
lcd.print(temp1);
minmaxint(temp1);
delay(pause);}
void showext (int pause){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("EXT Temperatur:");
lcd.setCursor(0, 1);
temp2= extTemp(analogRead(A1));
lcd.print(temp2);
minmaxext(temp2);
delay(pause);}
void setup() {
lcd.begin(16, 2);
lcd.print("Willkommen zur");
lcd.setCursor(0, 1);
lcd.print("Temperaturmesung");
delay(5000);
}
void loop() {
showrt(1000);
showext(1000);
}
edit:
hier mal ein Bild der Platine
Uploaded with ImageShack.us