Zitat von
morob
alles schick, aber rom wurde auch nicht an einem tag erbaut.
jaja, ich weiss, bin zu langsam
- - - Aktualisiert - - -
Zur Sache: Hier der MicroPython-Code, der für den gestrigen Videoinhalt verantwortlich war:
Code:
# tests pyb-geocephalopod-robot
buzzer = pyb.Pin(pyb.Pin.board.Y12, pyb.Pin.OUT_PP)
servox = pyb.Servo(4)
servoy = pyb.Servo(3)
irsens = pyb.ADC(pyb.Pin.board.X1)
def lookndetect():
servox.angle(0) # calibrate
servoy.angle(0) # calibrate
for i in range(0, 70, 1):
servox.angle(i)
lev = irsens.read()
print(lev)
beep(lev,100)
for i in range(70, 0, -1):
servox.angle(i)
lev = irsens.read()
print(lev)
beep(lev,100)
for i in range(0, -70, -1):
servox.angle(i)
lev = irsens.read()
print(lev)
beep(lev,100)
for i in range(-70, 0, 1):
servox.angle(i)
lev = irsens.read()
print(lev)
beep(lev,100)
def beep(lev,dur):
for i in range(dur):
buzzer.value(1)
pyb.udelay(lev)
buzzer.value(0)
def whistle_call():
for i in range(300, 10, -1):
buzzer.value(1)
pyb.udelay(i)
buzzer.value(0)
for i in range(10, 700, 1):
buzzer.value(1)
pyb.udelay(i)
buzzer.value(0)
for i in range(700, 10, -2):
buzzer.value(1)
pyb.udelay(i)
buzzer.value(0)
def sleep():
servox.angle(0) # calibrate
servoy.angle(0) # calibrate
for i in range(10):
pyb.LED(4).on()
pyb.delay(10)
pyb.LED(4).off()
pyb.delay(90)
def step_r(): # step right
servoy.angle(0, 100)
servox.angle(0, 100)
servox.angle(-70, 100)
pyb.delay(200)
servoy.angle(-20, 100)
pyb.delay(300)
servox.angle(40, 1000)
pyb.delay(1000)
servoy.angle(0, 100)
def step_l(): # step left
servoy.angle(0, 100)
servox.angle(0, 100)
servox.angle(70, 100)
pyb.delay(200)
servoy.angle(20, 100)
pyb.delay(300)
servox.angle(-40, 1000)
pyb.delay(1000)
servoy.angle(0, 100)
def go():
for i in range(2): # 2 steps
lookndetect()
step_r()
step_l()
try:
whistle_call()
whistle_call()
switch = pyb.Switch()
switch.callback(lambda:go())
except:
sleep()
Heute abend findet die Hochzeit statt, damit meine ich die Vereinigung von Kopf, Controllerboard und Energiespeicher.
Anregungen oder Fragen?
Demnächst mehr.
Gruß
/barbar
Lesezeichen