blender-edutech-tutoriels/labyrinthe/6-jumeaux/test/servo-test.py

30 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import pyfirmata
###############################################################################
# servo-test.py :
# @title: Test de pilotage d'un servomoteur par pyFirmata
# @project: Blender-EduTech - Tutoriel : Tutoriel 6 : Labyrinthe à bille - Développement de jumeau numérique
# @lang: fr
# @authors: Philippe Roy <philippe.roy@ac-grenoble.fr>, Andre Nicolas <Nicolas.Andre@ac-grenoble.fr>
# @copyright: Copyright (C) 2023 Philippe Roy
# @license: GNU GPL
###############################################################################
# Communication avec la carte Arduino
carte = pyfirmata.Arduino('COM3') # Windows
carte = pyfirmata.Arduino('/dev/ttyACM0') # GNU/Linux
print("Communication Carte Arduino établie")
servo = board.get_pin('d:9:s') # Servo sur broche D9
try :
while True: # Boucle infinie
angle = int(input("Entrer un angle entre 10 et 170):")) # Demande à lutilisateur dentrer la valeur de langle
if angle < 10 : # Si la valeur entrée est inférieure à 10° on bloque le servo moteur à 10°
angle = 10
elif angle > 170 : # Si la valeur entrée est supérieur à 170° on bloque le servo moteur à 170°
angle = 170
servo.write(angle) # Ecrit cette valeur dans le pin du servo moteur
except :
carte.exit()