Introduction

La carte, associée à la librairie python, permet de gérer:
- 2 entrées digitales E0 et E1 reliées à des boutons poussoirs
- 4 sorties digitales S0 à S3 connectées à des LEDS
- 6 entrées analogiques de A1 à A6
- 3 PWM pour servomoteurs, M0, M1 et M2
Pour utiliser la carte, il suffit de déclarer une variable de type Arduino, puis d’utiliser cette variable comme dans les exemples qui suivent.
Initialisation de la carte
Pour être connecté à la carte, il faut exécuter
a = Arduino()
Le constructeur prend un paramètre optionnel pour s’adapter au système.
Exemple sous linux
from pyduino import *
import time
a = Arduino('/dev/ttyACM0')
time.sleep(3)
Exemple sous Windows
from pyduino import *
import time
a = Arduino('COM10')
time.sleep(3)
La valeur par défaut est ‘/dev/ttyACM0’.
Vous pouvez modifier cette valeur par défaut dans votre fichier pyduino.py, elle
est facile à repérer.
Remarque : sous linux, cela peut être /dev/ttyACM1 , /dev/ttyUSB0 …
et soux windows COM11 , COM12 …
La connexion à la carte arduino par le port série redémarre la carte.
Les 3 secondes sont là pour attendre que l’initialisation soit complète.
Les sorties digitales
Elles sont au nombre de 4, accessibles par les méthodes :
a.S0(<valeur>), a.S1(<valeur>), a.S3(<valeur>), a.S4(<valeur>)
ou <valeur> vaut 0 ou 1 pour éteindre ou allumer la sortie correspondante
Exemple
from pyduino import *
import time
a = Arduino('/dev/ttyACM0') # à adapter
time.sleep(3)
i = 0
while True:
if i%2 == 0:
a.S0(1)
a.S1(0)
else:
a.S0(0)
a.S1(1)
if i%3 == 0:
a.S2(1)
a.S3(0)
else:
a.S2(0)
a.S3(1)
i = i+1
.
Les entrées digitales
On peut en utiliser 2 à partir des boutons placés sur la carte:
v0 = a.E0()
v1 = a.E1()
v0 vaut 1 si le bouton E0 est enfoncé, et 0 sinon
v1 vaut 1 si le bouton E1 est enfoncé, et 0 sinon
Exemple
from pyduino import *
import time
a = Arduino('/dev/ttyACM0')
time.sleep(3)
while True:
v0 = a.E0()
v1 = a.E1()
print(' v0 = '+ v0 + ' et v1 = ' + v1)
Les entrées analogiques
On peut en utiliser 6 (numérotées de 1 à 6).
val = a.A1() renvoie une valeur entière (entre 0 et 400), qui est une valeur numérisée proportionnelle à la tension renvoyée par le capteur.
On peut aussi écrire val = a.A(1) ce qui permet de traiter plusieurs entrées de capteurs dans une boucle.
Exemple
from pyduino import *
import time
a = Arduino('/dev/ttyACM0')
time.sleep(3)
while True:
print(' A1 = ' + repr(a.A(1)))
Les sorties PWM pour les moteurs
Installez un moteur sur la sortie M0 (voyez le plan)
from pyduino import *
import time
a = Arduino('/dev/ttyACM0')
time.sleep(3)
while True:
a.M0(0)
time.sleep(1)
a.M0(180)
time.sleep(1)
a.M0(90)
time.sleep(1)