Thermometer kalibrieren: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
Zeile 27: | Zeile 27: | ||
Setze die beiden Werte in diese Formel ein: '''x = (y - c) / m''' | Setze die beiden Werte in diese Formel ein: '''x = (y - c) / m''' | ||
So ergibt das: x = (Messwert PIN 0 - 199.65) / 13.066 = | So ergibt das: '''x''' = (Messwert PIN 0 - 199.65) / 13.066 = '''gemessene Temperatur in ° Celsius''' | ||
</spoiler> | </spoiler> | ||
Version vom 21. Dezember 2021, 14:38 Uhr
Eine analoge Schaltung benötigt eine exakte Nullstellung (Kalibrierung) der Anzeigewerte. Diese Kalibrierung erfolgt hier mit 2 Temperaturmessungen mit mindestens 10 Grad Unterschied z.B. innen und außen. Am einfachsten ist es wenn man Raum- und Kühlschranktemperatur messen kann, das gelingt unabhängig von der Jahreszeit.
Zusätzlich zur Schaltung mit dem micro:bit benötigst du ein Thermometer,
etwas Geduld zur Akklimatisierung bevor gemessen wird, und die Werte des micro:bits für beide Temperaturmessungen. Der micro:bit zeigt analoge Werte umgerechnet der zur Verfügung stehenden Spannung an den PINs digital an.
1. Messung innen:
- 23,6 Grad Celsius am Thermometer
- micro:bit zeigt den Wert <spoiler text="??">508</spoiler>
2. Messung außen (od. Kühlschrank):
- 9,9 Grad Celsius am Thermometer
- micro:bit zeigt den Wert <spoiler text="??">329</spoiler>
Wie die Umrechung der gemessenen Werte in eine Temperatur funktioniert wird im Bild Umrechnungstabelle und -formel hier daneben erklärt.
<spoiler>
Wenn du keine Zeit für eine exakte Kalibrierung aufwenden kannst oder kein Thermometer zur Verfügung steht, verwende einfach folgende Werte:
c = 199.65
und
m = 13.066
Setze die beiden Werte in diese Formel ein: x = (y - c) / m
So ergibt das: x = (Messwert PIN 0 - 199.65) / 13.066 = gemessene Temperatur in ° Celsius </spoiler>
Erstelle zur Messung der beiden Temperaturwerte ein kleines Hilfsprogramm, das bei Drücken der Taste A den aktuellen Messwert von PIN 0 anzeigt. <spoiler>
input.onButtonPressed(Button.A, function () { TempWert = pins.analogReadPin(AnalogPin.P0) basic.showNumber(TempWert) basic.pause(1000) })
</spoiler>