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
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
arduino [Le 27/11/2016, 18:07]
82.230.72.93 [Utilisation des ports série du menu] ajout sudo
arduino [Le 18/08/2017, 00:42]
Fabux [Problèmes connus] sudo gedit saymal. Légère mise en forme de la note dans problème
Ligne 1: Ligne 1:
-{{tag>Maverick ​matériel_libre robotique}}+{{tag>Xenial ​matériel_libre robotique}}
 ---- ----
  
Ligne 9: Ligne 9:
  
  
-Arduino fournit un utilitaire graphique, ainsi qu'une bibliothèque de fonctions ​permettant de programmer les cartes.+Arduino fournit un utilitaire graphique, ainsi qu'une bibliothèque de librairies ​permettant de programmer les cartes ​et des périphériques simples.
  
 ===== Installation ===== ===== Installation =====
Ligne 16: Ligne 16:
  
 Depuis Ubuntu 10.10 le paquet Arduino est présent dans les dépôts Universe d'​Ubuntu.\\ Depuis Ubuntu 10.10 le paquet Arduino est présent dans les dépôts Universe d'​Ubuntu.\\
-Pour l'​installer,​ il suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​arduino|arduino]]**. +Pour l'​installer,​ il suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​arduino|arduino]]**.\\ 
-Sous Ubuntu 14.10 (et peut être d'autres versions) le paquet des dépôts est une vielle version 1:1.0.5. Il est réellement intéressant de préférer ​la version ​plus récente ​du site officiel ​selon la méthode ci-dessous.+La version présente dans le dépôt n'est pas toujours la plus récente, il peut être intéressant ​d'installer ​la dernière ​version ​depuis l'​archive ​du site officiel ​en suivant ​la méthode ​décrite ​ci-dessous.
  
 Depuis [[precise|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'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​arduino-mk|arduino-mk]]**. Depuis [[precise|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'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​arduino-mk|arduino-mk]]**.
Ligne 24: Ligne 24:
 Pour installer Arduino à partir de l'​archive officielle : Pour installer Arduino à partir de l'​archive officielle :
  
-  * télécharger l'​archive .tgz (choisir "32 bit" ou "64 bits" selon votre [[architecture_materielle|architecture]]) sur [[http://code.google.com/p/arduino/downloads/list|le site officiel]]+  * télécharger l'​archive .tgz (choisir "32 bit" ou "64 bits" selon votre [[architecture_materielle|architecture]]) sur [[https://www.arduino.cc/en/Main/Software|le site officiel]]
   * [[archivage|extraire l'​archive]]   * [[archivage|extraire l'​archive]]
-  * [[:​droits|rendre exécutable]] ​le fichier ​'arduino+  * lancer ​le script "​install.sh"​ de l'archive, vous n'avez qu'à glisser-déposer le fichier dans un terminal et appuyer sur "​Entrée"​ (ctrl-alt-t pour ouvrir un terminal) 
-  * lancer ​le fichier ​'​arduino'​ +  * Un raccourcis "​Arduino IDE" sera créé sur votre bureau, vous devez le rendre exécutable en faisant clic droit → Propriété → Permission → cochez "​autorisez l'exécution du fichier comme un programme"​ 
-**(en)** [[http://​www.arduino.cc/​playground/​Linux/​Ubuntu|Plus d'informations sur l'​installation d'​Arduino pour Ubuntu ​sur le site Arduino]].+  * lancez le logiciel du raccourcis 
 + 
 +**(en)** [[https://​www.arduino.cc/​en/​Guide/​Linux|Installation d'Arduino IDE sous linux sur le site officiel]] 
 +**(en)** [[http://​www.arduino.cc/​playground/​Linux/​Ubuntu|Pour les plus anciennes versions ​d'​Ubuntu]].
  
 ==== Utilisation des ports série du menu==== ==== Utilisation des ports série du menu====
-Le port série n'est pas accessible tant que l'utilisateur n'a pas été ajouté ​aux groupes ​"​tty"​ et "​dialout"​+Les nouvelles versions du logiciel vous demanderons lors de la première exécution de vous authentifier pour vous donner ​l'autorisation d'accéder ​aux ports série en vous ajoutant aux groupe ​"​tty"​ et "​dialout"​. Notez que vous devez vous déconnecter et vous reconnecter pour que les changements soient effectifs. 
 + 
 +Si pour une raison ou pour une autre l'​utilitaire échoue à l'​ajout du groupe, vous pouvez le faire manuellement:​
 <​code>​ sudo usermod -a -G tty Nom_Utilisateur </​code>​ <​code>​ sudo usermod -a -G tty Nom_Utilisateur </​code>​
 <​code>​ sudo usermod -a -G dialout Nom_Utilisateur </​code>​ <​code>​ sudo usermod -a -G dialout Nom_Utilisateur </​code>​
Ligne 37: Ligne 42:
  
 ==== Problèmes connus ==== ==== Problèmes connus ====
-<note important>​Ce problème n'a pas été rencontré avec une carte arduino (R3) - ubuntu ​12-10</​note>​+<note important>​Il semble que ce problème soit résolu avec les nouvelles versions d'​Arduino IDE (à confirmer) le problème n'a pas été rencontré avec une carte arduino (R3) sous Ubuntu ​12.10 ni sous Ubuntu 14.04 ou sous 16.04</​note>​ 
 Problème de micro-logiciel utilisé pour la communication par le port USB : Sur les Duemilanove,​ le CI utilisé pour la communication Série USB entre Arduino et le port USB était un CI FTDI qui fonctionne très bien.\\ Avec la version Arduino UNO, ce CI a été remplacé par un nouveau CI dédié utilisant un micro-logiciel dédié. Ce changement entraîne des problèmes de communication entre le PC et la carte Arduino Uno sous Ubuntu. Ceci est vrai pour les versions avant mai 2011 apparemment.\\ Problème de micro-logiciel utilisé pour la communication par le port USB : Sur les Duemilanove,​ le CI utilisé pour la communication Série USB entre Arduino et le port USB était un CI FTDI qui fonctionne très bien.\\ Avec la version Arduino UNO, ce CI a été remplacé par un nouveau CI dédié utilisant un micro-logiciel dédié. Ce changement entraîne des problèmes de communication entre le PC et la carte Arduino Uno sous Ubuntu. Ceci est vrai pour les versions avant mai 2011 apparemment.\\
 Sur ces versions de carte Arduino UNO antérieures à mai 2011, il est nécessaire de mettre à jour le micrologiciel de communication USB de la carte UNO, ce qui se fait par le port USB. Voir [[http://​arduino.cc/​en/​Hacking/​DFUProgramming8U2|cette page du projet]] décrivant la manipulation ainsi que [[http://​www.mon-club-elec.fr/​pmwiki_reference_arduino/​pmwiki.php?​n=Main.MaterielUnoMAJFirmwareUSB|ce site en français]] qui explique très bien les opérations à faire. Sur ces versions de carte Arduino UNO antérieures à mai 2011, il est nécessaire de mettre à jour le micrologiciel de communication USB de la carte UNO, ce qui se fait par le port USB. Voir [[http://​arduino.cc/​en/​Hacking/​DFUProgramming8U2|cette page du projet]] décrivant la manipulation ainsi que [[http://​www.mon-club-elec.fr/​pmwiki_reference_arduino/​pmwiki.php?​n=Main.MaterielUnoMAJFirmwareUSB|ce site en français]] qui explique très bien les opérations à faire.
  
-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)[[http://​playground.arduino.cc/​Linux/​All|Installation of arduino on all Linux version]]). En simplifiant : +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)[[http://​playground.arduino.cc/​Linux/​All|Installation of arduino on all Linux version]]). En simplifiant : 
-  * Récupérer les identifiants du vendeur et du produit ​avec lsusb -v : XXXX et YYYYY +  * Récupérer les identifiants du vendeur et du produit ​en saisissant dans un [[:​terminal]]:​ <​code>​lsusb -v</​code>​ qui répondra par exemple <​code>​Bus 003 Device 002ID XXXX:​YYYY</​code> ​ 
-  * Créer le lien avec le port : en superutilisateur,​ on créée ​le fichier /​etc/​udev/​rules.d/​99-arduino.rules ​(sudo gedit /​etc/​udev/​rules.d/​99-arduino.rules) +  * Créer le lien avec le port : avec [[:sudo|les droits ​superutilisateur]], on [[:​tutoriel:​comment_modifier_un_fichier|crée]] ​le fichier ​**/​etc/​udev/​rules.d/​99-arduino.rules** 
-     * On y place : <code>​SUBSYSTEMS=="​usb",​ ATTRS{idProduct}=="​YYYY",​ ATTRS{idVendor}=="​XXXX",​ SYMLINK+="​ttyACM%n"​ </code> en remplaçant XXXX ET YYYY +     * On y place : <file>​SUBSYSTEMS=="​usb",​ ATTRS{idProduct}=="​YYYY",​ ATTRS{idVendor}=="​XXXX",​ SYMLINK+="​ttyACM%n"​ </file> en remplaçant XXXX ET YYYY par vos valeurs précédemment récupérées 
-     * On fait charger le module ​cdc_acm ​au démarrage. ​Dans le fichier /​etc/​modules, en superutilisateur,​ on rajoute ​la ligne  ​(sudo gedit /​etc/​modules) ​<code>​cdc_acm</​code>+     * On fait charger le module ​´´cdc_acm´´ ​au démarrage. ​Avec les [[:​sudo|droits du superutilisateur]] , [[:​tutoriel:​comment_modifier_un_fichier|modifier ​le fichier]] **/​etc/​modules** pour ajouter ​la ligne  <file>​cdc_acm</​file>
   * On rend le port accessible à l'​utilisateur : ce port est dans le groupe dialout.   * On rend le port accessible à l'​utilisateur : ce port est dans le groupe dialout.
       * On rattache l'​utilisateur au groupe dialout : tableau de bord/​Système/​Utilisateurs et groupes - Gérer les groupes - sélectionner dialout et cliquer sur Propriétés - cocher l'​utilisateur       * On rattache l'​utilisateur au groupe dialout : tableau de bord/​Système/​Utilisateurs et groupes - Gérer les groupes - sélectionner dialout et cliquer sur Propriétés - cocher l'​utilisateur
-  * On reboot, on branche l'​Arduino et on vérifie avec dmesg dans une console que l'on a quelque chose comme : cdc_acm 3-1:1.0: ttyACM0: USB ACM device+  * On reboot, on branche l'​Arduino et on vérifie avec ´´dmesg´´ ​dans une console que l'on a quelque chose comme : <​code>​cdc_acm 3-1:1.0: ttyACM0: USB ACM device</​code>​
   * On lance le logiciel Arduino et dans Menu Outils/​Ports série, on sélectionne /​dev/​ttyACM0   * On lance le logiciel Arduino et dans Menu Outils/​Ports série, on sélectionne /​dev/​ttyACM0
 <note tip> <note tip>
Ligne 62: Ligne 68:
  
 === Installation === === Installation ===
-[[apt://gcc-avr | avr-libc | avrdude | binutils-avr]] FIXME à vérifier s'il ne s'agit pas plutôt de **[[apt>gcc-avr,​avr-libc,​avrdude,​binutils-avr|gcc-avr ​| avr-libc | avrdude | binutils-avr]]**+[[apt://​avr-gcc | avr-libc | avrdude | binutils-avr]]
  
 === Compilation === === Compilation ===
Ligne 75: Ligne 81:
  
  
-=== Programmateur ​=== +=== Programmeur ​=== 
-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.\\ +La programmation de la carte se fait avec avrdude. Il faut lui spécifier le programmeur, 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"​.\\+Dans notre exemple le programmeur ​est un "​stk500v2",​ mais un type de programmeur ​plus spécifique a été créé : "​arduino"​.\\
 Le micro-controleur sera cette fois-ci : m328p. Le micro-controleur sera cette fois-ci : m328p.
-<note tip> Là encore, la liste des micro-controlleurs et programmateur ​supportés se trouve dans le manuel: <​code>​ man avrdude </​code>​ </​note>​+<note tip> Là encore, la liste des micro-controlleurs et programmeur ​supportés se trouve dans le manuel: <​code>​ man avrdude </​code>​ </​note>​
 Vous aurez par exemple : Vous aurez par exemple :
 <​code>​ sudo avrdude -c arduino -p m328p  -P /dev/cuaU0 -U flash:​w:​main.hex </​code>​ <​code>​ sudo avrdude -c arduino -p m328p  -P /dev/cuaU0 -U flash:​w:​main.hex </​code>​
Ligne 96: Ligne 102:
 =====Voir aussi===== =====Voir aussi=====
   * [[http://​www.mon-club-elec.fr/​pmwiki_reference_arduino/​pmwiki.php?​n=Main.HomePage|Une version française du site Arduino]]   * [[http://​www.mon-club-elec.fr/​pmwiki_reference_arduino/​pmwiki.php?​n=Main.HomePage|Une version française du site Arduino]]
-  * Le tutoriel Arduino pour les débutants sur le [[http://fr.openclassrooms.com/​sciences/cours/​arduino-pour-bien-commencer-en-electronique-et-en-programmation|OpenClassrooms]] (ex Site du Zero). Version à jour sur [[http://​eskimon.fr/​category/​arduino|Le blog d'​Eskimon]],​ l'​auteur du tutoriel.+  * Le tutoriel Arduino pour les débutants sur [[https://​openclassrooms.com/​courses/programmez-vos-premiers-montages-avec-arduino|OpenClassrooms]] (ex Site du Zero).
   * [[http://​fr.flossmanuals.net/​arduino/​|Manuel français sur arduino]] et l'​électronique libre, réalisé par Flossmanuals Francophone   * [[http://​fr.flossmanuals.net/​arduino/​|Manuel français sur arduino]] et l'​électronique libre, réalisé par Flossmanuals Francophone
   * [[http://​blog.ardublock.com/​]] Ardublock programmation graphique de l'​arduino.   * [[http://​blog.ardublock.com/​]] Ardublock programmation graphique de l'​arduino.
  
 ---- ----
-//​Contributeurs : [[:​utilisateurs:​mimilus|mimilus]],​ gduteil, pygmee, samcelia.//+//​Contributeurs : [[:​utilisateurs:​mimilus|mimilus]],​[[:​utilisateurs:​sivolc73]], gduteil, pygmee, samcelia.//
  • arduino.txt
  • Dernière modification: Le 02/11/2023, 10:45
  • par eldino