137 lines
5.3 KiB
Markdown
137 lines
5.3 KiB
Markdown
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
|
|
|
|
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.
|
|
|
|

|
|
|
|
## - 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.
|
|
|
|
```
|
|
wget -O arduino.tar.xz https:*downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz
|
|
```
|
|
|
|

|
|
|
|
## - 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.
|
|
|
|
<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`.
|
|
|
|
```
|
|
sudo usermod -a -G tty $USER
|
|
sudo usermod -a -G dialout $USER
|
|
```
|
|
|
|
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** :
|
|
```
|
|
java.lang.NullPointerException thrown while loading gnu.io.RXTXCommDriver
|
|
```
|
|
|
|
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 update
|
|
|
|
sudo apt-get install openjdk-8-jdk
|
|
|
|
sudo update-alternatives --config java
|
|
```
|
|
|
|

|
|
|
|
### - Serial port not selected
|
|
Dans certains cas, sous Mint, il faut désinstaller `brltty`
|
|
|
|
```
|
|
sudo apt-get remove brltty
|
|
```
|
|
|
|
### - Aucune carte n'est détectée
|
|

|
|
|
|
Le câble USB peut être également non cablé pour les données (data)
|
|
|
|
Pour rappel, voici le cablage d'un port USB
|
|
|
|

|
|
|
|
## - 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 , 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`.
|
|
|
|
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`. |