{"id":165,"date":"2020-03-21T17:25:32","date_gmt":"2020-03-21T16:25:32","guid":{"rendered":"http:\/\/www.ardpylab.fr\/?page_id=165"},"modified":"2020-05-09T17:47:55","modified_gmt":"2020-05-09T15:47:55","slug":"initiation-au-langage-arduino","status":"publish","type":"page","link":"https:\/\/www.ardpylab.fr\/?page_id=165","title":{"rendered":"Initiation au langage ARDUINO"},"content":{"rendered":"\n<p>Dans le logiciel \u00ab\u00a0ARDUINO IDE\u00a0\u00bb, de nombreux exemples\npr\u00e9-enregistr\u00e9s peuvent \u00eatre charg\u00e9s et test\u00e9s. Ils permettent de se\nfamiliariser plus rapidement avec le langage \u00ab\u00a0ARDUINO\u00a0\u00bb. <\/p>\n\n\n\n<p>Pour commencer, nous allons \u00e9tudier le programme le plus simple. Il\ns\u2019agit du programme \u00ab\u00a0Blink\u00a0\u00bb qui fait clignoter la Led L int\u00e9gr\u00e9e \u00e0 la\ncarte Arduino et connect\u00e9e \u00e0 la broche 13. <\/p>\n\n\n\n<p>Pour ouvrir le programme&nbsp;: Faire <strong>Fichier &gt; Exemples &gt;01.Basics &gt; Blink<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"438\" height=\"273\" class=\"wp-image-166 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-20.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-20.png 438w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-20-300x187.png 300w\" sizes=\"auto, (max-width: 438px) 100vw, 438px\" \/><\/figure>\n<\/div>\n<p>\u00a0<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp;<\/p>\n\n\n\n<p>Le programme est alors affich\u00e9&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-29.png\" alt=\"\" class=\"wp-image-172\" width=\"647\" height=\"239\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-29.png 761w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-29-300x111.png 300w\" sizes=\"auto, (max-width: 647px) 100vw, 647px\" \/><\/figure>\n\n\n\n<h4>&nbsp;<\/h4>\n<h4><span style=\"color: #3366ff;\"><strong>Structure de base d&rsquo;un programme<\/strong><\/span><\/h4>\n\n\n\n<p>On remarque que ce programme est s\u00e9par\u00e9 en 2 parties&nbsp;:<\/p>\n\n\n\n<p>. <span style=\"text-decoration: underline;\">une fonction<strong> setup()<\/strong><\/span><\/p>\n\n\n\n<p>Cette fonction est appel\u00e9e au d\u00e9marrage du programme. Elle est utilis\u00e9e pour initialiser des variables pr\u00e9alablement d\u00e9clar\u00e9e, configurer le sens des broches. <br>La fonction setup n&rsquo;est ex\u00e9cut\u00e9e qu&rsquo;une seule fois, apr\u00e8s chaque mise sous tension ou reset (r\u00e9initialisation) de la carte Arduino.<\/p>\n\n\n\n<p> <strong>Syntaxe de la fonction :<\/strong> <\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>void setup()<br> { <br> }<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p> <strong>Ici, on d\u00e9finit que la broche 13, reli\u00e9e \u00e0 la <strong>DEL<\/strong><\/strong> <strong>\u00ab\u00a0LED_BUILTIN\u00a0\u00bb, sera utilis\u00e9e en sortie (OUTPUT).<\/strong> <\/p>\n\n\n\n<p>&nbsp;<\/p>\n<p><strong>. <\/strong><span style=\"text-decoration: underline;\">une fonction<strong> loop()<\/strong><\/span><\/p>\n\n\n\n<p>La fonction loop () (boucle en anglais) fait exactement ce que son nom sugg\u00e8re et ex\u00e9cute en boucle sans fin ses instructions pour contr\u00f4ler la carte Arduino.<\/p>\n\n\n\n<p> <strong>Syntaxe de la fonction :<\/strong>  <\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>void loop()<br> {<br> } <\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Ici elle applique une tension de 5V (HIGH) sur la broche 13, attend 1s (1000 ms), applique ensuite une tension de 0V (LOW) et attend encore 1s.<\/strong><\/p>\n\n\n\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline;\">Remarques<\/span>:<\/p>\n\n\n\n<p>. Dans tout programme pour Arduino, cod\u00e9 en langage \u00ab\u00a0Arduino\u00a0\u00bb, ces deux fonctions sont obligatoires.<\/p>\n\n\n\n<p>. En C\/C++, les instructions sont s\u00e9par\u00e9es par des points virgules \u00ab\u00a0<strong>;<\/strong>\u00a0\u00bb et les blocs de code sont encadr\u00e9s par des accolades <strong>{ }<\/strong>. <\/p>\n\n\n\n<p>. Une variable doit toujours \u00eatre d\u00e9clar\u00e9e avec son type. Les types de variables couramment utilis\u00e9s sont:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-174 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-30.png\" alt=\"\" width=\"360\" height=\"297\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-30.png 479w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-30-300x247.png 300w\" sizes=\"auto, (max-width: 360px) 100vw, 360px\" \/><\/figure>\n<\/div>\n<p>\u00a0<\/p>\n\n\n\n<p><br>. G\u00e9n\u00e9ralement, en plus des deux fonctions obligatoires, le programme comporte \u00e9galement au d\u00e9but, une partie d\u00e9clarative (Inclusion des librairies, d\u00e9claration des constantes et variables globales):<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"502\" height=\"461\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-31.png\" alt=\"\" class=\"wp-image-175\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-31.png 502w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-31-300x275.png 300w\" sizes=\"auto, (max-width: 502px) 100vw, 502px\" \/><\/figure><\/div>\n\n\n\n<p>Les\nvariables, <strong>d\u00e9clar\u00e9es en d\u00e9but de programme et en dehors des fonctions sont\ndites globales <\/strong>parce qu\u2019elles sont accessibles et modifiables depuis\nn\u2019importe quel endroit du code.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n<p>Apr\u00e8s avoir vu le principe du d\u00e9roulement d\u2019un programme en langage Arduino, nous allons maintenant nous int\u00e9resser aux bases de la programmation.<\/p>\n\n\n\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<\/p>\n\n\n<div  class=\"grids-section grids-is-stretch\" style=\"--_gs-gap-desktop:0px 0px;--_gs-m-desktop:0 0 0 0;--_gs-p-desktop:0 0 0 0;--_gs-bg-desktop:transparent none;--_gs-bg-xp-desktop:0px;--_gs-zi-desktop:auto;--_gs-d-desktop:block;--_gs-mw-desktop:calc(100% - 0 - 0);--_gs-gap-tablet:0px 0px;--_gs-m-tablet:0 0 0 0;--_gs-p-tablet:0 0 0 0;--_gs-bg-tablet:transparent none;--_gs-bg-xp-tablet:0px;--_gs-zi-tablet:auto;--_gs-d-tablet:block;--_gs-mw-tablet:calc(100% - 0 - 0);--_gs-gap-mobile:0px 0px;--_gs-m-mobile:0 0 0 0;--_gs-p-mobile:0 0 0 0;--_gs-bg-mobile:transparent none;--_gs-bg-xp-mobile:0px;--_gs-zi-mobile:auto;--_gs-d-mobile:block;--_gs-mw-mobile:calc(100% - 0 - 0);--_gs-columns:2;--_gs-rows:1\"><div class=\"grids-s-w_i\">\n<div class=\"grids-area\" style=\"--_ga-column:1\/2;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<div class=\"wp-block-image\"><figure class=\"alignleft size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=135\"><img loading=\"lazy\" decoding=\"async\" width=\"50\" height=\"28\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/moins.jpg\" alt=\"\" class=\"wp-image-107\"\/><\/a><\/figure><\/div>\n\n<\/div>\n\n<div class=\"grids-area\" style=\"--_ga-column:2\/3;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=1533\"><img loading=\"lazy\" decoding=\"async\" width=\"50\" height=\"28\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/plus.jpg\" alt=\"\" class=\"wp-image-106\"\/><\/a><\/figure><\/div>\n\n<\/div>\n<\/div><\/div>\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Dans le logiciel \u00ab\u00a0ARDUINO IDE\u00a0\u00bb, de nombreux exemples pr\u00e9-enregistr\u00e9s peuvent \u00eatre charg\u00e9s et test\u00e9s. Ils permettent de se familiariser plus rapidement avec le langage \u00ab\u00a0ARDUINO\u00a0\u00bb. Pour commencer, nous allons \u00e9tudier le programme le plus simple. Il s\u2019agit du programme \u00ab\u00a0Blink\u00a0\u00bb qui fait clignoter la Led L int\u00e9gr\u00e9e \u00e0 la carte Arduino et connect\u00e9e \u00e0 la [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-165","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=165"}],"version-history":[{"count":0,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/165\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}