Arduino
l'avatar suisse de l'Arduino
L'Arduino est une plateforme de développement open-source bon-marché et facile à mettre en oeuvre. Tout le soft est en libre-service sur le net, le système de développement, des librairies et des milliers d'applications. Nativement la documentation de l'Arduino, dont les cartes sont développées/fabriquées en Italie, est en anglais. Mais on trouve des sites dans d'autres langues, par exemple le site Mon-club-elec.fr pour le français.
En Suisse, Jean-Daniel Nicoud a développé le 100% compatible Diduino (DIDel-ArdUINO) et le commercialise via son entreprise Didel. L'avantage de cette version, c'est son orientation "expérimentation", son prix et la disponibilité du hardware nécessaire pour développer des applications. Une version spécifique pour la robotique existe aussi. Tout ceci est décrit sur le site de Didel.
Par rapport à d'autres plateformes PIC, l'Arduino a l'avantage de ne pas de nécessiter de programmateur. La carte se relie à un PC par un câble USB et c'est tout. L'alimentation se fait par ce câble. Le programme est écrit en langage Arduino, proche du langage C, à l'aide de l'environnement de développement Arduino, librement téléchargeable sur le net.
En pratique, il faut écrire le programme sur le PC, le tester afin d'y déceler des erreurs de syntaxe, le compiler et le télécharger sur la carte Diduino (ou Arduino. Pour la suite nous emploierons indifféremment l'un ou l'autre terme). Une fois l'Arduino nourri, il démarrera automatiquement avec ce programme lors de chaque mise sous tension, le programme ne s'efface pas lorsqu'on dés-alimente la carte.
La documentation livrée avec le Diduino consiste en une page "Montage Diduino" et une page "Mise en route et premières expériences".
Le montage est fort simple car la carte est livrée fonctionnelle, avec les composants implantés. Il n'y a qu'à souder les connecteurs pour fils et fixer la plaque "sans soudures" à l'aide de 2 vis M1.6. Tout cela est bien documenté et décrit.
En plus de ces éléments-là, le Diduino est livré avec 4 fils colorés et une trentaine de composants destinés aux premières expériences. Les premiers pas du "Diduiniste" sont donc facilités au maximum.
Test:
Il faut tout d'abord télécharger l'environnement de développement Arduino ici: http://arduino.cc/forum/index.php?topic=61764.0 Sans autre indication, Windows téléchargera ce fichier ZIP dans le répertoire Favoris/téléchargements du disque C:. C'est là que tu retrouveras le répertoire arduino-1.0-windows.zip avec son sous-répertoire arduino-1.0. Il suffit alors de cliquer sur l'option "Extraire tous les fichiers" du menu Windows, en haut de la fenêtre, pour que ce répertoire se remplisse des fichiers décompressés. Tout est là.
Libre à toi, ensuite, de déplacer ce répertoire arduino-1.0 et son contenu à une autre place du disque C (ou autre) afin qu'il soit visible dans l'arborescence du disque. Il faut encore mettre un raccourci vers le fichier arduino.exe sur le bureau afin que l'environnement Arduino soit accessible par un simple clic sur cette icône. C'est tout.
Connecte maintenant le Diduino au PC avec le câble USB (déconnecte-le et reconnecte-le s'il était déjà branché). Le PC répond par le bip de connexion habituel et indique que le driver se charge.
Ceci fait, clique sur l'icône "Arduino" sur le bureau afin de démarrer l'environnement de développement. Là il faut lui indiquer le type de carte ainsi que le port de communication.
Ceci peut varier en fonction de la version du soft Arduino, mais c'est ce que j'ai en janvier 2012 avec ma version de Diduino. Tout est prêt maintenant pour passer à la phase de la première programmation !
Le driver Arduino peut poser quelques problèmes. Si c'est le cas, tu peux trouver des explications ici: http://www.ladyada.net/learn/arduino/lesson1.html
Pour ton premier programme, charge le code source celui qui est dans l'Arduino: blink.ino:
C'est le code source du programme qui se trouve présentement dans ton Diduino.
Dans le setup. on voit que la pin 13 est initialisée en tant que SORTIE (la Led du Diduino lui est déjà connectée sur la carte). Le programme principal, quant-à lui, de contente de mettre cette pin à un niveau HAUT, attend 1000ms, la met à l'état BAS, attend 1000ms, et recommence la boucle. En conséquence, la Led 13, rouge, clignote à une fréquence de 2 Hz.
Sans entrer dans les détails de cette programmation:
Il faudra maintenant se plonger dans la mini référence pour se lancer dans ses premières applications, puis, l'expérience venant, dans la référence standard, pour terminer avec la référence étendue. Et bien-sûr piocher dans les exemples qui se trouvent dans ton répertoire Examples ainsi que sur le net.
Afin de me faire la main, j'ai relié quelques composants à mon Diduino, en les programmant les uns après les autres. Au final. j'ai:
Ce programme se sert à rien, si ce n'est de me faire la main sur ce genre de composants.
Au démarrage, il affiche "Azimuth: sur l'affichage LCD ainsi que l'angle du servo-moteur (jusqu'à 180 degrés) de la dernière position avant la coupure du courant. Cet angle est mémorisé dans une mémoire flash non-volatile. En plus, les lettres "AZ" pour "Azimuth" est donné auditivement en code morse par le buzzer.
Sur la pression du bouton, le servo-moteur se déplace à la nouvelle valeur donnée par le potentiomètre. Cette dernière est affichée sur le LCD et mémorisé en mémoire flash.
Le programme
Par Frédéric Genevey, enseignant aux Ecoles Primaires et
Secondaires d'Ecublens,
Leds, interrupteurs, capteurs, moteurs, pour terminer avec la commande de 2 servo moteurs avec un joystick (positionnement d'une caméra par exemple)
Réalisations diverses
|
Précédent
[2]
Suivant [4]
Michel Vonlanthen Février 2012
Copyright texte et photos Michel Vonlanthen