{"id":937,"date":"2010-06-26T14:11:46","date_gmt":"2010-06-26T12:11:46","guid":{"rendered":"http:\/\/linux.leunen.com\/?p=937"},"modified":"2010-06-26T14:11:46","modified_gmt":"2010-06-26T12:11:46","slug":"utiliser-un-arduino-sous-linux","status":"publish","type":"post","link":"https:\/\/www.leunen.com\/linux\/2010\/06\/utiliser-un-arduino-sous-linux\/","title":{"rendered":"Utiliser un Arduino sous Linux"},"content":{"rendered":"<p>Il y avait longtemps que j&rsquo;avais envie de me remettre \u00e0 la programmation de microcontr\u00f4leurs. Apr\u00e8s avoir regard\u00e9 du c\u00f4t\u00e9 des <em>PIC<\/em>, je me suis tourn\u00e9 vers l&rsquo;<a href=\"http:\/\/www.arduino.cc\">Arduino<\/a>.<br \/>\nIl se pr\u00e9sente sous la forme d&rsquo;un circuit \u00e9lectronique contenant le microcontr\u00f4leur <em>Atmega328P<\/em> de <em>Atmel<\/em> et d&rsquo;une interface USB permettant de le programmer. Il est possible de t\u00e9l\u00e9charger sur le site un IDE permettant la programmation de l&rsquo;<em>Arduino<\/em> en utilisant un langage d\u00e9velopp\u00e9 pour lui et qui ressemble basiquement au C.<br \/>\nL&rsquo;avantage de l&rsquo;<em>Arduino<\/em> est qu&rsquo;il dispose de tout ce qu&rsquo;il faut d\u00e8s le d\u00e9part. Pas besoin de programmateur ni d&rsquo;alimentation; celle-ci est assur\u00e9e soit par un bloc secteur (non fourni) soit par l&rsquo;interface USB. Le contr\u00f4leur <em>Atmega328P<\/em> qui l&rsquo;\u00e9quipe est dot\u00e9 d&rsquo;entr\u00e9es\/sorties, d&rsquo;un port s\u00e9rie, de sorties PWM, d&rsquo;entr\u00e9es analogiques pour capteurs; bref de tout ce qu&rsquo;il faut pour rendre un \u00e9lectronicien heureux.<br \/>\n<center><img loading=\"lazy\" src=\"http:\/\/linux.leunen.com\/wp-content\/uploads\/2010\/06\/arduino.jpg\" alt=\"Arduino et carte ethernet\" title=\"arduino\" width=\"400\" height=\"268\" class=\"size-full wp-image-938\" srcset=\"https:\/\/www.leunen.com\/linux\/wp-content\/uploads\/2010\/06\/arduino.jpg 400w, https:\/\/www.leunen.com\/linux\/wp-content\/uploads\/2010\/06\/arduino-300x201.jpg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/center><br \/>\nSur l&rsquo;image ci-dessus, vous pouvez voir l&rsquo;<em>Arduino duemilanove<\/em> (il existe d&rsquo;autres mod\u00e8les mais celui-ci peut \u00eatre consid\u00e9r\u00e9 comme le mod\u00e8le de base) surmont\u00e9 de sa carte ethernet. Celle-ci me permettra d&rsquo;interroger l&rsquo;<em>Arduino<\/em> \u00e0 distance.<\/p>\n<p>Sous Ubuntu Lucid, aucun probl\u00e8me pour faire fonctionner et programmer l&rsquo;<em>Arduino<\/em>. A noter que contrairement \u00e0 Windows, aucun driver ne doit \u00eatre install\u00e9 puisque le driver <em>FTDI<\/em> n\u00e9cessaire \u00e0 l&rsquo;USB est compris dans le noyau. Il suffit donc d&rsquo;installer les paquets permettant d&rsquo;utiliser <em>gcc<\/em> pour compiler du code <em>AVR<\/em>:<\/p>\n<pre class=\"codesource\">\r\n$ sudo aptitude install avr-libc gcc-avr gdb-avr binutils-avr\r\n<\/pre>\n<p>Ensuite, <a href=\"http:\/\/arduino.cc\/en\/Main\/Software\">t\u00e9l\u00e9chargez<\/a> sur le site l&rsquo;IDE qui vous permettra d&rsquo;\u00e9crire, de mettre au point et d&rsquo;uploader le code. Cette application est \u00e9crite en java et le site recommande d&rsquo;installer le paquet sun-java6-jre mais le programme fonctionne tr\u00e8s bien avec la version <em>openjdk<\/em> de base d&rsquo;Ubuntu. D\u00e9compressez l&rsquo;archive, cr\u00e9ez une entr\u00e9e dans le menu programmation et le tour est jou\u00e9:<\/p>\n<pre class=\"codesource\">\r\n$ sudo tar -C \/opt -zxvf arduino-0018.tgz\r\n<\/pre>\n<p>Il se peut que vous deviez vous ajouter au groupe <em>dialout<\/em>:<\/p>\n<pre class=\"codesource\">\r\nsudo useradd -G dialout votre_login\r\n<\/pre>\n<p>Ensuite, lancez l&rsquo;IDE et connectez l&rsquo;<em>Arduino<\/em> \u00e0 un port USB. Dans l&rsquo;IDE, il faut via le menu <em>Tools<\/em> d\u00e9finir le mod\u00e8le d&rsquo;<em>Arduino<\/em> utilis\u00e9 et le port s\u00e9rie. Dans Ubuntu, le port est \/dev\/USB0. <\/p>\n<p>Mon exemplaire de l&rsquo;<em>Arduino<\/em> a \u00e9t\u00e9 command\u00e9 chez <a href=\"http:\/\/www.antratek.be\">Antratek<\/a>. Excellent service (ce qui vaut la peine d&rsquo;\u00eatre signal\u00e9) et livr\u00e9 3 jours apr\u00e8s la commande. Attention, le site est en N\u00e9\u00e9rlandais uniquement !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il y avait longtemps que j&rsquo;avais envie de me remettre \u00e0 la programmation de microcontr\u00f4leurs. Apr\u00e8s avoir regard\u00e9 du c\u00f4t\u00e9 des PIC, je me suis tourn\u00e9 vers l&rsquo;Arduino. Il se pr\u00e9sente sous la forme d&rsquo;un circuit \u00e9lectronique contenant le microcontr\u00f4leur Atmega328P de Atmel et d&rsquo;une interface USB permettant de le programmer. Il est possible de [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/937"}],"collection":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/comments?post=937"}],"version-history":[{"count":5,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/937\/revisions"}],"predecessor-version":[{"id":943,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/937\/revisions\/943"}],"wp:attachment":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/media?parent=937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/categories?post=937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/tags?post=937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}