Hallo,


[nbsp]


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


[nbsp]


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


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


[nbsp]


Danke!

sebi

05.03.22 15:07

Guten Morgen sebi,


[nbsp]


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 [gt] 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() [lt]= 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.


[nbsp]


Mit freundlichen Grüßen


Nils (Joy-IT)

Nils

07.03.22 10:08