Cet article s'adresse à tous ceux qui souhaitent travailler avec ev3 en Python. Cette fois, je souhaite effectuer diverses opérations à l'aide du bouton de blocage intelligent.
◯ ev3 (réservoir) ◯ PC (code VS) ◯ bluetooth ◯ microSD ◯ Material (Il est recommandé de continuer en regardant ceci.)
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()
** Point **: Un programme qui émet un son chaque fois que le bouton gauche est enfoncé
Point : ʻSi condition: Processus 1` ** Si la condition est vraie, traiter 1 **
** Point **: type de bouton ・ Haut: bouton supérieur ・ Bas: bouton inférieur ・ Droite: bouton droit ・ Gauche: bouton gauche ・ Entrée: bouton central ・ Retour arrière: bouton supérieur gauche
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()
** Point **: Un programme qui s'arrête de s'exécuter et arrête le programme lorsqu'une touche est enfoncée
Point : ʻSi condition: Processus 1` ** Si la condition est vraie, traiter 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')
** Point **: Lorsque vous appuyez sur n'importe quel bouton, vous entendrez un son, sinon vous verrez un message à l'écran indiquant que vous devez appuyer sur le bouton.
Point : ʻSi condition: Processus 1 else: Processus 2`
** Si la condition est vraie, effectuez le processus 1, Si faux, traiter 2 ** Programme
Point : clear() Réinitialiser l'affichage de l'écran update() Reflète l'affichage de sortie à l'écran. Sans cette fonction, il ne peut pas du tout être affiché à l'écran.
Point : text_pixels(text, clear_screen=True, x=0, y=0, text_color=’black’, font=None) Le texte commence aux coordonnées en pixels (x, y). L'écran de ev3 mesure 178x128 pixels, • Le coin supérieur gauche de l'écran est (0, 0) • Le centre de l'écran est (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')
** Point **: Lorsque vous appuyez sur n'importe quel bouton, vous entendrez un son et le bouton appuyé sera affiché, et si vous n'appuyez pas dessus, le message «Veuillez appuyer sur le bouton» s'affichera à l'écran.
Point : buttons_pressed Renvoie une liste des noms des boutons sur lesquels vous appuyez
Point : str() Renvoie l'argument (liste dans ce cas) sous forme de caractère
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()
** Point **: Un programme qui continue de tourner sur place jusqu'à ce que vous appuyiez sur n'importe quel bouton.
Point :
while not ~: Processus 1
** Continuez le processus 1 sans faire ~ ** Programme
Point : exit() Fin du programme
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()
** Point **: Un programme qui attend jusqu'à ce que vous appuyiez sur le bouton central et s'exécute lorsque vous appuyez dessus.
Point : wait_for_bump(buttons, timeout_ms=None) → Attendez que le bouton soit heurté (enfoncé et relâché). Un délai entre la pression et la libération peut être défini avec le deuxième argument wait_for_pressed(buttons, timeout_ms=None) → Attendez jusqu'à ce que vous appuyiez sur. wait_for_released(buttons, timeout_ms=None) → Attendez d'être libéré.
Point : exit() Fin du programme
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()
** Point **: Un programme qui émet un son lorsque les boutons droit et gauche sont enfoncés en même temps. Si vous appuyez sur le bouton ci-dessus, le programme se terminera.
Point : wait_for_pressed(timeout_ms=None, sleep_ms=10) → Attendez jusqu'à ce que vous appuyiez sur. wait_for_released(timeout_ms=None, sleep_ms=10) → Attendez d'être libéré. wait_for_bump(timeout_ms=None, sleep_ms=10) → Attendez que le bouton soit heurté (enfoncé et relâché). Un délai entre la pression et la libération peut être défini avec le premier argument
Point :
Puisque vous pouvez faire les boutons sur lesquels vous voulez appuyer en même temps que les éléments de la liste,
Si vous voulez attendre d'appuyer sur trois en même temps
btn.wait_for_pressed['left','right','down']
Merci pour la lecture! !! La prochaine fois, j'aimerais écrire sur les capteurs tactiles!
Je veux faire un meilleur article ◯ C'est plus facile à comprendre ◯ C'est difficile à comprendre ◯ C'est faux ◯ Je veux que vous expliquiez plus ici Nous apprécions vos opinions et suggestions.
Recommended Posts