Dein edit muss ich mir dann nochmal genauer anschauen ..... glaub so ganz hab ich das noch nicht durch .
Weil der Sketch mit einem Messfühler doch normal funktioniert .... dachte ich hätte da nicht viel verändert
#define MESSFUEHLER1 A0 // Messfühler1
#define MESSFUEHLER2 A1 // Messfühler2
#define EINZELMESSUNGEN1 25 // Das verändern der Zahl ändert auch die Anzahl der Einzelmessungen.
#define EINZELMESSUNGEN2 25
#define A_2 1.401592401e-03 // A-Koeffizient des Messfühlers
#define B_2 2.375252635e-04 // B-Koeffizient des Messfühlers
#define C_2 0.9880580930e-07 // C-Koeffizient des Messfühlers
#define A_3 1.401592401e-03 // A-Koeffizient des Messfühlers
#define B_3 2.375252635e-04 // B-Koeffizient des Messfühlers
#define C_3 0.9880580930e-07 // C-Koeffizient des Messfühlers
#define FESTWIDERSTAND_2 3000 // Widerstandswert des Serienfestwiderstandes des Messfühlers
#define FESTWIDERSTAND_3 3000 // Widerstandswert des Serienfestwiderstandes des Messfühlers
uint16_t SUM_EM_2[EINZELMESSUNGEN1];
uint16_t SUM_EM_3[EINZELMESSUNGEN2];
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
uint8_t i;
float DURCHSCHNITT_2;
float R2_2, lnR2_2;
float TEMP_2;
float DURCHSCHNITT_3;
float R2_3, lnR2_3;
float TEMP_3;
// Hier werden die Einzelmessungen des Messfühlers vorgenommen.
// Zwischen den Messungen gibt es eine Wartezeit von 10 Millisekunden.for (i = 0; i < EINZELMESSUNGEN1; i++) {
SUM_EM_2 = analogRead(MESSFUEHLER1);
- delay(10);*
- for (i = 0; i < EINZELMESSUNGEN2; i++)*
SUM_EM_3 = analogRead(MESSFUEHLER2);
* delay(10);*
* }*
* // Berechnung des Durchschnittswertes aller Einzelmessungen des Messfühlers.*
* DURCHSCHNITT_2 = 0;
_ for (i = 0; i < EINZELMESSUNGEN1; i++) {_
DURCHSCHNITT_2 += SUM_EM_2;
_ }_
DURCHSCHNITT_3 = 0;
_ for (i = 0; i < EINZELMESSUNGEN2; i++) {_
DURCHSCHNITT_3 += SUM_EM_3;
_ }_
DURCHSCHNITT_2 /= EINZELMESSUNGEN1;
DURCHSCHNITT_3 /= EINZELMESSUNGEN2;
_ // Berechnung der Temperatur mit Steinhart-Hart Gleichung*
R2_2 = FESTWIDERSTAND_2 * (1023.0 / (float)DURCHSCHNITT_2 - 1.0);
* lnR2_2 = log(R2_2);
TEMP_2 = (1.0 / (A_2 + B_2 * lnR2_2 + C_2 * lnR2_2 * lnR2_2 * lnR2_2)); // Steinhart-Hart Gleichung. T = 1 / {A + B[ln(R)] + C[ln(R)]^3}
TEMP_2 = TEMP_2 - 273.15;
R2_3 = FESTWIDERSTAND_3 * (1023.0 / (float)DURCHSCHNITT_3 - 1.0);
lnR2_3 = log(R2_3);
TEMP_3 = (1.0 / (A_3 + B_3 * lnR2_3 + C_3 * lnR2_3 * lnR2_3 * lnR2_3)); // Steinhart-Hart Gleichung. T = 1 / {A + B[ln(R)] + C[ln(R)]^3}
TEMP_3 = TEMP_3 - 273.15;*
* // Der nachfolgende Teil sendet die Daten zusätzlich über den seriellen Port.
Serial.print("Temperatur: ");_
Serial.print(TEMP_2); // Hier wird der Temperaturwert des Messfühlers vom Arduino an den seriellen Port gesendet.
_ Serial.println(" °C");
Serial.println();
Serial.print("Temperatur2: ");_
Serial.print(TEMP_3); // Hier wird der Temperaturwert des Messfühlers vom Arduino an den seriellen Port gesendet.
_ Serial.println(" °C");
Serial.println();
// Nach 5 Sekunden Wartezeit wird eine neue Messung der Temperaturen vorgenommen.
delay(5000);
}
[/quote]
edit:
habs mir angeschaut und den fehler wohl gefunden.
nur leider wird aktuell doch nur ein Wert ausgespuckt.
Temperatur : 41,02 C
(dann leer Zeile)*
Temperatur : 41,02 C
werde mich dann morgen wohl nochmal ransetzen_