import pyfirmata
import time
port = ‘COM3’ # Windows à adapter par rapport à votre ordinateur
board = pyfirmata.Arduino(port) # Permet d’ouvrir le port associé
votre_composant_pin = board.get_pin(‘a:0:i’) # Permet d’initialiser la broche utilisée
iterator = pyfirmata.util.Iterator(board) # Permet d’initialiser la liaison entre Python et Arduino
iterator.start() # Démarrage de la connexion
votre_composant_pin.enable_reporting() # Lecture des valeurs de la broche choisie
while votre_composant_pin.read() == None: None # Tant qu’il n’y a pas de valeurs
try:
while
True:
print (“La valeur est : “,votre_composant_pin.read()) # Lit et affiche les valeurs de la broche
time.sleep(1) # Pause entre deux mesures
except:
votre_composant_pin.disable_reporting() # Arrête la lecture de la broche
board.exit()
Voici les modifications que vous devez apporter afin de que votre programme fonctionne avec le composant choisi :
- Ce qui est en turquoise peut être remplacé par le nom de votre composant, comme bouton poussoir ou photorésistance. Ne pas oublier de laisser ce qui est après le point, par exemple : bouton_poussoir.read() au lieu de votre_composant_pin.read
- Ce qui est en vert doit être remplacé en fonction du tableau suivant :
| Input (capteur, bouton …) | Output (moteur, led …) |
d => digital | (d : N° broche : i) | (d : N° broche : o) |
a => analogique | (a : N° broche : i) | (a : N° broche : o) |
Attention y a 2 exceptions pour digital :
1) (d : N° broche : p) -> p signifie pulse width modulation (pwm), qui permet de modifier l’intensité d’une led par exemple.
2) ( d : N° broche : s) -> s signifie servomoteur, vous devez le mettre uniquement si vous utilisez un servo moteur