Ca y est : ça marche !!!

Enfin j'arrive à allumer un néon de l'incubateur avec l'ordinateur !!

Ca aura pris du temps depuis le 26 août 2009, mais la perspective de fabrication d'une serre USB (comme je l'appelais à l'époque) se concrétise !

Ce qui est piloté

Plus concrètement, l'image ci-dessous montre la console de pilotage de toutes les E/S (entrées/sorties) analogiques et numériques de la carte Arduino Duemilanove.

Pour chaque E/S, 3 boutons et une indication de lecture :
 - Boutons Marche et Arrêt : Actifs si l'E/S est configurée en sortie (par exemple : commande des néons)
- Bouton Test : Actif si l'E/S est configurée en entrée (par exemple : capteur de température)
 - L'indication de lecture :
> Si les boutons Marche/Arrêt sont actionnées, l'état de l'E/S est contrôlé juste après la commande et le résultat est affiché
> Si le bouton Test est actionné, l'état du capteur est affiché

Le dialogue entre Python et Arduino

Dans le dernier billet sur le sujet j'évoquais un protocole de communication maison qui avec le recul ... ne marche pas vraiment !
Le gros inconvénient était que la connexion plantait toutes les 10 minutes. Le seul moyen était de fermer et ré-ouvrir la connexion pour ré-initialiser la carte.
Problème majeur : à la fermeture de la connexion, toutes les commandes en cours sont elles aussi ré-initialisées !
Donc les néons s'éteignent. Le problème venait d'une saturation du buffer de communication série.

Il a fallu partir sur un autre solution : une librairie très bien réalisée par une équipe du MIT (voir le paragraphe : Python Arduino Prototyping API). Il suffit de charger le programme dans l'Arduino, d'intégrer la librairie Python au code de l'IHM, et le tour est joué !