{"id":1550,"date":"2021-11-01T08:59:57","date_gmt":"2021-11-01T13:59:57","guid":{"rendered":"http:\/\/ve2cuy.com\/420-1c4\/?page_id=1550"},"modified":"2024-03-18T09:39:40","modified_gmt":"2024-03-18T14:39:40","slug":"formatif-examen-01","status":"publish","type":"page","link":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/formatif-examen-01\/","title":{"rendered":"Formatif Examen 01"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Dur\u00e9e: <span class=\"has-inline-color has-vivid-red-color\">2 p\u00e9riodes<\/span><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">Pond\u00e9ration: <span class=\"has-inline-color has-vivid-red-color\">20%<\/span> <\/h2>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3 class=\"has-text-align-left wp-block-heading\">Varier la <span style=\"color:#506a94\" class=\"has-inline-color\">c<\/span><span style=\"color:#f5161a\" class=\"has-inline-color\">o<\/span><span style=\"color:#506a94\" class=\"has-inline-color\">u<\/span><span style=\"color:#f5161a\" class=\"has-inline-color\">l<\/span><span style=\"color:#506a94\" class=\"has-inline-color\">e<\/span><span style=\"color:#f5161a\" class=\"has-inline-color\">u<\/span><span style=\"color:#506a94\" class=\"has-inline-color\">r<\/span> des pixels du module NEO-PIXEL en fonction de la temp\u00e9rature<\/h3>\n\n\n\n<p>\u00c9crire un programme qui fait varier le nombre de pixels bleus (<span style=\"color:#506a94\" class=\"has-inline-color\">80,106,148<\/span>) et rouges (<span style=\"color:#f5161a\" class=\"has-inline-color\">245, 22, 26<\/span>) en fonction de la temp\u00e9rature du capteur <strong>SHT31<\/strong>.<\/p>\n\n\n\n<p>Si la temp\u00e9rature est &lt;= \u00e0 la valeur indiqu\u00e9e par le <strong>potentiom\u00e8tre<\/strong> [0&#8230;1023 &#8211;&gt; 20..28c] (nomm\u00e9e valeur de r\u00e9f\u00e9rence) alors tous les pixels sont bleus.<\/p>\n\n\n\n<p>Donc, la temp\u00e9rature minimum est fix\u00e9e par le potentiom\u00e8tre.  <\/p>\n\n\n\n<p>Par exemple, si le potentiom\u00e8tre est \u00e9gal \u00e0 <strong><span class=\"has-inline-color has-vivid-red-color\">26<\/span><\/strong> (valeur de r\u00e9f\u00e9rence) et qu&rsquo;il fait <strong><span class=\"has-inline-color has-vivid-red-color\">25c<\/span>,<\/strong> alors tous les pixels seront bleus.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>\u00c0 chaque tranche de 0,75c de plus, un pixel du haut passe au rouge.<\/p>\n\n\n\n<p>Par exemple, pour 24C (valeur de r\u00e9f\u00e9rence) + 4*0,75, les 6 premiers pixels sont bleus et les 4 derniers sont rouges.<\/p>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Note<\/span><\/strong>: Utiliser un doigt sur le capteur pour faire augmenter la temp\u00e9rature.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Il faut afficher la valeur de r\u00e9f\u00e9rence sur les deux nombres de gauche du 4-Digit.<\/li><li>Il faut afficher la temp\u00e9rature du capteur sur le deux nombres de droite du 4-Digit.<\/li><li>Il faut afficher le symbole \u00ab\u00a0:\u00a0\u00bb entre les deux valeurs.<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Note<\/span><\/strong>: Il est possible qu&rsquo;un ou plusieurs des \u00e9l\u00e9ments suivants soient demand\u00e9s lors de l&rsquo;examen:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Utilisation du bouton poussoir pour activer la lecture du potentiom\u00e8tre. <\/li><li>Affichage sur le module Grove rgb_lcd.<\/li><li>Instructions conditionnelles \u00e0 la pr\u00e9sence d&rsquo;une MACRO (#ifdef).<\/li><li>Utilisation du module RTC.<\/li><li>Afficher les pixels, avec un d\u00e9lai de 100ms entre chaque pixel, suite \u00e0 l&rsquo;utilisation du bouton poussoir.  Laisser allumer tous les pixels 5 secondes puis les \u00e9teindre.  Attention, les pixels bleus et rouges toujours en fonction de la temp\u00e9rature actuelle et de la temp\u00e9rature de r\u00e9f\u00e9rence.<\/li><li>Utilisation du potentiom\u00e8tre pour fixer la valeur des tranches (par exemple, 0,2c \u00e0 1c) au lieu de la temp\u00e9rature de r\u00e9f\u00e9rence.<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n<div class=\"wp-block-ub-expand ub-expand \" id=\"ub-expand-b1cf008c-be58-45a2-a4ce-80a395076fd4\">\n<div class=\"ub-expand-portion ub-expand-partial\" id=\"ub-expand-portion-\"><a class=\"ub-expand-toggle-button\" role=\"button\" aria-expanded=\"false\" aria-controls=\"ub-expand-full-b1cf008c-be58-45a2-a4ce-80a395076fd4\" tabindex=\"0\">Afficher la solution partielle <\/a><\/div>\n\n<div class=\"ub-expand-portion ub-expand-full ub-hide\" id=\"ub-expand-portion-\">\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/*\n    Solution du laboratoire 2.5\n    Auteur:       Alain Boudreault\n    Date:         2021.10.22\n    Description:  Varier la couleur des pixels en fonction de la temp\u00e9rature\n*\/\n\/\/ Inclure la librairie pour I2C (le capteur SHT31 est de type I2C)\n#include &lt;Wire.h>\n\/\/ Inclure la librairie pour le capteur de temp\u00e9rature et d'humidit\u00e9 SHT31\n#include \"SHT31.h\"\n\/\/ Inclure la librairie pour la barre de pixels\n#include &lt;Adafruit_NeoPixel.h>\n\n#include \"Streaming.h\"\n\n\/\/#define DEBUG\n\n#define PIN                   2           \/\/ GPIO de connexion de la barre de pixels\n#define NUMPIXELS             10          \/\/ NB de pixels sur la barre\n#define PIXEL_ROUGE           245,22,26   \/\/ r,g,b\n#define PIXEL_BLEU            80,106,148  \n#define TEMPERATURE_DE_BASE   24\n#define TEMPERATURE_PALIER    0.75\n\n\/\/ Cr\u00e9ation d'un objet SHT31 pour le contr\u00f4le du capteur de temp\u00e9rature\/humidit\u00e9\nSHT31 capteurTemperature;  \n\n\/\/ Cr\u00e9ation d'un objet de type Adafruit_NeoPixel pour le contr\u00f4le de la barre de pixels.\nAdafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);\n\nvoid setup() {\n  Serial.begin(9600);\n  capteurTemperature.begin();\n  #ifdef DEBUG\n  Serial &lt;&lt; \"Temperature de depart: \" &lt;&lt; capteurTemperature.getTemperature() &lt;&lt; endl;\n  #endif\n  pixels.begin();\n  pixels.clear(); \/\/ Effacer tous les DEL.\n  pixels.setBrightness(50);\n  for(int i=0; i&lt;NUMPIXELS; i++) { \n    pixels.setPixelColor(i, pixels.Color(PIXEL_BLEU));\n  } \/\/ for\n  pixels.show();   \/\/ Actualiser l'affichage\n} \/\/ setup\n\nvoid loop() {\n  uint32_t couleur;\n  float temperature  = capteurTemperature.getTemperature();\n  \/\/ Calculer le nombres de paliers de temp\u00e9rature sup\u00e9rieur \u00e0 la temp\u00e9rature de base.\n  int nbPixelsRouges = (temperature - TEMPERATURE_DE_BASE) \/ TEMPERATURE_PALIER;\n\n  #ifdef DEBUG\n  Serial &lt;&lt; \"Temp. = \" &lt;&lt; temperature &lt;&lt; \" ,NB pixels rouges = \" &lt;&lt; (nbPixelsRouges) &lt;&lt; endl;\n  delay(500);\n  #endif\n\n  \/\/ Renseigner la couleur des pixels en fonction des paliers de temp\u00e9rature\n  for (int pixelCourant = NUMPIXELS; pixelCourant >= 0; pixelCourant--) {\n    couleur = pixelCourant &lt; (NUMPIXELS - nbPixelsRouges) ? pixels.Color(PIXEL_BLEU) : pixels.Color(PIXEL_ROUGE);\n    pixels.setPixelColor(pixelCourant, couleur);\n  } \/\/ for pixelCourant\n\n  pixels.show();   \/\/ Actualiser l'affichage\n\n } \/\/ loop<\/pre>\n\n<a class=\"ub-expand-toggle-button\" role=\"button\" aria-expanded=\"false\" aria-controls=\"ub-expand-full-b1cf008c-be58-45a2-a4ce-80a395076fd4\" tabindex=\"0\">Masquer la solution<\/a><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Dur\u00e9e: 2 p\u00e9riodes Pond\u00e9ration: 20% Varier la couleur des pixels du module NEO-PIXEL en fonction de la temp\u00e9rature \u00c9crire un programme qui fait varier le nombre de pixels bleus (80,106,148) et rouges (245, 22, 26) en fonction de la temp\u00e9rature du capteur SHT31. Si la temp\u00e9rature est &lt;= \u00e0 la valeur indiqu\u00e9e par le potentiom\u00e8tre [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ub_ctt_via":"","footnotes":""},"class_list":["post-1550","page","type-page","status-publish","hentry"],"featured_image_src":null,"_links":{"self":[{"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/pages\/1550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/comments?post=1550"}],"version-history":[{"count":15,"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/pages\/1550\/revisions"}],"predecessor-version":[{"id":1572,"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/pages\/1550\/revisions\/1572"}],"wp:attachment":[{"href":"https:\/\/ve2cuy.com\/420-1c4\/index.php\/wp-json\/wp\/v2\/media?parent=1550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}