electronique:arduino:105-installation-du-logiciel-arduino-ide

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
electronique:arduino:105-installation-du-logiciel-arduino-ide [2022/08/15 18:34] – [3.1 Droits sur tty et dialout] Cédric ABONNELelectronique:arduino:105-installation-du-logiciel-arduino-ide [2023/02/19 07:54] (Version actuelle) Cédric ABONNEL
Ligne 1: Ligne 1:
 +====== Installer le logiciel Arduino IDE sous Linux ======
  
 +<WRAP center round tip 100%>
 +Cet article a été testé avec les distributions suivantes
 +  * **Linux Mint 19 64 bits**
 +  * **Linux Debian 9.6 (stretch) 64 bits**
 +  * **MX Linux 18.3** basé sur Linux Debian 9
 +  * **Zorin OS 16.1** basé sur Linux Debian
 +
 +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 : 15 août 2022
 +</WRAP>
 +
 +Il faut télécharger la version 1.8.19. 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.
 +
 +{{ electronique:arduino:arduino_software_1.8.7.png?400 |}}
 +
 +
 +===== - 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.
 +
 +<code>
 +wget -O arduino.tar.xz https://downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz
 +</code>
 +
 +{{ electronique:arduino:terminal_install_arduino.png?400 |Téléchargement de l'application **Arduino IDE** dans une fenêtre de Terminal}}
 +
 +
 +===== - 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 [[informatique:linux:commandes:alias|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.
 +
 +<code 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.19
 +sudo unlink /opt/arduino
 +sudo ln -s /opt/arduino-1.8.19/ /opt/arduino
 +sudo /opt/arduino/install.sh
 +</code>
 +
 +
 +
 +===== - 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''.
 +
 +<code>
 +sudo usermod -a -G tty $USER
 +sudo usermod -a -G dialout $USER
 +</code>
 +
 +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** :
 +<code>
 +java.lang.NullPointerException thrown while loading gnu.io.RXTXCommDriver
 +</code>
 +
 +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 :
 +
 +<code>
 +sudo apt-get update 
 +
 +sudo apt-get install openjdk-8-jdk
 +
 +sudo update-alternatives --config java
 +</code>
 +
 +{{ electronique:arduino:terminal_alternatives_config_java.png?noLink |}}
 +
 +
 +
 +
 +
 +
 +
 +==== - Serial port not selected ====
 +
 +
 +Dans certains cas, sous Mint, il faut désinstaller ''brltty''
 +
 +<code>
 +sudo apt-get remove brltty
 +</code>
 +
 +
 +
 +==== - Aucune carte n'est détectée ====
 +{{ :electronique:arduino:pasted:20220128-074733.png?250}}
 +
 +Le câble USB peut être également non cablé pour les données (data)
 +
 +<WRAP clear/>
 +
 +Pour rappel, voici le cablage d'un port USB
 +
 +{{ :electronique:arduino:pasted:20220128-075003.png }}
 +
 +
 +
 +===== - 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]], 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 :
 +
 +<code 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
 +}
 +</code>
 +
 +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''.
  • electronique/arduino/105-installation-du-logiciel-arduino-ide.txt
  • Dernière modification : 2023/02/19 07:54
  • de Cédric ABONNEL