TigerJython4Kids
HomeTurtlegrafikRobotikDatenbanken
experimente
Deutsch  EEnglish   

9. Experimente

 

 

DU LERNST HIER...

 

 

 

 

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)
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)

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.

 

 

MERKE DIR...

 

 

 

3-1
Fachliche Hinweise:

Unter der Beschleunigung versteht man allgemein die Änderungsrate  der Geschwindigkeit, eindimensional also

wo v die Geschwindigkeit ist.

3-2
Fachliche Hinweise:

Aus den drei Beschleunigungskomponenten kannst du die Winkel Pitch und Roll berechnen. Starte das folgende Programm und kippe das Board seitwärts bzw. nach vorne und hinter. Im Terminalfenster werden die Drehwinkel in Grad ausgeschrieben.

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)