Was stimmt hier nicht bei der Programmierung (Temperatur Sensor)

Gast #2593757
Lesenswert?

void setup {
  pinMode(INPUT=13);
  pinMode(OUTPUT=12);
Serial.begin(9600);

Serial.print("Temperatur");
Serial.println(ds18s20.count, DEC);
}

void loop {

  Serial.println();


  delay(100);
for (int i=0; i<ds18s20.count;i++)
  {
    Serial.print("Sensor");
    Serial.print(i, DEC);
    Serial.print(", id=0x");
    Serial.print(DFR0024.get_temp(i),HEX);
    Serial.print(", T=");
    print_temperature(DFR0024.get_temp(i));
    Serial.println("C");
  }

 float T_outside=DFR0024.get_temp_by_id(ID_OUTSIDE);
 Serial.print("Aussentemperatur");
 print_temperature(T_outside);
 Serial.println("C");

 return;
}
Gast #2593785
Lesenswert?

Der offensichtliche Fehler ist, dass der Quellcode unvollständig ist. So 
fehlt z.B. das Include der ds18s20 spezifischen Dateien. Den Code für 
die Funktion print_temperature() sehe ich auch nirgends.

Seltsam kommt mir vor, dass du den ds18s20 als DFR0024 ansprichst. Ein 
sonstiger Fehler könnte sein, dass die OneWire Library nicht mit dem 
Quellcode gelinkt wird.

Alle diese Fehler würden jeder für sich verhindern, dass ein 
ausführbares Programm erzeugt wird.

Wenn du ein ausführbares Programm bekommst, liegt ein anderer Fehler 
vor. Das können z.B. falsch angeschlossene Sensoren sein, was man mit 
einem Schaltplan abschätzen beurteilen könnte.
Gast #2594028
Lesenswert?

Verbesserte Version.
1
void setup (){
2
 
3
Serial.begin(9600);
4

5
Serial.print("Temperatur");
6
Serial.println(DS18S20.count, DEC);
7
}
8

9
void loop (){
10
  
11
  Serial.println();
12
  
13
  
14
  delay(100);
15
for (int i=0; i<DS18S20.count;i++)
16
  {
17
    Serial.print("Sensor");
18
    Serial.print(i, DEC);
19
    Serial.print(", id=0x");
20
    Serial.print(DS18S20.get_temp(i),HEX);
21
    Serial.print(", T=");
22
    print_temperature(DS18S20.get_temp(i));
23
    Serial.println("C");
24
  }
25
  
26
 float T_outside=ds18s20.get_temp_by_id(ID_OUTSIDE);
27
 Serial.print("Aussentemperatur");
28
 
29
 Serial.println("C");
30
   
31
 return;
32
}
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.