{"id":2584,"date":"2019-08-28T09:57:10","date_gmt":"2019-08-28T07:57:10","guid":{"rendered":"https:\/\/www.breizh56.fr\/crepp2024\/?page_id=2584"},"modified":"2019-12-10T12:18:33","modified_gmt":"2019-12-10T11:18:33","slug":"arddeb01-2mce-led","status":"publish","type":"page","link":"https:\/\/www.breizh56.fr\/crepp2024\/arddeb01-2mce-led\/","title":{"rendered":"Arduino 2019-1.2.1 secours MCE LED 1"},"content":{"rendered":"<div class=\"sourceblocklink\" style=\"text-align: center;\">&#8212; Page secours copi\u00e9e de mon-club-elec.fr &#8212;<\/div>\n<div class=\"sourceblocklink\">@Xavier Hinault<\/div>\n<div class=\"sourceblocklink\">Par X. HINAULT &#8211; Cr\u00e9\u00e9 le 03\/02\/<strong>2010<\/strong><\/div>\n<div class=\"sourceblocklink\"><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_mon_club_elec\/pmwiki.php?n=MAIN.ArduinoInitiationLedsClignoterUneLed\">http:\/\/www.mon-club-elec.fr\/pmwiki_mon_club_elec\/pmwiki.php?n=MAIN.ArduinoInitiationLedsClignoterUneLed<\/a><\/div>\n<p>&nbsp;<\/p>\n<h2>1.\u2002 Pr\u00e9sentation<\/h2>\n<p>Ce programme tr\u00e8s simple permet de faire clignoter une LED sur une broche d&rsquo;une carte Arduino. Rien de tr\u00e8s extraordinaire, mais quand on a r\u00e9ussi \u00e0 programmer ce premier programme tr\u00e8s simple, on est content ! Un moyen simple aussi de v\u00e9rifier que tout fonctionne normalement.<\/p>\n<div class=\"vspace\"><\/div>\n<h2><a id=\"toc2\" name=\"toc2\"><\/a>2.\u2002 Mat\u00e9riel N\u00e9cessaire<\/h2>\n<h3><a id=\"toc3\" name=\"toc3\"><\/a>2.1\u2002 L&rsquo;espace de d\u00e9veloppement Arduino<\/h3>\n<ul>\n<li>&#8230; pour \u00e9diter, compiler le programme et programmer la carte Arduino.<\/li>\n<\/ul>\n<div class=\"img imgonly\"><img decoding=\"async\" title=\"\" src=\"http:\/\/www.mon-club-elec.fr\/mes_images\/communs\/espace_arduino.gif\" alt=\"\" \/><\/div>\n<div class=\"vspace\"><\/div>\n<h3><a id=\"toc4\" name=\"toc4\"><\/a>2.2\u2002 Le mat\u00e9riel suivant pour r\u00e9aliser le montage associ\u00e9<\/h3>\n<ul>\n<li>une plaque d&rsquo;essai pour montage sans soudures,<\/li>\n<\/ul>\n<div class=\"img\"><img decoding=\"async\" title=\"\" src=\"http:\/\/www.mon-club-elec.fr\/mes_images\/communs\/plaque_experimentation.gif\" alt=\"\" \/><\/div>\n<div class=\"vspace\"><\/div>\n<ul>\n<li>des straps,<\/li>\n<\/ul>\n<div class=\"img imgonly\"><img decoding=\"async\" title=\"\" src=\"http:\/\/www.mon-club-elec.fr\/mes_images\/communs\/straps.gif\" alt=\"\" \/><\/div>\n<div class=\"vspace\"><\/div>\n<ul>\n<li>une LED rouge 5mm,<\/li>\n<\/ul>\n<div class=\"img imgonly\"><img decoding=\"async\" title=\"\" src=\"http:\/\/www.mon-club-elec.fr\/mes_images\/communs\/led_rouge_5mm.gif\" alt=\"\" \/><\/div>\n<div class=\"vspace\"><\/div>\n<ul>\n<li>une r\u00e9sistance 1\/4w de 200 Ohms environ,<\/li>\n<\/ul>\n<div class=\"img imgonly\"><img decoding=\"async\" title=\"\" src=\"http:\/\/www.mon-club-elec.fr\/mes_images\/communs\/resistance.gif\" alt=\"\" \/><\/div>\n<div class=\"vspace\"><\/div>\n<h2><a id=\"toc5\" name=\"toc5\"><\/a>3.\u2002 Instructions de montage<\/h2>\n<ul>\n<li>Connecter sur la broche 2 (configur\u00e9e en sortie) une LED et sa r\u00e9sistance (270 Ohms) en s\u00e9rie connect\u00e9e au 0V<\/li>\n<\/ul>\n<div class=\"vspace\"><\/div>\n<h2><a id=\"toc6\" name=\"toc6\"><\/a>4.\u2002 Le sch\u00e9ma th\u00e9orique du montage<\/h2>\n<div class=\"img imgcaption\"><img decoding=\"async\" title=\"\" src=\"http:\/\/www.mon-club-elec.fr\/mes_images\/schemas\/led\/ledx1.gif\" alt=\"\" \/><br \/>\n<span class=\"caption\">Le sch\u00e9ma th\u00e9orique du montage<\/span><\/div>\n<div class=\"vspace\"><\/div>\n<h2><a id=\"toc7\" name=\"toc7\"><\/a>5.\u2002 Le circuit du montage<\/h2>\n<div class=\"img imgcaption\"><img decoding=\"async\" title=\"\" src=\"http:\/\/www.mon-club-elec.fr\/mes_images\/montages\/led\/ledx1_pin2.gif\" alt=\"\" \/><br \/>\n<span class=\"caption\">Le sch\u00e9ma du montage \u00e0 r\u00e9aliser<\/span><\/div>\n<div class=\"vspace\"><\/div>\n<ul>\n<li>A noter que l&rsquo;on peut faire une telle connexion directe de la LED sur une broche de la carte Arduino car chaque broche de la carte Arduino peut fournir jusqu&rsquo;\u00e0 40mA, ce qui est suffisant pour allumer une LED. Un tel branchement direct est impossible avec les circuits int\u00e9gr\u00e9s num\u00e9riques classiques qui ne peuvent fournir que quelques mA, trop peu pour allumer une LED standard.<\/li>\n<li>Voir \u00e9galement la page : <a class=\"createlinktext\" href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_mon_club_elec\/pmwiki.php?n=MAIN.NonProgAllumerUneLed?action=edit\" rel=\"nofollow\">Allumer une LED<\/a><a class=\"createlink\" href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_mon_club_elec\/pmwiki.php?n=MAIN.NonProgAllumerUneLed?action=edit\" rel=\"nofollow\">?<\/a><\/li>\n<\/ul>\n<div class=\"vspace\"><\/div>\n<h2><a id=\"toc8\" name=\"toc8\"><\/a>6.\u2002 Explication du programme<\/h2>\n<h3><a id=\"toc9\" name=\"toc9\"><\/a>6.1\u2002 Structure globale du programme<\/h3>\n<p>Ce programme simple comprend :<\/p>\n<ul>\n<li>une ent\u00eate d\u00e9clarative<\/li>\n<li>une partie \u00ab configuration \u00bb qui ne sera ex\u00e9cut\u00e9e qu&rsquo;une fois (fonction setup( ) )<\/li>\n<li>une partie constitu\u00e9e d&rsquo;une boucle sans fin que le programme r\u00e9p\u00e8tera \u00e0 l&rsquo;infini ( fonction loop( ) ) : c&rsquo;est le coeur du programme.<\/li>\n<\/ul>\n<div class=\"vspace\"><\/div>\n<h3><a id=\"toc10\" name=\"toc10\"><\/a>6.2\u2002 D\u00e9roulement du programme<\/h3>\n<p>Le programme se d\u00e9roule de la fa\u00e7on suivante :<\/p>\n<ul>\n<li>Apr\u00e8s avoir pris en compte les instructions de la partie d\u00e9clarative,<\/li>\n<li>puis apr\u00e8s avoir ex\u00e9cut\u00e9 la partie configuration ( fonction setup( ) ),<\/li>\n<li>le programme bouclera sans fin ( fonction loop ( ) ), ex\u00e9cutant de fa\u00e7on r\u00e9p\u00e9t\u00e9e le code compris dans la boucle sans fin.<\/li>\n<\/ul>\n<div class=\"vspace\"><\/div>\n<div class=\"img imgcaption\"><img decoding=\"async\" title=\"\" src=\"http:\/\/www.mon-club-elec.fr\/mes_images\/communs\/deroulement_prog.gif\" alt=\"\" \/><br \/>\n<span class=\"caption\">Le d\u00e9roulement du programme<\/span><\/div>\n<div class=\"vspace\"><\/div>\n<h2><a id=\"toc11\" name=\"toc11\"><\/a>7.\u2002 Au niveau de la partie d\u00e9clarative :<\/h2>\n<h4>D\u00e9claration des constantes de broches<\/h4>\n<ul>\n<li>D\u00e9claration des constantes pour les broches utilis\u00e9es dans le programme : on appelle LED la broche utilis\u00e9e avec la LED.<\/li>\n<\/ul>\n<div class=\"vspace\"><\/div>\n<div id=\"sourceblock1\" class=\"sourceblock \">\n<div class=\"sourceblocktext\">\n<pre class=\"arduino\"><span class=\"kw4\">const<\/span> <span class=\"kw4\">int<\/span> LED<span class=\"sy0\">=<\/span><span class=\"nu0\">2<\/span><span class=\"sy0\">;<\/span> <span class=\"co1\">\/\/declaration constante de broche <\/span>\r\n<\/pre>\n<\/div>\n<div class=\"sourceblocklink\"><\/div>\n<\/div>\n<h2><a id=\"toc12\" name=\"toc12\"><\/a>8.\u2002 Au niveau de la fonction d&rsquo;initialisation setup( ) :<\/h2>\n<div class=\"vspace\"><\/div>\n<h4>configuration des broches utilis\u00e9es :<\/h4>\n<div class=\"vspace\"><\/div>\n<ul>\n<li>Configuration des broches en sortie : on configuer en sortie la broche utilis\u00e9e avec la LED.<\/li>\n<\/ul>\n<div class=\"vspace\"><\/div>\n<div id=\"sourceblock2\" class=\"sourceblock \">\n<div class=\"sourceblocktext\">\n<pre class=\"arduino\"><span class=\"kw3\">pinMode<\/span><span class=\"br0\">(<\/span>LED<span class=\"sy0\">,<\/span> <span class=\"kw2\">OUTPUT<\/span><span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span> <span class=\"co1\">\/\/met la broche en sortie <\/span>\r\n<\/pre>\n<\/div>\n<div class=\"sourceblocklink\"><\/div>\n<\/div>\n<h2><a id=\"toc13\" name=\"toc13\"><\/a>9.\u2002 Au niveau de la boucle principale, la fonction loop ( ) :<\/h2>\n<ul>\n<li>On commence par allumer la LED en mettant la broche au niveau HAUT (soit 5V) gr\u00e2ce \u00e0 la commande <a class=\"urllink\" href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.DigitalWrite\" rel=\"nofollow\">digitalWrite<\/a> (broche, etat)<\/li>\n<li>Ensuite, on r\u00e9alise une pause d&rsquo;une demi-seconde (soit 500 millisecondes ) gr\u00e2ce \u00e0 l&rsquo;instruction <a class=\"urllink\" href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_reference_arduino\/pmwiki.php?n=Main.Delay\" rel=\"nofollow\">delay<\/a>(duree_ms)<\/li>\n<li>Puis on \u00e9teint la LED en mettant la broche au niveau BAS (soit 0V)<\/li>\n<li>A nouveau, on r\u00e9alise une pause d&rsquo;une demi seconde.<\/li>\n<\/ul>\n<div class=\"vspace\"><\/div>\n<div id=\"sourceblock3\" class=\"sourceblock \">\n<div class=\"sourceblocktext\">\n<pre class=\"arduino\"><span class=\"kw3\">digitalWrite<\/span><span class=\"br0\">(<\/span>LED<span class=\"sy0\">,<\/span><span class=\"kw2\">HIGH<\/span><span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span> <span class=\"co1\">\/\/ met la broche au niveau haut (5V) \u2013 allume la LED<\/span>\r\n\r\n<span class=\"kw3\">delay<\/span><span class=\"br0\">(<\/span><span class=\"nu0\">500<\/span><span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span> <span class=\"co1\">\/\/ pause de 500 millisecondes (ms)<\/span>\r\n\r\n<span class=\"kw3\">digitalWrite<\/span><span class=\"br0\">(<\/span>LED<span class=\"sy0\">,<\/span><span class=\"kw2\">LOW<\/span><span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span> <span class=\"co1\">\/\/ met la broche au niveau bas (0V) \u2013 \u00e9teint la LED<\/span>\r\n\r\n<span class=\"kw3\">delay<\/span><span class=\"br0\">(<\/span><span class=\"nu0\">500<\/span><span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span> <span class=\"co1\">\/\/ pause de 500ms<\/span>\r\n\r\n<\/pre>\n<\/div>\n<div class=\"sourceblocklink\"><\/div>\n<\/div>\n<ul>\n<li>Le programme recommence en boucle les instructions de la fonction loop( ). Au final, la LED va s&rsquo;allumer puis s&rsquo;\u00e9teindre, puis s&rsquo;allumer, puis d&rsquo;\u00e9teindre, puis s&rsquo;allumer&#8230;. : la LED clignote.<\/li>\n<\/ul>\n<div class=\"vspace\"><\/div>\n<h2><a id=\"toc14\" name=\"toc14\"><\/a>10.\u2002 Mise en oeuvre du programme<\/h2>\n<h3><a id=\"toc15\" name=\"toc15\"><\/a>10.1\u2002 Pr\u00e9paration du montage et programmation de la carte Arduino :<\/h3>\n<ul>\n<li>Commencer par r\u00e9aliser le montage indiqu\u00e9 sur plaque d&rsquo;exp\u00e9rimentation<\/li>\n<li>Ensuite, programmer la carte Arduino avec ce programme (en bas de page) selon la proc\u00e9dure habituelle<\/li>\n<\/ul>\n<div class=\"vspace\"><\/div>\n<h3><a id=\"toc16\" name=\"toc16\"><\/a>10.2\u2002 Fonctionnement<\/h3>\n<ul>\n<li>La LED va s&rsquo;allumer puis s&rsquo;\u00e9teindre, puis s&rsquo;allumer, puis d&rsquo;\u00e9teindre, puis s&rsquo;allumer&#8230;. : la LED clignote.<\/li>\n<\/ul>\n<div class=\"vspace\"><\/div>\n<h2><a id=\"toc17\" name=\"toc17\"><\/a>11.\u2002 Le programme complet en langage Arduino :<\/h2>\n<p>A copier\/coller directement dans l&rsquo;\u00e9diteur Arduino<\/p>\n<div class=\"vspace\"><\/div>\n<div id=\"sourceblock4\" class=\"sourceblock \">\n<div class=\"sourceblocktext\">\n<pre class=\"arduino\"><span class=\"co1\">\/\/ --- Programme Arduino ---<\/span>\r\n<span class=\"co1\">\/\/ par X. HINAULT - 2010 <\/span>\r\n\r\n<span class=\"co1\">\/\/ --- Que fait ce programme ? ---<\/span>\r\n<span class=\"coMULTI\">\/* Fait clignoter une LED*\/<\/span>\r\n\r\n<span class=\"co1\">\/\/ --- Circuit \u00e0 r\u00e9aliser ---<\/span>\r\n<span class=\"co1\">\/\/ Connecter une LED en s\u00e9rie avec r\u00e9sistance sur la broche 2 (configur\u00e9e en sortie)<\/span>\r\n\r\n<span class=\"co1\">\/\/ --- Inclusion des librairies utilis\u00e9es ---<\/span>\r\n<span class=\"co1\">\/\/ ... <\/span>\r\n\r\n<span class=\"co1\">\/\/ --- D\u00e9claration des constantes ---<\/span>\r\n<span class=\"co1\">\/\/ ... <\/span>\r\n\r\n<span class=\"co1\">\/\/ --- constantes des broches ---<\/span>\r\n\r\n<span class=\"kw4\">const<\/span> <span class=\"kw4\">int<\/span> LED<span class=\"sy0\">=<\/span><span class=\"nu0\">2<\/span><span class=\"sy0\">;<\/span> <span class=\"co1\">\/\/declaration constante de broche <\/span>\r\n\r\n<span class=\"co1\">\/\/ --- D\u00e9claration des variables globales ---<\/span>\r\n<span class=\"co1\">\/\/ ... <\/span>\r\n\r\n<span class=\"co1\">\/\/ --- Initialisation des fonctionnalit\u00e9s utilis\u00e9es ---<\/span>\r\n<span class=\"co1\">\/\/ ... <\/span>\r\n\r\n<span class=\"co1\">\/\/**************** FONCTION SETUP = Code d'initialisation *****<\/span>\r\n<span class=\"co1\">\/\/ La fonction setup() est ex\u00e9cut\u00e9e en premier et 1 seule fois, au d\u00e9marrage du programme<\/span>\r\n\r\n<span class=\"kw4\">void<\/span> <span class=\"kw5\">setup<\/span><span class=\"br0\">(<\/span><span class=\"br0\">)<\/span> \u00a0 <span class=\"br0\">{<\/span> <span class=\"co1\">\/\/ debut de la fonction setup()<\/span>\r\n\r\n<span class=\"co1\">\/\/ --- ici instructions \u00e0 ex\u00e9cuter au d\u00e9marrage --- <\/span>\r\n\r\n<span class=\"kw3\">pinMode<\/span><span class=\"br0\">(<\/span>LED<span class=\"sy0\">,<\/span> <span class=\"kw2\">OUTPUT<\/span><span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span> <span class=\"co1\">\/\/met la broche en sortie <\/span>\r\n\r\n\r\n\r\n<span class=\"br0\">}<\/span> <span class=\"co1\">\/\/ fin de la fonction setup()<\/span>\r\n<span class=\"co1\">\/\/ ********************************************************************************<\/span>\r\n\r\n<span class=\"co1\">\/\/*************** FONCTION LOOP = Boucle sans fin = coeur du programme *************<\/span>\r\n<span class=\"co1\">\/\/ la fonction loop() s'ex\u00e9cute sans fin en boucle aussi longtemps que l'Arduino est sous tension<\/span>\r\n\r\n<span class=\"kw4\">void<\/span> <span class=\"kw5\">loop<\/span><span class=\"br0\">(<\/span><span class=\"br0\">)<\/span><span class=\"br0\">{<\/span> <span class=\"co1\">\/\/ debut de la fonction loop()<\/span>\r\n\r\n<span class=\"co1\">\/\/ --- ici instructions \u00e0 ex\u00e9cuter par le programme principal --- <\/span>\r\n\r\n<span class=\"kw3\">digitalWrite<\/span><span class=\"br0\">(<\/span>LED<span class=\"sy0\">,<\/span><span class=\"kw2\">HIGH<\/span><span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span> <span class=\"co1\">\/\/ met la broche au niveau haut (5V) \u2013 allume la LED<\/span>\r\n\r\n<span class=\"kw3\">delay<\/span><span class=\"br0\">(<\/span><span class=\"nu0\">500<\/span><span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span> <span class=\"co1\">\/\/ pause de 500 millisecondes (ms)<\/span>\r\n\r\n<span class=\"kw3\">digitalWrite<\/span><span class=\"br0\">(<\/span>LED<span class=\"sy0\">,<\/span><span class=\"kw2\">LOW<\/span><span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span> <span class=\"co1\">\/\/ met la broche au niveau bas (0V) \u2013 \u00e9teint la LED<\/span>\r\n\r\n<span class=\"kw3\">delay<\/span><span class=\"br0\">(<\/span><span class=\"nu0\">500<\/span><span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span> <span class=\"co1\">\/\/ pause de 500ms<\/span>\r\n\r\n<span class=\"br0\">}<\/span> <span class=\"co1\">\/\/ fin de la fonction setup()<\/span>\r\n<span class=\"co1\">\/\/ ********************************************************************************<\/span>\r\n\r\n<span class=\"co1\">\/\/ --- Fin programme ---<\/span><\/pre>\n<\/div>\n<\/div>\n<div class=\"sourceblocklink\"><\/div>\n<div class=\"sourceblocklink\"><\/div>\n<div class=\"sourceblocklink\">\n<div class=\"sourceblocklink\" style=\"text-align: center;\">&#8212; Page secours copi\u00e9e de mon-club-elec.fr &#8212;<\/div>\n<\/div>\n<div class=\"sourceblocklink\">@Xavier Hinault<\/div>\n<div class=\"sourceblocklink\">Par X. HINAULT &#8211; Cr\u00e9\u00e9 le 03\/02\/<strong>2010<\/strong><\/div>\n<div class=\"sourceblocklink\"><a href=\"http:\/\/www.mon-club-elec.fr\/pmwiki_mon_club_elec\/pmwiki.php?n=MAIN.ArduinoInitiationLedsClignoterUneLed\">http:\/\/www.mon-club-elec.fr\/pmwiki_mon_club_elec\/pmwiki.php?n=MAIN.ArduinoInitiationLedsClignoterUneLed<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>&#8212; Page secours copi\u00e9e de mon-club-elec.fr &#8212; @Xavier Hinault Par X. HINAULT &#8211; Cr\u00e9\u00e9 le 03\/02\/2010 http:\/\/www.mon-club-elec.fr\/pmwiki_mon_club_elec\/pmwiki.php?n=MAIN.ArduinoInitiationLedsClignoterUneLed &nbsp; 1.\u2002 Pr\u00e9sentation Ce programme tr\u00e8s simple permet de faire clignoter une LED sur une broche d&rsquo;une carte Arduino. Rien de tr\u00e8s extraordinaire, mais quand on a r\u00e9ussi \u00e0 programmer ce premier programme tr\u00e8s simple, on est content ! Un moyen simple aussi [&#8230;]<\/p>\n","protected":false},"author":7,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2584","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/pages\/2584"}],"collection":[{"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/comments?post=2584"}],"version-history":[{"count":6,"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/pages\/2584\/revisions"}],"predecessor-version":[{"id":2959,"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/pages\/2584\/revisions\/2959"}],"wp:attachment":[{"href":"https:\/\/www.breizh56.fr\/crepp2024\/wp-json\/wp\/v2\/media?parent=2584"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}