02 septembre 2008

logiciels pour Arduino

Le plus simple pour programmer un Arduino est d'utiliser le soft Arduino. Il integre a la fois un editeur, un compilateur et le telechargement par le port usb/serie. Il y a du java quelque part, mais se base sur la toolchain gcc. Enfin c'est ce qu'ils disent dans la doc. L'avantage est qu'il existe pas mal de librairies qui simplifient beaucoup la tache, et permettre l'ecriture rapide de programme complexe.

Mais comme tout outil simple, il y a des inconvenient: relative lenteur de compilation, taille du code generée importante (environ 1k pour Blink), et moindre control du temps. De plus, si vous avez l'habitude d'un editeur type vi ou emacs, celui d'Arduino est tres primitif.

J'ai essayé de piloter 4 servos en utilisant les outils Arduino et la librairie de pilotage de Servos de playground. Resulat les servos "vibrent", sans doute a cause de l'envoi des trames par le microprocesseur qui n'est pas assez precis. Pour ameliorer la precision du temps, mieux vaut passer sur les outil gcc de base et avr-dude.

En utilisant les outils gcc-avr et l'excellent tutorial de avr freak, il devrait etre possible de gerer les trames envoyées au servo avec plus de precision.

J'ai suivi les instructions de cette page Program_Arduino_with_AVR-GCC pour installer, compiler et telecharger l'image dans l'Arduino. Ca marche parfaitement mis a part quelques parametres pour avr-dude qu'il faut regler, comme la vitesse de tranfert via le port usb/serie:

avrdude -p m168 -P /dev/ttyUSB0 -c stk500v1 -b 19200 -F -u -U flash:w:blink.hex


Le test du "blink" qui fait clignoter la led marche parfaitement, a condition de brancher la led au bon endroit. Attention car sous avr_gcc, les numero de port de sortie ne correspondent pas avec les numeros de Arduino et mieux vaut se referer directement a la datasheet de l'Atmel.

Aucun commentaire: