experimente
Deutsch   English   Français

9. Experimente

 

 

YOU LEARN HERE...

 

 

 

 

EXPERIMENT 1: WASSERSTANDMESSUNG

 

 

Deine kleine Pflanze braucht nicht viel Wasser, aber ganz vergessen darfst du sie nicht. Mit deinem micro:bit kannst du den Wasserstand kontrollieren und wenn er zu niedrig ist, Alarm auslösen.

Du brauchst nur zwei Kabel mit Krokodilklemmen und zwei Verbindungskabel  m-m  für Steckboard.

 
  Das Rote Kabel ist mit Pin0, das gelbe mit 3V verbunden. Die freie Enden kannst du mit Verbindungskabeln verlängern und in den Blumentopf einstecken.


Währen der Programmentwicklung kannst du einen Wasserbehälter verwenden, da hier die Spannungsschwankungen direkt sichtbar sind. Mit dem Befehl pin0.read_analog()
kannst du die Spannung messen und mit print() die Ergebnisse im Terminalfenster anzeigen. Da das Wasser besser leitet als die Luft, siehst du die unterschiedlichen Werte beim Eintauchen bzw. Hochheben der beiden Verbindungskabel. Mit Salz kannst du die Leitfähigkeit vom Wasser noch verbessern.

 


 
from microbit import *

while True:
    v = pin0.read_analog()
    print(v)     
    sleep(500)
Sélectionner le code (Ctrl+C pour copier, Ctrl+V pour coller)

Ergänze deine Anlage und dein Programm mit einem Wasserstand-Alarm. Wenn es zu wenig Wasser hat, wird auf dem Display ein Warnsignal angezeigt oder ein akkustisches Signal ausgelöst.

 

 

MEMO

 

 

 

3-1
Professional advice:

Acceleration generally means the rate of change of velocity, that is, one-dimensional

where v is the speed.

3-2
Professional advice:

From the three acceleration components you can calculate pitch and roll angles as shown below. Start the following program and tilt the board sideways or forwards and backwards. In the terminal window, the values of pitch and roll are written out in degrees.

from microbit import *
from math import *

def getPitch():
    a = accelerometer.get_values()
    pitch = atan2(a[1], -a[2])
    return int(degrees(pitch))

def getRoll():
    a = accelerometer.get_values()
    anorm = sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2])
    roll = asin(a[0] / anorm)
    return int(degrees(roll))
   
while True:
    pitch = getPitch()
    roll = getRoll()
    print("p: " + str(pitch))
    print("r: " + str(roll))
    print()
    sleep(100)