MicroPhython

Hallo,


 


ich möchte gerne die Sounds welche hinterlegt sind abspielen. Bitte um kurze erklärung wie das funktioniert mit MicroPhython.


 


Außerdem möchte ich gerne so etwas in der Art umsetzten (über Sonar):  wenn Auto 30cm von Gegenstand entfernt, tue XY.


Leider komme ich mit der Anleitung auf der Website nicht weiter.


 


Danke!

sebi

05.03.22 15:07

Guten Morgen sebi,


 


unten findest du einen Beispielcode, der das aus deiner Anfrage macht. Es wird alle 0,2 Sekunden die Distanz mit dem Ultraschallsensor geprüft. Ist die gemessene Distanz kleiner-gleich 30 cm wird eine Melodie abgespielt. Weitere Informationen zu dem Befehl music.play findest du hier.


# Import der benötigten Module
from microbit import *
import gc
import music # wird

DISTANCE_CM_PER_BIT = 0.21 # Distanz in cm pro Bit (Auflösung)

# Initialisierung der SPI-Schnittstelle (Pin12 als Echo-Empfänger)
spi.init(baudrate=50000,bits=8,mode=0,miso=pin12)

# Garbage Collector aktivieren
gc.enable()

# Definition der Funktion distance, die die Entfernungsmessung durchführt
def distance():
gc.disable() # Garbage Collector deaktivieren
pin8.write_digital(True) # kurzen Impuls auf dem Trigger Pin des Sensors senden
pin8.write_digital(False) # Impuls auf dem Trigger Pin beenden
x = spi.read(200) # 200 Bytes auf Pin 12 lesen und in x ablegen
high_bits = 0 # high_bits auf 0 setzen

# Zählung der High Bits
for i in range(len(x)):
if x[i] == 0 and high_bits > 0:
break
elif x[i] == 0xff:
high_bits += 8
else:
high_bits += bin(x[i]).count('1')
x = None # leeren der Variablen x
gc.collect() # aufräumen
return high_bits * DISTANCE_CM_PER_BIT # Berechnung der Distanz und Rückgabe des errechneten Werts

while True:
if distance() <= 30: # Sonar-Distanzabfrage, wenn kleiner 30 cm spiele Musik
music.play(music.NYAN, pin=pin16) # spiele ausgewählte Melodie an Pin16 (Joy-Car Speaker Pin)
sleep(200)

Ich hoffe, dass ich dir weiterhelfen konnte.


 


Mit freundlichen Grüßen


Nils (Joy-IT)

Nils

07.03.22 10:08

Achtung!

Ihr Webbrowser ist veraltet. Wechseln Sie jetzt zu einem aktuellen Browser für mehr Sicherheit, Geschwindigkeit und den besten Komfort auf dieser Seite.