Cet article s'adresse à tous ceux qui souhaitent travailler avec ev3 en Python. Cette fois, je voudrais contrôler plusieurs moteurs pour faire fonctionner le réservoir (voiture).
◯ ev3 (réservoir) ◯ PC (code VS) ◯ bluetooth ◯ microSD ◯ Material (Il est recommandé de continuer en regardant ceci.)
tank00.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_B, OUTPUT_C, MoveTank
tank_drive = MoveTank(OUTPUT_B,OUTPUT_C)
tank_drive.on_for_rotations(80,-30,6)
Point : class ev3dev2.motor.MoveTank(left_motor_port, right_motor_port, desc=None, motor_class=<class ’ev3dev2.motor.LargeMotor’>)
** Point **: Entrez la vitesse de chaque moteur pour déterminer le sens de déplacement.
** Point **: Lorsqu'il est programmé avec MINDSTORMS, cela ressemble à ce qui suit.
steering00.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A, OUTPUT_B, MoveSteering, SpeedPercent
steering_drive = MoveSteering(OUTPUT_A,OUTPUT_B)
steering_drive.on_for_rotations(-10,SpeedPercent(75),5)
Point : class ev3dev2.motor.MoveSteering(left_motor_port, right_motor_port, desc=None, motor_class=<class ’ev3dev2.motor.LargeMotor’>)
** Point **: Pour les citernes (voitures) uniquement. Image proche pour manipuler l'opération.
** Point **: Le degré de flexion peut être directement déterminé par une valeur numérique.
** Point **: ** Numéro de direction **
0 <Valeur de direction <= 100: tourner vers la droite. Tourner à 100 (tourner à droite sur place). Valeur de direction = 0: aller tout droit -100 <= Numéro de direction <0: tourner vers la gauche. Tourner à -100 (tourner à gauche sur place)
** Point **: Lorsqu'il est programmé avec MINDSTORMS, cela ressemble à ce qui suit.
example00.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A,OUTPUT_B,MoveSteering,SpeedPercent
steering_drive = MoveSteering(OUTPUT_A,OUTPUT_B)
for i in range(0,101,10):
steering_drive.on_for_seconds(i,SpeedPercent(75),1)
steering_drive.stop()
** Point **: Augmentez i de 10 dans la plage de 0 <= i <101 En d'autres termes 1ère boucle (i = 0): la voiture va tout droit Deuxième boucle (i = 10): la voiture tourne un peu à droite : 11ème boucle (i = 100): La voiture tourne sur place dans le sens des aiguilles d'une montre.
** Point **: Pour les boucles, cet article est facile à comprendre.
example01.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A,OUTPUT_B,MoveSteering,SpeedPercent
import random
steering_drive = MoveSteering(OUTPUT_A,OUTPUT_B)
for i in range(10):
num = random.randint(-100,100)
print(num)
steering_drive.on_for_seconds(num,SpeedPercent(75),2)
steering_drive.stop()
** Point **: déterminez aléatoirement la direction du déplacement toutes les 2 secondes
Point : random.randint(min,max) Extrayez au hasard les valeurs int (valeurs entières) de la plage spécifiée (min ~ max).
** Point **: Pour les fonctions aléatoires, cet article est facile à comprendre.
example02.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A,OUTPUT_B,MoveTank
from time import sleep
tank_drive = MoveTank(OUTPUT_A,OUTPUT_B)
speed_list = [-90,30,-10,80,10]
for i in speed_list:
sleep(1)
tank_drive.on_for_rotations(i,i,2)
tank_drive.stop()
** Point **: prenez les nombres du haut de la liste et réglez-les sur la vitesse de chaque moteur.
Point : sleep() Fonction pour attendre le nombre de secondes spécifié par l'argument
** Point **: Pour la liste, cet article est facile à comprendre.
example03.py
#!/usr/bin/env python3
from ev3dev2.motor import OUTPUT_A,OUTPUT_B,MoveTank
from time import sleep
import random
tank_drive = MoveTank(OUTPUT_A,OUTPUT_B)
speed_list = [-90,30,-10,80,0]
for i in speed_list:
sleep(1)
num = random.choice(speed_list)
tank_drive.on_for_rotations(num,0,2)
tank_drive.stop()
** Point **: choisissez au hasard un nombre dans la liste et réglez-le 8 fois sur la vitesse d'un moteur (port A)
Point : random.choice() Il prend un objet avec plusieurs éléments tels qu'une liste ou une chaîne de caractères comme argument, et renvoie (produit) un élément au hasard parmi eux.
** Point **: Pour le hasard, cet article est également facile à comprendre.
Si vous oubliez comment faire, [article précédemment écrit](https://qiita.com/masterkeaton12/items/938457911b0f3f25e161#4%E6%96%B0%E8%A6%8F%E3%83%95%E3 Voir% 82% A9% E3% 83% AB% E3% 83% 80% E3% 81% AE% E4% BD% 9C% E6% 88% 90)!
Merci pour la lecture! !! La prochaine fois, j'écrirai sur les écrans, les sons et les lumières!
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