{"id":4675,"date":"2020-05-07T19:46:29","date_gmt":"2020-05-07T17:46:29","guid":{"rendered":"http:\/\/www.ardpylab.fr\/?page_id=4675"},"modified":"2020-05-16T12:19:31","modified_gmt":"2020-05-16T10:19:31","slug":"projet-5-activite-5","status":"publish","type":"page","link":"https:\/\/www.ardpylab.fr\/?page_id=4675","title":{"rendered":"Projet 5 &#8211; Activit\u00e9 5"},"content":{"rendered":"\n<h2 style=\"text-align: center;\"><strong><em data-rich-text-format-boundary=\"true\">\u201dMesure de temp\u00e9ratures avec une<br>thermistance CTN <\/em><\/strong><strong><em data-rich-text-format-boundary=\"true\">\u201d<\/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\" width=\"577\" height=\"433\" class=\"wp-image-4633 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projetpython5-2.jpg\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projetpython5-2.jpg 577w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projetpython5-2-300x225.jpg 300w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><\/figure>\n<\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #3366ff;\"><strong>. <\/strong><span style=\"text-decoration: underline;\"><strong>Objectif<br><br><\/strong><\/span><\/span><\/h4>\n<p>L\u2019objectif de l\u2019activit\u00e9 est d\u2019\u00e9crire un programme g\u00e9n\u00e9raliste permettant de mesurer une temp\u00e9rature avec une thermistance CTN dont les grandeurs caract\u00e9ristiques sont connues.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #3366ff;\"><strong>. <\/strong><span style=\"text-decoration: underline;\"><strong>Rappel<br><br><\/strong><\/span><\/span><\/h4>\n<p>Pour mesurer une temp\u00e9rature avec une thermistance CTN, il faut connaitre ses grandeurs caract\u00e9ristiques. Le plus souvent, le constructeur fourni les valeurs suivantes&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\"><strong>\u2013 La valeur de sa r\u00e9sistance R<sub>0<\/sub>&nbsp;(r\u00e9sistance nominale en \u2126) \u00e0 la temp\u00e9rature de r\u00e9f\u00e9rence T<sub>0<\/sub>&nbsp;= 25 \u00b0C (298,15 K)<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>\u2013 La valeur de \u03b2 (en K)<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>\u2013 La plage de temp\u00e9rature pour laquelle la relation entre la temp\u00e9rature T (en K) et R<sub>T<\/sub>, la r\u00e9sistance (en ohms) de la CTN \u00e0 cette temp\u00e9rature, est v\u00e9rifi\u00e9e&nbsp;:<\/strong><\/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-118.png\" alt=\"\" class=\"wp-image-1008\" width=\"468\" height=\"224\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-118.png 468w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-118-300x144.png 300w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure>\n\n\n\n<p>\u00a0<\/p>\n<h4><span style=\"color: #3366ff;\"><strong>. <\/strong><span style=\"text-decoration: underline;\"><strong>Le programme<br \/><br \/><\/strong><\/span><\/span><\/h4>\n<p>Le code de l\u2019activit\u00e9 en Python ou en langage Arduino demande, \u00e0 l\u2019initialisation du programme, de renseigner les valeurs de T<sub>0<\/sub>, R<sub>0<\/sub> et \u03b2 afin de pouvoir calculer la temp\u00e9rature \u00e0 partir de la mesure de la r\u00e9sistance de la CTN.<\/p>\n<p>\u00a0<\/p>\n<h4><strong>. <u>Programme en Python (\u201d<a href=\"https:\/\/www.ardpylab.fr\/downloads\/projetspython\/projet5\/projet5-activity5.zip\">Projet5\\Activity5\\PY\\Activity5.py<\/a>\u201d)<br \/><br \/><\/u><\/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\/projet5\/Activity5\/PY\/Activity5.py\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5202 size-full\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-1.png\" alt=\"\" width=\"1082\" height=\"2053\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-1.png 1082w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-1-158x300.png 158w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-1-540x1024.png 540w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-1-768x1457.png 768w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-1-810x1536.png 810w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-1-1079x2048.png 1079w\" sizes=\"auto, (max-width: 1082px) 100vw, 1082px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<p><strong><u><br \/>D\u00e9roulement du programme<\/u><\/strong><strong>\u00a0:<\/strong><\/p>\n<p>&#8211; <u>Importation des librairies\u00a0et 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 Express\u201d<\/strong>,<\/p>\n<p style=\"padding-left: 40px;\">. Le module <strong>\u201d<\/strong><strong>PymataExpressDef.Py\u201d<\/strong> regroupant toutes les fonctions utiles \u00e0 l\u2019utilisation de <strong>\u201d<\/strong><strong>Pymata<\/strong><strong>-express\u201d<\/strong>\u00a0(fonction de d\u00e9claration des entr\u00e9es et sorties, de lectures, 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,<\/p>\n<p style=\"padding-left: 40px;\">. La biblioth\u00e8que <strong>\u201d<\/strong><strong>math\u201d <\/strong>pour les calculs de temp\u00e9rature,<\/p>\n<p style=\"padding-left: 40px;\">. La fonction <strong>\u201d<\/strong><strong>InputVal\u201d <\/strong>pour saisir les grandeurs caract\u00e9ristiques de la thermistance.<br \/><br \/><\/p>\n<p>&#8211; <u>D\u00e9claration des constantes et variables<\/u>\u00a0:<\/p>\n<p style=\"padding-left: 40px;\">. <strong>PinCTN = 5 <\/strong>(cst correspondant au n\u00b0 de la broche A5 sur laquelle la thermistance est connect\u00e9e)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>ValCTN = 0 <\/strong>(variable pour stocker la valeur de la broche de la thermistance)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>Temp = 0<\/strong> (variable correspondant \u00e0 la temp\u00e9rature en \u00b0C calcul\u00e9e \u00e0 partir de la valeur de la broche de la thermistance)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>OldTemp = 0<\/strong> (variable correspondant \u00e0 la temp\u00e9rature en \u00b0C calcul\u00e9e pr\u00e9c\u00e9demment)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>Vctn = 0 <\/strong>(variable correspondant \u00e0 la tension calcul\u00e9e en V de la broche de la thermistance)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>Rt = 0<\/strong> (variable correspondant \u00e0 la valeur de la r\u00e9sistance calcul\u00e9e en Ohms de la thermistance)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>TempRef = 0 <\/strong>(variable correspondant \u00e0 la temp\u00e9rature de r\u00e9f\u00e9rence de la thermistance)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>Ro = 0 <\/strong>(variable correspondant \u00e0 la r\u00e9sistance de la thermistance \u00e0 la temp\u00e9rature de r\u00e9f\u00e9rence)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>B = 0 <\/strong>(variable correspondant \u00e0 la grandeur caract\u00e9ristique \u03b2 de la thermistance). <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>OldState = 0<\/strong> (variable pour stocker la valeur pr\u00e9c\u00e9dente de la variable <strong>state<\/strong>)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>PortComArduino <\/strong>(port COM sur lequel l\u2019Arduino est connect\u00e9)\u00a0<br \/><br \/><\/p>\n<p>&#8211; <u>Connexion \u00e0 l&rsquo;Arduino<\/u>\u00a0:<\/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>. Si la connexion \u00e0 l\u2019Arduino est r\u00e9ussie :<\/p>\n<p style=\"padding-left: 40px;\">&#8211; D\u00e9claration de la broche de la thermistance en entr\u00e9e analogique\u00a0:<\/p>\n<p style=\"padding-left: 80px;\"><strong>Set_AnalogInput_Pin(board, PinCTN)<\/strong><\/p>\n<p style=\"padding-left: 40px;\">&#8211; D\u00e9claration de la broche du bouton poussoir en entr\u00e9e num\u00e9rique\u00a0:<\/p>\n<p style=\"padding-left: 80px;\"><strong>Set_DigitalInput_Pin(board, PinButton)<\/strong><\/p>\n<p style=\"padding-left: 40px;\">&#8211; Saisie des grandeurs caract\u00e9ristiques de la thermistance\u00a0:<\/p>\n<p style=\"padding-left: 80px;\"><strong>TempRef = InputVal(\u201dVeuillez saisir la temp\u00e9rature de r\u00e9f\u00e9rence \u201d,1,100,\u201d\u00b0C\u201d)<\/strong><\/p>\n<p style=\"padding-left: 80px;\"><strong>Ro = InputVal(\u201dVeuillez saisir la valeur de la r\u00e9sistance nominale \u201d,1,200000,\u201dOhms\u201d)<\/strong><\/p>\n<p style=\"padding-left: 80px;\"><strong>B = InputVal(\u201dVeuillez saisir la constante B \u201d,1,10000,\u201dK\u201d)<br \/><br \/><\/strong><\/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\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5206 size-full\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-2.png\" alt=\"\" width=\"1173\" height=\"1819\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-2.png 1173w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-2-193x300.png 193w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-2-660x1024.png 660w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-2-768x1191.png 768w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-2-991x1536.png 991w\" sizes=\"auto, (max-width: 1173px) 100vw, 1173px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p><strong><u>R\u00e9sultats dans la fen\u00eatre Python Shell&nbsp;:<br><\/u><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\" style=\"padding-left: 40px;\"><img loading=\"lazy\" decoding=\"async\" width=\"910\" height=\"490\" class=\"wp-image-5207\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-3.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-3.png 910w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-3-300x162.png 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/05\/projet5-activity5-3-768x414.png 768w\" sizes=\"auto, (max-width: 910px) 100vw, 910px\" \/><\/figure>\n\n\n\n<p>\u00a0<\/p>\n<h4><strong>. <u>Programme en langage Arduino (\u201d<a href=\"https:\/\/www.ardpylab.fr\/downloads\/projetspython\/projet5\/projet5-activity5.zip\">Projet5\\Activity5\\INO\\Activity5.ino<\/a>\u201d)<br \/><br \/><\/u><\/strong><\/h4>\n<p>Le code de l\u2019activit\u00e9 en langage Arduino a d\u00e9j\u00e0 \u00e9t\u00e9 \u00e9tudi\u00e9 dans la partie:<\/p>\n<p style=\"padding-left: 40px;\">\u201d<a href=\"https:\/\/www.ardpylab.fr\/?page_id=1007\/#prog\"><strong>Activit\u00e9s pour les lyc\u00e9es \/ Temp\u00e9ratures \/ Activit\u00e9 5<\/strong><\/a>\u201d<\/p>\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=4670\"><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=4686\"><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>\u201dMesure de temp\u00e9ratures avec unethermistance CTN \u201d &nbsp; &nbsp; . Objectif L\u2019objectif de l\u2019activit\u00e9 est d\u2019\u00e9crire un programme g\u00e9n\u00e9raliste permettant de mesurer une temp\u00e9rature avec une thermistance CTN dont les grandeurs caract\u00e9ristiques sont connues. &nbsp; . Rappel Pour mesurer une temp\u00e9rature avec une thermistance CTN, il faut connaitre ses grandeurs caract\u00e9ristiques. Le plus souvent, le [&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-4675","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/4675","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=4675"}],"version-history":[{"count":1,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/4675\/revisions"}],"predecessor-version":[{"id":5215,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/4675\/revisions\/5215"}],"wp:attachment":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}