Thermometer kalibrieren: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
Zeile 11: | Zeile 11: | ||
1. Messung innen: | 1. Messung innen: | ||
* 23,6 Grad Celsius am Thermometer | * 23,6 Grad Celsius am Thermometer | ||
* micro:bit zeigt Wert 508 | * micro:bit zeigt den Wert 508 | ||
2. Messung außen (od. Kühlschrank): | 2. Messung außen (od. Kühlschrank): | ||
* 9,9 Grad Celsius am Thermometer | * 9,9 Grad Celsius am Thermometer | ||
* micro:bit zeigt Wert 329 | * micro:bit zeigt den Wert 329 | ||
Version vom 13. Dezember 2021, 16:36 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 508
2. Messung außen (od. Kühlschrank):
- 9,9 Grad Celsius am Thermometer
- micro:bit zeigt den Wert 329
Wie die Umrechung der gemessenen Werte in eine Temperatur funktioniert wird im Bild 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
x = (y - c) / m d.h. x = (Messwert micro:bit - 199.65) / 13.066 = Temperaturwert </spoiler>
Erstelle zur Messung 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>