Neu in dieser Lektion: Bisher hat der Arduino fertige Werte
bekommen (LED an/aus, LDR-Helligkeit als Zahl). Jetzt rechnet ihr
die physikalische Groesse selbst aus — vom Rohwert ueber die
Spannung zur Temperatur in Grad Celsius. Genau wie echte Mess-Profis.
So funktioniert der Sensor
Der TMP36 ist ein analoger Temperatursensor. Er liefert eine
Spannung, die mit der Temperatur waechst — und zwar streng linear:
- Steigung: 10 mV pro Grad Celsius (also 0,01 V/Grad)
- Offset: 500 mV bei 0 Grad Celsius (also 0,5 V)
Bei 25 Grad C kommen also 0,5 V + 25 * 0,01 V = 0,75 V aus dem
Sensor. Diese Spannung lest ihr am analogen Pin A0 als Rohwert
(0..1023) und rechnet sie dann zurueck in Grad Celsius.
Drei Schritte vom Rohwert zur Temperatur
| Was | Formel | |
|---|---|---|
| 1 | analogRead | rohwert = analogRead(A0); -> 0..1023 |
| 2 | Rohwert -> Spannung in V | spannung = rohwert * 5.0 / 1024.0; |
| 3 | Spannung -> Temperatur | temperatur = (spannung - 0.5) * 100; |
Das (spannung - 0.5) zieht den Offset ab, das * 100 ist die Umkehrung
der Steigung (/ 0.01).
Was ihr macht
- Schaltung aufbauen (TMP36 hat eine abgeflachte Seite — pruef
im Datenblatt, welcher Pin was ist!): - TMP36 +Vs an 5V, Vout an A0, GND an GND
- Rote LED an Pin 11 gegen GND
- Lade den Sketch hoch und oeffne den Seriellen Monitor (9600 Baud).
Ihr seht drei Werte pro Messung: Rohwert, Spannung in V,
Temperatur in Grad C. - Pruef die Mathematik nach: Multipliziere den Rohwert von Hand mit
5/1024und vergleich mit der ausgegebenen Spannung.
Stimmt's? - Halt den Daumen auf den Sensor. Wie schnell steigt die Temperatur?
- Aendere die Schwelle (
schwelle = 25.0): - Auf 30 Grad C: Hand-Erkennung
- Auf 18 Grad C: "Heizung an"-Indikator
- Vergleicht mit dem Thermometer im Raum. Wenn die Werte stark
abweichen, koennte der Sensor falsch herum stecken oder eine
schlechte Verbindung haben.
Frei weiter denken
- Zweite LED fuer "zu kalt" — z.B. unter 18 Grad C blau
- Maximum und Minimum der letzten Stunde merken
- Mehrere Messungen mitteln (5 Messungen, geteilt durch 5) — ruhigerer
Wert - Werte ueber den Seriellen Plotter anzeigen lassen (im Menue der IDE) —
ihr seht eine Live-Kurve! - Display (LCD oder OLED) anschliessen, dann braucht ihr keinen PC mehr
Forscher-Bonus
Im ALLNET-Set ist auch das NTC-Modul B07/B31. Das ist auch ein
analoger Temperatursensor — aber nicht-linear. Schaut euch das
Codebeispiel zum B07 in der Bauteile-Datenbank an: da
steckt eine ganze Material-Gleichung drin (Steinhart-Konstante B).
So sehen Profis das Berechnen.