Dieser Artikel richtet sich an alle, die mit ev3 in Python arbeiten möchten. Dieses Mal möchte ich verschiedene Operationen mit der intelligenten Blocktaste ausführen.
◯ ev3 (Tank) ◯ PC (VS-Code) ◯ bluetooth ◯ microSD ◯ Material (Es wird empfohlen, fortzufahren, während Sie dies ansehen.)
button00.py
#!/usr/bin/env python3
from ev3dev2.button import Button
from ev3dev2.sound import Sound
btn = Button()
snd = Sound()
while True:
if btn.left:
snd.beep()
** Punkt **: Ein Programm, das bei jedem Drücken der linken Taste einen Ton ausgibt
Point :
if Bedingung: Prozess 1
** Wenn die Bedingung erfüllt ist, verarbeiten Sie 1 **
** Punkt **: Schaltflächentyp ・ Nach oben: Obere Taste ・ Nach unten: Untere Taste ・ Rechts: Rechte Taste ・ Links: Linke Taste ・ Enter: Center-Taste ・ Rücktaste: Schaltfläche oben links
button01.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A,OUTPUT_B,MoveSteering,SpeedPercent
from ev3dev2.button import Button
from ev3dev2.sound import Sound
steering_drive = MoveSteering(OUTPUT_A,OUTPUT_B)
btn = Button()
snd = Sound()
snd.beep()
while True:
steering_drive.on(0,SpeedPercent(50))
if btn.any():
steering_drive.stop()
exit()
** Punkt **: Ein Programm, das nicht mehr ausgeführt wird und das Programm stoppt, wenn eine Taste gedrückt wird
Point :
if Bedingung: Prozess 1
** Wenn die Bedingung erfüllt ist, verarbeiten Sie 1 **
button02.py
#!/usr/bin/env python3
from ev3dev2.button import Button
from ev3dev2.sound import Sound
from ev3dev2.display import Display
btn = Button()
snd = Sound()
dsp = Display()
while True:
dsp.update()
if btn.any():
dsp.clear()
snd.beep()
else:
dsp.text_pixels('push the button!',True,0,52,font = 'charB' + '18')
** Punkt **: Wenn Sie eine beliebige Taste drücken, hören Sie einen Ton. Andernfalls wird auf dem Bildschirm eine Meldung angezeigt, dass Sie die Taste drücken sollten.
Point :
if Bedingung: Prozess 1 else: Prozess 2
** Wenn die Bedingung erfüllt ist, führen Sie Prozess 1 aus. Wenn falsch, Prozess 2 ** Programm
Point : clear() Setzen Sie die Bildschirmanzeige zurück update() Reflektieren Sie die Unoutput-Anzeige auf dem Bildschirm. Ohne diese Funktion kann es überhaupt nicht auf dem Bildschirm angezeigt werden.
Point : text_pixels(text, clear_screen=True, x=0, y=0, text_color=’black’, font=None) Der Text beginnt bei den pixelbasierten Koordinaten (x, y). Der Bildschirm von ev3 ist 178x128 Pixel, • Die obere linke Ecke des Bildschirms ist (0, 0). • Die Mitte des Bildschirms ist (89, 64)
Point : font↓
button03.py
#!/usr/bin/env python3
from ev3dev2.button import Button
from ev3dev2.sound import Sound
from ev3dev2.display import Display
btn = Button()
snd = Sound()
dsp = Display()
while True:
dsp.update()
if btn.any():
dsp.clear()
button_name = btn.buttons_pressed
dsp.text_pixels(str(button_name) + ' is pressed!',True,0,52,font = 'charB' + '10')
snd.beep()
else:
dsp.text_pixels('push the button!',True,0,52,font = 'charB' + '18')
** Punkt **: Wenn Sie eine beliebige Taste drücken, hören Sie einen Ton und die gedrückte Taste wird angezeigt. Wenn Sie sie nicht drücken, wird die Meldung "Bitte drücken Sie die Taste" auf dem Bildschirm angezeigt.
Point : buttons_pressed Gibt eine Liste der Namen der Tasten zurück, die gedrückt werden
Point : str() Gibt das Argument (in diesem Fall die Liste) als Zeichen zurück
button04.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A,OUTPUT_B,MoveSteering,SpeedPercent
from ev3dev2.button import Button
from ev3dev2.sound import Sound
steering_drive = MoveSteering(OUTPUT_A,OUTPUT_B)
btn = Button()
snd = Sound()
snd.beep()
while not btn.any():
steering_drive.on(100,SpeedPercent(40))
snd.beep()
exit()
** Punkt **: Ein Programm, das sich an Ort und Stelle dreht, bis Sie eine beliebige Taste drücken.
Point :
while not ~: Prozess 1
** Setzen Sie Prozess 1 fort, ohne ~ ** Programm
Point : exit() Programmende
button05.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A,OUTPUT_B,MoveSteering,SpeedPercent
from ev3dev2.button import Button
from ev3dev2.sound import Sound
steering_drive = MoveSteering(OUTPUT_A,OUTPUT_B)
btn = Button()
snd = Sound()
btn.wait_for_bump('enter')
steering_drive.on_for_degrees(0,SpeedPercent(60),1080)
snd.beep()
exit()
** Punkt **: Ein Programm, das wartet, bis Sie die mittlere Taste drücken, und ausgeführt wird, wenn es gedrückt wird.
Point : wait_for_bump(buttons, timeout_ms=None) → Warten Sie, bis die Taste gedrückt wird (gedrückt und losgelassen). Mit dem zweiten Argument kann ein Zeitlimit vom Drücken bis zum Freigeben festgelegt werden wait_for_pressed(buttons, timeout_ms=None) → Warten Sie, bis gedrückt wird. wait_for_released(buttons, timeout_ms=None) → Warten Sie bis zur Freigabe.
Point : exit() Programmende
button06.py
#!/usr/bin/env python3
from ev3dev2.button import Button
from ev3dev2.sound import Sound
btn = Button()
snd = Sound()
while True:
btn.wait_for_pressed(['right','left','down'])
snd.beep()
if btn.up:
exit()
** Punkt **: Ein Programm, das einen Ton erzeugt, wenn gleichzeitig die rechte und die linke Taste gedrückt werden. Wenn die obige Taste gedrückt wird, wird das Programm beendet.
Point : wait_for_pressed(timeout_ms=None, sleep_ms=10) → Warten Sie, bis gedrückt wird. wait_for_released(timeout_ms=None, sleep_ms=10) → Warten Sie bis zur Freigabe. wait_for_bump(timeout_ms=None, sleep_ms=10) → Warten Sie, bis die Taste gedrückt wird (gedrückt und losgelassen). Mit dem ersten Argument kann ein Zeitlimit vom Drücken bis zum Freigeben festgelegt werden
Point :
Da Sie die Schaltflächen, die Sie drücken möchten, gleichzeitig mit den Elementen der Liste erstellen können,
Wenn Sie warten möchten, bis Sie drei gleichzeitig drücken
btn.wait_for_pressed['left','right','down']
Danke fürs Lesen! !! Nächstes Mal möchte ich über Berührungssensoren schreiben!
Ich möchte einen besseren Artikel machen ◯ Das ist leichter zu verstehen ◯ Das ist schwer zu verstehen ◯ Das ist falsch ◯ Ich möchte, dass Sie hier mehr erklären Wir freuen uns über Ihre Meinungen und Vorschläge.
Recommended Posts