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
Cookie- and privacy policy information
Protects against cross-site request forgery attacks.
Retention period: This cookie remains only for the current browser session.
Saves the current PHP session.
Retention period: This cookie remains only for the current browser session.
This website uses cookies to enable certain functions and to improve the offer.
sebi
05.03.22 15:07
Nils
07.03.22 10:08