Arduino est une plateforme de prototypage à bas coût sous licence Creative Commons. Basée sur les microcontrôleurs ATMEL, elle permet de réaliser rapidement des projets électroniques sur les trois plateformes Linux, Mac et Windows.
Arduino fournit un utilitaire graphique, ainsi qu'une bibliothèque de fonctions permettant de programmer les cartes.
Depuis Ubuntu 10.10 le paquet Arduino est présent dans les dépôts Universe d'Ubuntu.
Pour l'installer, il suffit d'installer le paquet Arduino.
Depuis Ubuntu 12.04 un utilitaire est présent dans les dépôts. Il permet de programmer Arduino en ligne de commande, Pour l'installer, il suffit d'installer le paquet arduino-mk.
Pour installer Arduino à partir de l'archive officielle :
(en) Plus d'informations sur l'installation d'Arduino pour Ubuntu sur le site Arduino.
Le port série n'est pas accessible tant que l'utilisateur n'a pas été ajouté aux groupes “tty” et “dialout”
usermod -a -G tty Nom_Utilisateur
usermod -a -G dialout Nom_Utilisateur
il faut ensuite se déconnecter et se reconnecter pour que les modifications soient effectives.
Si le port de sortie ttyUSBx ou ttyACMx n'apparaît pas dans la liste des ports série du logiciel Arduino, une autre page à consulter - en anglais - pour installer le module cdc_acm et lier le matériel au module (fonctionne avec Arduino UNO R3 firmware Rev.001 et Ubuntu studio 14.04 64 bits)Installation of arduino on all Linux version). En simplifiant :
SUBSYSTEMS=="usb", ATTRS{idProduct}=="YYYY", ATTRS{idVendor}=="XXXX", SYMLINK+="ttyACM%n"
en remplaçant XXXX ET YYYY
cdc_acm
avr-libc | avrdude | binutils-avr à vérifier s'il ne s'agit pas plutôt de gcc-avr | avr-libc | avrdude | binutils-avr
avr-gcc s'utilise presque comme gcc, en spécifiant le microcontrolleur de la carte.
Par exemple pour une carte Arduino UNO, avec un avr atmega328p, on a :
avr-gcc -mmcu=atmega328p -o main.elf main.c
Puis on extrait les données utilisables par le micro-controlleur :
objcopy -O ihex -R .eeprom main.elf main.hex
La programmation de la carte se fait avec avrdude. Il faut lui spécifier le programmateur, le micro-contrôleur et le port sur lequel la carte est branchée.
Dans notre exemple le programmateur est un “stk500v2”, mais un type de programmateur plus spécifique a été créé : “arduino”.
Le micro-controleur sera cette fois-ci : m328p.
man avrdude
sudo avrdude -c arduino -p m328p -P /dev/cuaU0 -U flash:w:main.hex
Il existe un petit logiciel qui permet de simuler son utilisation, mais il ne semble pas fonctionner sous Wine, une machine virtuelle Windows est ici nécessaire : il s'appelle VBB.
Il existe un logiciel pour dessiner les plans des cartes électroniques pour l'Arduino : fritzing.
Il est possible de contrôler l'Arduino par le biais de Scratch.
Contributeurs : mimilus, gduteil, pygmee, samcelia.