Installer le logiciel Arduino IDE sous Linux¶
Je privilégie une installation "manuelle" de l'application Arduino IDE afin d'utiliser une des dernières versions. Certaines options et paramètres n'apparaissent pas dans les versions packagées des distributions. J'ai eu le cas avec Debian 9.6 où je ne pouvais pas utiliser des cartes ESP 8266.
Date de relecture : 11 novembre 2020
Il faut télécharger la version 1.8.13. Vous pouvez vérifier la dernière version disponible depuis le site https://www.arduino.cc/en/Main/Software. Adaptez les informations ci-dessous suivant les informations trouvées sur le site arduino.cc.
Télécharger Arduino IDE Software¶
Depuis mon dossier home ou un autre dossier personnel, je télécharge le programme Arduino IDE. Je préfère l'effectuer depuis une ligne de commande.

Déployer Arduino IDE Software¶
ligne 1 : déployer Arduino IDE dans un dossier accessible à tous : /opt/. L'archive tar va extraire les fichiers dans un dossier comportant le numéro de version.
ligne 3 : si un lien /opt/arduino/ existait, détruit le lien sur /opt/arduino avec unlink
ligne 4 : réaliser un alias vers le dossier /opt/arduino. De cette manière, on s'affranchit du numéro de version. Nous pouvons également déployer de nouvelles versions sans perturber la précédente.
ligne 5 : exécuter le script install.sh qui permet de créer un raccourci sur le bureau graphique.
```bash [enable_line_numbers="true", start_line_numbers_at="1"] sudo tar -xvf arduino.tar.xz -C /opt sudo chown -R root:root /opt/arduino-1.8.13 sudo unlink /opt/arduino sudo ln -s /opt/arduino-1.8.13/ /opt/arduino sudo /opt/arduino/install.sh
## Problèmes rencontrés après le déploiement
### Droits sur tty et dialout
Il faut ajouter l'utilisateur de l'application **Arduino IDE** aux groupes `tty` et `dialout`. L'exemple suivant permet d'ajouter l'utilisateur `cedric` aux groupes `tty` et `dialout`.
Si vous venez de saisir les lignes de commandes `usermod`, vous devez redémarrer.
### Version de Java incorrecte
Le message suivant peut apparaître dans l'application **Arduino IDE** :
Il se peut que la version de Java ne soit pas bonne. Vous pouvez le vérifier avec `java -version`. Toutefois, un java est intégré avec l'application **Arduino IDE**. (`/opt/arduino/java/bin/java -version` me renvoie la version `java version "1.8.0_191"`).
Il faudra peut être toutefois changer les paramètres java de l'OS.
J'ai testé avec OpenJDK Java 8 avec succès. Par contre Java 10 et 11 ne sont pas compatibles.
Pour procéder à l'installation de Java 8 et choisir par défaut cette version :
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
sudo apt-get remove brltty## Exécuter votre premier programme
Voici donc notre premier programme (celui qui est décrit dans la vidéo).
Cette suite d'instructions va faire clignoter une LED branchée sur la broche 13 de l'Arduino toutes les secondes.
Il n'est pas nécessaire de brancher une LED, car rappelez-vous, la LED sur la carte, mentionnée dans la [informatique:linux:materiel:arduino:presentation_de_l_arduino](informatique:linux:materiel:arduino:presentation_de_l_arduino.md), servira dans notre exemple sans forcément réalisée un montage électronique.
Lorsque vous utilisez le logiciel Arduino, il peut être trouvé en cliquant sur `Fichier => Exemples => 01.Basics => Blink`.
<WRAP clear/>
Vous pouvez également copier le code suivant dans votre éditeur :
```c basics-blink.c [enable_line_numbers="true", start_line_numbers_at="1"]
/*
Clignotement
Allume la LED pendant 1 seconde,
puis l'éteint pendant 0,5 seconde.
*/
// Numéro de la broche à laquelle est
// connectée la LED
int led = 13;
// le code dans cette fonction est exécuté une fois au début
void setup() {
// indique que la broche de la LED une sortie :
// on va modifier sa tension
pinMode(led, OUTPUT);
}
// le code dans cette fonction est exécuté en boucle
void loop() {
digitalWrite(led, HIGH); // allumer la LED (tension 5V sur la broche)
delay(1000); // attendre 1000ms = 1s
digitalWrite(led, LOW); // éteindre la LED (tension 0V sur la broche)
delay(1000); // attendre à nouveau 1seconde
}
Deux déclaration de fonctions sont obligatoires : - setup - loop
Dans ce bout de code, nous appelons trois fonctions : - digitalWrite - pinMode - delay
Pour exécuter ce bout de code, il faudra brancher l'Arduino sur port USB et sélectionner dans le menu Outils => Port, sélectionner /dev/ttyACMO.