{"id":3324,"date":"2020-04-24T11:29:34","date_gmt":"2020-04-24T09:29:34","guid":{"rendered":"http:\/\/www.ardpylab.fr\/?page_id=3324"},"modified":"2020-05-10T17:46:46","modified_gmt":"2020-05-10T15:46:46","slug":"projet-2-activite-1","status":"publish","type":"page","link":"https:\/\/www.ardpylab.fr\/?page_id=3324","title":{"rendered":"Projet 2 &#8211; Activit\u00e9 1"},"content":{"rendered":"\n<h2 style=\"text-align: center;\"><strong><em>\u201dContr\u00f4ler la luminosit\u00e9 d&rsquo;une DEL avec un bouton-poussoir\u201d<u><br><\/u><\/em><\/strong><\/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-3407 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-circuit4.png\" alt=\"\" width=\"528\" height=\"330\"><\/figure>\n<\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h4><strong><span style=\"color: #3366ff;\">.&nbsp;<span style=\"text-decoration: underline;\">Objectif<br><br><\/span><\/span><\/strong><\/h4>\n<p>Contrairement aux sorties num\u00e9riques qui ne peuvent avoir que deux valeurs 0 ou 1 (0 ou 5V), une sortie analogique (ou plut\u00f4t <strong>PWM<\/strong>) permet d&rsquo;obtenir une tension entre 0 et 5 V. les broches 3, 5, 6, 9, 10 et 11 peuvent \u00eatre configur\u00e9s en sortie analogique.<\/p>\n<p>C\u2019est pour cela que les anodes de la DEL RVB (\u00e0 cathode commune) de notre circuit sont connect\u00e9es sur les broches&nbsp;:<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8211; 9 pour la DEL rouge<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8211; 11 pour la DEL verte<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8211; 10 pour la DEL Bleue<br><br><\/p>\n<p>Nous allons utiliser ces sorties pour alimenter une DEL (DEL rouge, verte ou bleue de la DEL RVB) et faire varier sa luminosit\u00e9 suivant ce principe de fonctionnement&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\">&#8211; la DEL \u00e9tant \u00e9teinte, si on appuie sur le bouton poussoir, la diode s\u2019allume.<\/p>\n<p style=\"padding-left: 40px;\">&#8211; On r\u00e8gle la luminosit\u00e9 de la DEL en maintenant le bouton poussoir appuy\u00e9, du moins au plus lumineux (broche de la DEL \u00e0 +0V) jusqu\u2019\u00e0 un maximum (broche de la DEL \u00e0 +5V).<\/p>\n<p style=\"padding-left: 40px;\">&#8211; Quand le maximum de la luminosit\u00e9 est atteint et que le bouton poussoir est maintenu appuy\u00e9, la luminosit\u00e9 revient au minimum (broche de la DEL \u00e0 0V).<\/p>\n<p style=\"padding-left: 40px;\">&#8211; La DEL \u00e9tant allum\u00e9e, si on appuie sur le bouton poussoir, elle s\u2019\u00e9teint.<br><br><\/p>\n<p>Le code pourra \u00eatre modifi\u00e9 pour voir l\u2019influence des variables (choix de la DEL).<\/p>\n<p>&nbsp;<\/p>\n<h4><strong><span style=\"color: #3366ff;\">.&nbsp;<span style=\"text-decoration: underline;\">Le programme<br><br><\/span><\/span><\/strong><\/h4>\n\n\n\n<h4><strong><span style=\"color: #0000ff;\"><span style=\"color: #000000;\"><a id=\"prog1\"><\/a>. <\/span><span style=\"color: #000000;\">Programme en Python<\/span> <span style=\"color: #000000;\">(\u201d<\/span><a href=\"https:\/\/www.ardpylab.fr\/downloads\/projetspython\/projet2\/projet2-activity1.zip\" data-wplink-url-error=\"true\">Projet2\/Activity1\/PY\/Activity1.py<\/a>\u201d<span style=\"color: #000000;\">)<\/span><\/span><\/strong><\/h4>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/projetspython\/projet2\/Activity1\/PY\/Activity1.py\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"739\" height=\"1024\" class=\"wp-image-3333 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-2-739x1024.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-2-739x1024.png 739w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-2-216x300.png 216w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-2-768x1065.png 768w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-2.png 903w\" sizes=\"auto, (max-width: 739px) 100vw, 739px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<p><strong><u><br>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>\u201d<\/strong><strong>time\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>PinLED = 11<\/strong> (constante correspondant au n\u00b0 de la broche sur laquelle la DEL choisie 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>State = 0<\/strong> (variable correspondant \u00e0 l\u2019action \u00e0 effectuer)<\/p>\n<p style=\"padding-left: 40px;\">.<strong> Brightness = 0 <\/strong>(variable correspondant \u00e0 la luminosit\u00e9 de la DEL)<\/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)&nbsp;<br><br><\/p>\n<p>&#8211; <u>Connexion \u00e0 l&rsquo;Arduino<\/u> :<\/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; D\u00e9claration de la broche de la DEL en sortie analogique&nbsp;:<\/p>\n<p style=\"padding-left: 120px;\"><strong>PinAnalogOutput = AnalogOutput(board, PinLED),<\/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<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"898\" height=\"1024\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-1-898x1024.png\" alt=\"\" class=\"wp-image-3336\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-1-898x1024.png 898w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-1-263x300.png 263w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-1-768x876.png 768w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-1-1347x1536.png 1347w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-1-1796x2048.png 1796w\" sizes=\"auto, (max-width: 898px) 100vw, 898px\" \/><\/figure><\/div>\n\n\n\n<h4>\u00a0<\/h4>\n<h4><strong><span style=\"color: #0000ff;\"><span style=\"color: #000000;\"><a id=\"prog2\"><\/a>. Programme en langage Arduino (\u201d<\/span><a href=\"https:\/\/www.ardpylab.fr\/downloads\/projetspython\/projet2\/projet2-activity1.zip\" data-wplink-url-error=\"true\">Projet2\/Activity1\/INO\/Activity1.ino<\/a>\u201d<span style=\"color: #000000;\">)<\/span><\/span><\/strong><\/h4>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/projetspython\/projet2\/Activity1\/INO\/Activity1\/Activity1.ino\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"729\" height=\"1024\" class=\"wp-image-3337 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-3-729x1024.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-3-729x1024.png 729w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-3-214x300.png 214w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-3.png 755w\" sizes=\"auto, (max-width: 729px) 100vw, 729px\" \/><\/a><\/figure>\n<\/div>\n<p><strong><u>D\u00e9roulement du programme<\/u><\/strong><strong>\u00a0:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-4-671x1024.png\" alt=\"\" class=\"wp-image-3338\" width=\"863\" height=\"1317\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-4-671x1024.png 671w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-4-197x300.png 197w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-4-768x1171.png 768w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-4-1007x1536.png 1007w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/projet2-activity1-4-1343x2048.png 1343w\" sizes=\"auto, (max-width: 863px) 100vw, 863px\" \/><\/figure><\/div>\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=3311\"><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=3343\"><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>\u201dContr\u00f4ler la luminosit\u00e9 d&rsquo;une DEL avec un bouton-poussoir\u201d &nbsp; &nbsp; .&nbsp;Objectif Contrairement aux sorties num\u00e9riques qui ne peuvent avoir que deux valeurs 0 ou 1 (0 ou 5V), une sortie analogique (ou plut\u00f4t PWM) permet d&rsquo;obtenir une tension entre 0 et 5 V. les broches 3, 5, 6, 9, 10 et 11 peuvent \u00eatre configur\u00e9s [&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-3324","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/3324","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=3324"}],"version-history":[{"count":0,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/3324\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}