Thermometer kalibrieren: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Oliver.kastner (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Oliver.kastner (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 32: Zeile 32:
<pre id=temp1>
<pre id=temp1>
input.onButtonPressed(Button.A, function () {
input.onButtonPressed(Button.A, function () {
     TempWert = pins.digitalReadPin(DigitalPin.P0)
     TempWert = pins.anaologReadPin(AnalogPin.P0)
     basic.showNumber(TempWert)
     basic.showNumber(TempWert)
     basic.pause(1000)
     basic.pause(1000)

Version vom 2. November 2021, 16:10 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,

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.

0 Volt Wert 0

3 Volt Wert 1023

Umrechnungstabelle und -formel

1. Messung innen:

  • 23,6 Grad Celsius am Thermometer
  • micro:bit zeigt Wert 508

2. Messung außen (od. Kühlschrank):

  • 9,9 Grad Celsius am Thermometer
  • micro:bit zeigt 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.anaologReadPin(AnalogPin.P0)
    basic.showNumber(TempWert)
    basic.pause(1000)
})

</spoiler>

Zurück zur Aufgabe