{"id":3243,"date":"2020-04-23T17:34:47","date_gmt":"2020-04-23T15:34:47","guid":{"rendered":"http:\/\/www.ardpylab.fr\/?page_id=3243"},"modified":"2020-05-10T17:40:44","modified_gmt":"2020-05-10T15:40:44","slug":"projet-1-activite-4","status":"publish","type":"page","link":"https:\/\/www.ardpylab.fr\/?page_id=3243","title":{"rendered":"Projet 1 &#8211; Activit\u00e9 4"},"content":{"rendered":"\n<h2 style=\"text-align: center;\"><em><strong>\u201d<\/strong><\/em><strong>Allumer en alternance ou \u00e9teindre 3 DELs <br><\/strong><strong>avec un bouton-poussoir<\/strong><em><strong>\u201d<br><\/strong><\/em><\/h2>\n<p>&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3307 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-circuit5.png\" alt=\"\" width=\"457\" height=\"347\"><\/figure>\n<\/div>\n\n\n\n<p>\u00a0<\/p>\n<h4><strong><span style=\"color: #3366ff;\">.\u00a0<span style=\"text-decoration: underline;\">Objectif<br \/><\/span><\/span><br \/><\/strong><\/h4>\n<p>Dans cette activit\u00e9, l\u2019allumage en alternance des DELs est g\u00e9r\u00e9 par le bouton poussoir. Un premier appui sur le bouton allume la diode rouge, un deuxi\u00e8me appui allume la diode verte, un troisi\u00e8me appui allume la diode bleue et ainsi de suite\u2026<\/p>\n<p>Un appui prolong\u00e9 sur le bouton \u00e9teint la DEL allum\u00e9e.<\/p>\n<p>Comme pour l&rsquo;activit\u00e9 pr\u00e9c\u00e9dente, c&rsquo;est \u00e0 l&rsquo;aide des variables permettant de stocker les valeurs (actuelle et pr\u00e9c\u00e9dente) de l&rsquo;\u00e9tat logique de la broche du bouton poussoir, mais aussi d&rsquo;une variable pour compter le nombre d&rsquo;appui sur le bouton et de variables pour mesurer la dur\u00e9e d&rsquo;appui, que l&rsquo;Arduino pourra allumer ou \u00e9teindre les DELs.<br \/><br \/><\/p>\n<p>Le code pourra \u00eatre modifi\u00e9 pour voir l\u2019influence des variables (dur\u00e9e d\u2019appui pour \u00e9teindre les DELS).<\/p>\n<p>\u00a0<\/p>\n<h4><strong><span style=\"color: #3366ff;\">.\u00a0<\/span><span style=\"text-decoration: underline; color: #3366ff;\">Le programme<br \/><\/span><br \/><\/strong><\/h4>\n<h4><span style=\"color: #000000;\"><strong><a id=\"prog1\"><\/a>. Programme en Python (\u201d<a href=\"https:\/\/www.ardpylab.fr\/downloads\/projetspython\/projet1\/projet1-activity4.zip\" data-wplink-url-error=\"true\">Projet1\/Activity4\/PY\/Activity4.py<\/a>\u201d)<\/strong><\/span><\/h4>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/projetspython\/projet1\/Activity4\/PY\/Activity4.py\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3245\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-1-630x1024.png\" alt=\"\" width=\"800\" height=\"1300\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-1-630x1024.png 630w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-1-185x300.png 185w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-1-768x1248.png 768w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-1.png 916w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p><strong><u>D\u00e9roulement du programme<\/u><\/strong><strong>&nbsp;:<\/strong><\/p>\n<p>&#8211; <u>Importation des librairies&nbsp;et d\u00e9finition de fonctions<\/u> :<\/p>\n<p style=\"padding-left: 40px;\">. Le module <strong>\u201dConnectToArduino.py\u201d, <\/strong>contenant les fonctions de connexion \u00e0 l\u2019Arduino via le protocole <strong>\u201dFirmata standard\u201d<\/strong>,<\/p>\n<p style=\"padding-left: 40px;\">. Le module <strong>\u201d<\/strong><strong>PyFirmataDef.Py\u201d<\/strong> regroupant toutes les fonctions utiles \u00e0 l\u2019utilisation de <strong>\u201d<\/strong><strong>PyFirmata\u201d<\/strong>&nbsp;(fonction de d\u00e9claration des entr\u00e9es et sorties, d\u2019it\u00e9rateur, d\u2019\u00e9critures\u2026)<\/p>\n<p style=\"padding-left: 40px;\">. La biblioth\u00e8que <strong>\u201dt<\/strong><strong>ime\u201d <\/strong>pour la gestion des temps de pause.<br><br><\/p>\n<p>&#8211; <u>D\u00e9claration des constantes et variables<\/u>&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\">. <strong>PinLEDR = 8<\/strong> (constante correspondant au n\u00b0 de la broche sur laquelle la DEL rouge est connect\u00e9e)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>PinLEDV = 7<\/strong> (constante correspondant au n\u00b0 de la broche sur laquelle la DEL verte est connect\u00e9e)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>PinLEDB = 2<\/strong> (constante correspondant au n\u00b0 de la broche sur laquelle la DEL bleue est connect\u00e9e)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>PinButton = 12 <\/strong>(cst correspondant au n\u00b0 de la broche sur laquelle le bouton poussoir est connect\u00e9)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>ValButton = 0<\/strong> (variable pour stocker la valeur de l\u2019\u00e9tat logique de la broche du bouton poussoir)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>OldValButton = 0<\/strong> (variable pour stocker la valeur pr\u00e9c\u00e9dente de l\u2019\u00e9tat logique de la broche du bouton poussoir)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>ComptBtn = 0<\/strong> (variable permettant de comptabiliser le nombre de fois que le bouton-poussoir est appuy\u00e9)<\/p>\n<p style=\"padding-left: 40px;\"><strong>. StartTime = 0<\/strong> (variable pour stocker l\u2019heure de d\u00e9but d\u2019appui sur le bouton-poussoir)<\/p>\n<p style=\"padding-left: 40px;\"><strong>. DeltaTime = 0<\/strong> (variable pour calculer la dur\u00e9e d\u2019appui sur le bouton-poussoir)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>PortComArduino <\/strong>(port COM sur lequel l\u2019Arduino est connect\u00e9)<\/p>\n<p style=\"padding-left: 40px;\">&nbsp;<\/p>\n<p>&#8211; <u>Connexion \u00e0 l&rsquo;Arduino<\/u>&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\">. D\u00e9tection du port COM, tentative d\u2019ouverture du port COM s\u00e9lectionn\u00e9 et connexion \u00e0 l\u2019Arduino:<\/p>\n<p style=\"padding-left: 80px;\"><strong>PortComArduino = SelectPortCOM()<\/strong><\/p>\n<p style=\"padding-left: 80px;\"><strong>board = OpenPortCom(PortComArduino)<br><br><\/strong><\/p>\n<p style=\"padding-left: 40px;\">. Si la connexion \u00e0 l\u2019Arduino est r\u00e9ussie:<\/p>\n<p style=\"padding-left: 80px;\">&#8211; Lancement de l\u2019it\u00e9rateur&nbsp;:<\/p>\n<p style=\"padding-left: 120px;\"><strong>ArduinoIterateur = Iterateur(board)<\/strong>,<\/p>\n<p style=\"padding-left: 80px;\">&#8211; D\u00e9claration de la broche du bouton poussoir en entr\u00e9e digitale&nbsp;:<\/p>\n<p style=\"padding-left: 120px;\"><strong>InputPin = DigitalInput(board, PinButton)<\/strong>,<\/p>\n<p style=\"padding-left: 80px;\">&#8211; Attente de 500 ms pour le lancement de l\u2019it\u00e9rateur<br><br><\/p>\n<p>&#8211; <u>Boucle principale du programme (boucle \u201d<\/u><u>while True\u201d<\/u><u>)<\/u> :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3249\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-2-893x1024.png\" alt=\"\" width=\"1000\" height=\"1146\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-2-893x1024.png 893w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-2-262x300.png 262w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-2-768x880.png 768w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-2-1340x1536.png 1340w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-2-1786x2048.png 1786w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h4>\u00a0<\/h4>\n<h4><span style=\"color: #000000;\"><strong><a id=\"prog2\"><\/a>. Programme en langage Arduino (\u201d<a href=\"https:\/\/www.ardpylab.fr\/downloads\/projetspython\/projet1\/projet1-activity4.zip\" data-wplink-url-error=\"true\">Projet1\/Activity4\/INO\/Activity4.ino<\/a>\u201d)<\/strong><\/span><\/h4>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/projetspython\/projet1\/Activity4\/INO\/Activity4\/Activity4.ino\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3251\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-3-492x1024.png\" alt=\"\" width=\"800\" height=\"1664\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-3-492x1024.png 492w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-3-144x300.png 144w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-3-738x1536.png 738w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-3.png 751w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/figure>\n<\/div>\n<p><strong><u>D\u00e9roulement du programme<\/u><\/strong><strong>&nbsp;:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3253\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-4-663x1024.png\" alt=\"\" width=\"1000\" height=\"1544\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-4-663x1024.png 663w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-4-194x300.png 194w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-4-768x1186.png 768w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-4-995x1536.png 995w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet1-Activity4-4-1326x2048.png 1326w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n<\/div>\n<p>\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=3219\"><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=3311\"><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>\u201dAllumer en alternance ou \u00e9teindre 3 DELs avec un bouton-poussoir\u201d &nbsp; \u00a0 .\u00a0Objectif Dans cette activit\u00e9, l\u2019allumage en alternance des DELs est g\u00e9r\u00e9 par le bouton poussoir. Un premier appui sur le bouton allume la diode rouge, un deuxi\u00e8me appui allume la diode verte, un troisi\u00e8me appui allume la diode bleue et ainsi de suite\u2026 [&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-3243","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/3243","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=3243"}],"version-history":[{"count":0,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/3243\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}