[ev3dev × Python] Commande de moteur unique

Cet article s'adresse à tous ceux qui souhaitent travailler avec ev3 en Python. Cette fois, je voudrais contrôler respectivement le moteur L et le moteur M.

table des matières

  1. Quoi préparer
  2. Contrôle du moteur L
  3. Contrôle du moteur M
  4. À propos de l'exécution du programme

0. Quoi préparer

◯ ev3 (bloc intelligent) ◯ Moteur L / Moteur M ◯ PC (code VS) ◯ bluetooth ◯ microSD ◯ Material (Il est recommandé de continuer en regardant ceci.)

1. Contrôle du moteur L

1-0. Programme pour faire tourner le moteur L tout le temps

lmotor00.py


#!/usr/bin/env python3
from ev3dev2.motor import LargeMotor, OUTPUT_A

L_A = LargeMotor(OUTPUT_A)

while True:
    L_A.on(50)

** Point **: La première ligne commençant par #! Est nécessaire pour exécuter le programme à partir du bloc intelligent, elle doit donc être écrite dans tous les programmes.

** Point **: Comment quitter le programme ① Appuyez sur le bouton d'arrêt carré orange qui apparaît en haut de l'écran VS Code.  or ② Appuyez sur le bouton en haut à gauche du bloc intelligent

** Point **: Lorsqu'il est programmé avec MINDSTORMS, cela ressemble à ce qui suit. スクリーンショット 2020-06-15 18.41.03.png

1-1. Programme pour faire tourner le moteur L pendant une certaine période de temps

lmotor01.py


#!/usr/bin/env python3
from ev3dev2.motor import LargeMotor, OUTPUT_A

L_A = LargeMotor(OUTPUT_A)

L_A.on_for_seconds(50,3)

** Point **: Dans ce cas, tournez à 50 vitesses pendant 3 secondes et arrêtez.

Point : on_for_seconds(speed, seconds, brake=True, block=True) Rotate the motor at speed for seconds

** Point **: on_for_seconds (vitesse, nombre de secondes, ~~) etc. sont appelés des fonctions. Une fonction est comme un périphérique de sortie qui produit une sortie déterminée en utilisant les informations entre (). Dans ce cas, la fonction fournie par ev3dev est utilisée selon la règle.

** Point **: Lorsqu'il est programmé avec MINDSTORMS, cela ressemble à ce qui suit. スクリーンショット 2020-06-15 20.16.50.png

1-2. Programme pour faire tourner le moteur L d'un certain angle

lmotor02.py


#!/usr/bin/env python3
from ev3dev2.motor import LargeMotor, OUTPUT_A

L_A = LargeMotor(OUTPUT_A)

L_A.on_for_degrees(50,1080)

** Point **: Dans ce cas, il pivote de 1080 degrés à une vitesse de 50 et s'arrête.

Point : on_for_degrees(speed, degrees, brake=True, block=True) Rotate the motor at speed for degrees

** Point **: Lorsqu'il est programmé avec MINDSTORMS, cela ressemble à ce qui suit. スクリーンショット 2020-06-15 20.29.16.png

1-3. Un programme qui fait tourner le moteur L un certain nombre de fois

lmotor03.py


#!/usr/bin/env python3
from ev3dev2.motor import LargeMotor, OUTPUT_A

L_A = LargeMotor(OUTPUT_A)

L_A.on_for_rotations(50,5)

** Point **: Dans ce cas, il effectue 5 tours à une vitesse de 50 et s'arrête.

Point : on_for_rotations(speed, rotations, brake=True, block=True) Rotate the motor at speed for rotations

** Point **: Lorsqu'il est programmé avec MINDSTORMS, cela ressemble à ce qui suit. スクリーンショット 2020-06-15 20.37.15.png

2. Contrôle du moteur M

Il change simplement en MediumMotor pour importer. Des fonctions telles que on_for_rotaions () peuvent être utilisées de la même manière que pour les moteurs L.

2-0. Programme pour faire tourner le moteur M tout le temps

mmotor00.py


#!/usr/bin/env python3
from ev3dev2.motor import MediumMotor, OUTPUT_A

m_A = MediumMotor(OUTPUT_A)

while True:
    m_A.on(50)

** Point **: while ~: est utilisé pour le traitement itératif. while True: est une soi-disant ** boucle infinie ** qui "fait tout le temps".

** Point **: En Python, le traitement des blocs est spécifié par indentation. Si vous voulez en savoir plus, veuillez consulter cet article pour une compréhension facile!

** Point **: Instance Dans ce cas, m_A est appelé ** instance ** dans le programme. m_a = mediummotor(output_a),Génération d'instanceC'est appelé.

Article de référence sur l'instance [Introduction à Python] Connaissance de base de la classe

** Point **: Lorsqu'il est programmé avec MINDSTORMS, cela ressemble à ce qui suit. スクリーンショット 2020-06-15 18.04.27.png

3. À propos de l'exécution du programme

Si vous oubliez comment faire, [le dernier article que j'ai é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)!

finalement

Merci pour la lecture! !! La prochaine fois, j'aimerais écrire sur le contrôle de plusieurs moteurs!

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

[ev3dev × Python] Commande de moteur unique
[ev3dev × Python] Contrôle de plusieurs moteurs
[ev3dev × Python] Affichage, voix, contrôle LED
Installer le contrôle Python
[ev3dev × Python] Contrôle SSH (opération à distance avec clavier)
Pourquoi vous êtes intéressé par le contrôle moteur en Python
[ev3dev × Python] Capteur à ultrasons
[ev3dev × Python] Capteur tactile
[ev3dev × Python] Capteur gyroscopique
[ev3dev × Python] Capteur de couleur
[ev3dev × Python] Bouton de blocage intelligent
Contrôle d'instruments à l'aide de Python [pyvisa]
[ev3dev × Python] Construction de l'environnement de développement ev3dev
Contrôlez le moteur avec un pilote de moteur en utilisant python sur Raspberry Pi 3!
Syntaxe de contrôle Python, fonctions (mémo d'apprentissage Python ②)
Résumé de la gestion des versions de l'environnement virtuel Python
[Raspberry Pi] Contrôle du moteur pas à pas avec Raspberry Pi
Commande de servomoteur avec Raspberry Pi
Étude de Python Hour2: instruction de contrôle
Python> liste> Convertir une double liste en une seule liste
Essayez la simulation de contrôle de fréquence avec Python
Python> tuple> Convertir un double tuple en un seul tuple
[Ev3dev] Faisons un programme de contrôle à distance par Python avec le protocole RPyC