Arduino : logiciel et contrôle de la carte :

Je me suis lancé à la découverte du monde Arduino. Afin de démarrer sur de bonne base, je me suis commandé un Arduino Starter Kit en Français. En plus de contenir, une carte Arduino Uno, un jeu de composant de base, il comprend aussi un bouquin d’exercice très bien écrit et très pédagogique. Cela permet de découvrir en douceur la fabrication d’un circuit et la programmation d’un micro-contrôleur.

Un paquet arduino existe dans Debian et il embarque tout le nécessaire pour programmer et contrôler les différentes cartes.

apt install arduino

CaptureArduino

La carte dispose d’un port USB pour pouvoir interagir avec le micro-contrôleur. Je n’ai pas réussi à faire fonctionner la carte sur un USB 3 mais en le branchant en USB 2, le noyau arrive à voir la carte :

dmesg | tail
[ 280.694367] usb 3-10: new full-speed USB device number 10 using xhci_hcd
[ 280.824363] usb 3-10: New USB device found, idVendor=2a03, idProduct=0043
[ 280.824366] usb 3-10: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 280.824367] usb 3-10: Product: Arduino Uno
[ 280.824367] usb 3-10: Manufacturer: Arduino Srl
[ 280.824368] usb 3-10: SerialNumber: 85xx4383xxxxxxxxxx
[ 280.824544] usb 3-10: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[ 280.824926] cdc_acm 3-10:1.0: ttyACM0: USB ACM device

dmseg permet de voir la mémoire tampon des messages du noyau, tail n’affiche que la fin de la liste en supposant que la carte a été branché au dernier moment.

Ici la carte apparaîtra sous le nom ttyACM0 dans le dossier /dev et si j’en liste le contenu, je vois ma carte qui appartient au groupe dialout .

ls -l /dev/tty*
crw-rw---- 1 root       dialout 166,  0 nov.   6 17:38 /dev/ttyACM0

Je m’ajoute donc au groupe dialout afin de pouvoir utiliser la carte facilement depuis le logiciel arduino sans passer par root ou sudo.

usermod -a -G dialout Nom_Utilisateur

Certaine carte peuvent nécessiter plutôt l’ajout au groupe tty ou uucp .

Une fois l’ajout fait, je me reconnecte à ma session et cette fois-ci je vois bien ma carte depuis le logiciel Arduino directement: CarteSerie

Voilà, la communication peut se faire par port série, dans les deux sens, soit en télé-versant sur la carte le code compilé, soit en écoutant le port et en affichant le résultat :

Arduino Port Serie

Bref tout ça pour dire que ce n’est pas vraiment compliqué et que j’ai été agréablement surpris par la facilité pour construire et programmer son propre circuit.