{"id":9687,"date":"2024-11-07T18:41:27","date_gmt":"2024-11-07T17:41:27","guid":{"rendered":"https:\/\/agora.xtec.cat\/ceipsesmondolo\/?page_id=9687"},"modified":"2025-04-04T21:30:04","modified_gmt":"2025-04-04T19:30:04","slug":"sensor-de-temperatura","status":"publish","type":"page","link":"https:\/\/agora.xtec.cat\/ceipsesmondolo\/steam\/microbit\/sensor-de-temperatura\/","title":{"rendered":"Temperatura &#8211; M\u00e1x y M\u00edn"},"content":{"rendered":"<p>Uno de los sensores que incorpora la placa BBC micro:bit es el sensor de temperatura.<\/p>\n<p>El sensor de temperatura est\u00e1 incorporado en el procesador de la placa micro:bit, este sensor en condiciones normales del procesador reporta la temperatura ambiente. Solo un sobrecalentamiento del procesador, puede falsificar la medida de la temperatura ambiente.<\/p>\n<p>Las especificaciones b\u00e1sicas de nuestro programa ser\u00e1n:<\/p>\n<ol>\n<li>Adquirir la temperatura del sensor y mostrarla por la pantalla de 25 x LED del microprocesador cada vez que pase un tiempo determinado.<\/li>\n<li>Determinar tambi\u00e9n, cual es la temperatura m\u00e1xima i m\u00ednima durante una sesi\u00f3n de captura de temperaturas y mostrarlas al presionar los botones A (M\u00e0xima) o el boton B (M\u00ednima)<\/li>\n<li>Asegurar que no se mezclen las informaciones en los LED de la placa micro:bit<\/li>\n<li>Asegurar que no se pierda ninguna solicitud, es decir, si se pulsa el bot\u00f3n A o B, esta orden se ejecute.<\/li>\n<\/ol>\n<p><strong>1.- Reporte de la temperatura en los 25 x LED de la placa micro:bit<\/strong><\/p>\n<p><a href=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/TemperaturaBasica.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-10028 aligncenter\" src=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/TemperaturaBasica-1024x387.png\" alt=\"\" width=\"963\" height=\"364\" srcset=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/TemperaturaBasica-1024x387.png 1024w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/TemperaturaBasica-300x113.png 300w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/TemperaturaBasica-768x290.png 768w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/TemperaturaBasica-1536x580.png 1536w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/TemperaturaBasica.png 1756w\" sizes=\"auto, (max-width: 963px) 100vw, 963px\" \/><\/a><\/p>\n<p>Nota: La instrucci\u00f3n &#8220;esborra la pantalla&#8221; dentro del bucle &#8220;per sempre&#8221; es necesaria en el caso\u00a0 que la temperatura (T) tenga un valor de un solo d\u00edgito para que no quede permanente visible en los LED entre lectura y lectura de la temperatura.<\/p>\n<p><strong>2. Se requiere que al pulsar el bot\u00f3n A se obtenga la temperatura m\u00e1xima registrada o pulsando el bot\u00f3n B la temperatura m\u00ednima registrada.<\/strong><\/p>\n<p><a href=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/error.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-10042 aligncenter\" src=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/error.png\" alt=\"\" width=\"862\" height=\"853\" srcset=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/error.png 862w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/error-300x297.png 300w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/error-768x760.png 768w\" sizes=\"auto, (max-width: 862px) 100vw, 862px\" \/><\/a><\/p>\n<p>Atenci\u00f3n: En la soluci\u00f3n anterior, se da el caso, en el simulador, que si se presiona un bot\u00f3n, A o B mientras en los LED se est\u00e0 mostrando alg\u00fan valor, pueden solaparse las informaciones. Para ello se puede implementar una nueva variable de memoria, llamada <strong>sem\u00e1foro<\/strong>, siempre tendr\u00e1 el valor &#8220;0&#8221; \u00f3 el valor &#8220;1&#8221;. El &#8220;0&#8221;, en nuestro caso, permitir\u00e1\u00a0 acceder mostra informaci\u00f3n en los LED, el &#8220;1&#8221; lo impide. Es decir en la situaci\u00f3n de inicio la variable <strong>sem\u00e1foro<\/strong> ser\u00e1 igual a &#8220;0&#8221;, significa luz verde para que cualquiera pueda acceder a los LED.<\/p>\n<p><strong>3. Implementar un protocolo funcional para acceder a los LED sin colisiones.<\/strong><\/p>\n<p><a href=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/04\/AccesAlServei.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-10228 aligncenter\" src=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/04\/AccesAlServei.jpg\" alt=\"\" width=\"151\" height=\"596\" srcset=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/04\/AccesAlServei.jpg 151w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/04\/AccesAlServei-76x300.jpg 76w\" sizes=\"auto, (max-width: 151px) 100vw, 151px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/algorismo-control-del-recurso-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-10033 aligncenter\" src=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/algorismo-control-del-recurso-2.png\" alt=\"\" width=\"788\" height=\"823\" srcset=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/algorismo-control-del-recurso-2.png 850w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/algorismo-control-del-recurso-2-287x300.png 287w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/algorismo-control-del-recurso-2-768x802.png 768w\" sizes=\"auto, (max-width: 788px) 100vw, 788px\" \/><\/a><\/p>\n<p>Una vez implementado el sem\u00e1foro se ha podido verificar que las informaciones no colisionan en el conjunto de LED de la placa micro:bit, pero se ha detectado un nuevo problema, hay ocasiones en que se pulsan los botones A o B i no muestra la informaci\u00f3n de T-m\u00e1xima o T-m\u00ednima. Este problema se puede mejorar memorizando las pulsaciones de los botones A y B. Seria como un registro de acciones pendientes de realizar (BackLog) y aportar una soluci\u00f3n para ir ejecutando el BackLog de una manera rutinaria.<\/p>\n<p>4. Ejecutar el\u00a0<strong>&#8220;Backlog&#8221;<\/strong><\/p>\n<p>La parte de inicio de nuestro programa deberemos ampliarlo asignando a las variables backLogA y backLogB un &#8220;0&#8221;, indicando que no hay nada pendiente de realizar en el backLog.<\/p>\n<p><a href=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-10022 aligncenter\" src=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog1.png\" alt=\"\" width=\"403\" height=\"325\" srcset=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog1.png 544w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog1-300x242.png 300w\" sizes=\"auto, (max-width: 403px) 100vw, 403px\" \/><\/a><\/p>\n<p>En una primera fase controlaremos que si al presionar el bot\u00f3n A o B y no se puede mostrar la informaci\u00f3n en los LED, porque estos est\u00e1n ocupados mostrando otra informaci\u00f3n, se activar\u00e1 el backLog de cada bot\u00f3n, es decir quedar\u00e1 registrado que se ha apretado un bot\u00f3n que no se ha podido ejecutar y que se ejecutar\u00e1 m\u00e1s tarde cuando se pueda.<\/p>\n<p><a href=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-10024 aligncenter\" src=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog2.png\" alt=\"\" width=\"767\" height=\"427\" srcset=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog2.png 960w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog2-300x167.png 300w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog2-768x428.png 768w\" sizes=\"auto, (max-width: 767px) 100vw, 767px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Ahora, solo queda incrementar el bucle &#8220;per sempre&#8221; con unas instrucciones que ejecuten el Back Log de cada bot\u00f3n. Es decir se ejecutaran las tareas pendientes si se dan dos condiciones:<\/p>\n<ol>\n<li>Que el back log del bot\u00f3n A o B est\u00e9 activo, y<\/li>\n<li>Que el recurso de los LED esten libres.<\/li>\n<\/ol>\n<p><a href=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog-i-semafor.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-10026 aligncenter\" src=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog-i-semafor.png\" alt=\"\" width=\"593\" height=\"659\" srcset=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog-i-semafor.png 864w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog-i-semafor-270x300.png 270w, https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-content\/uploads\/usu311\/2025\/01\/backLog-i-semafor-768x854.png 768w\" sizes=\"auto, (max-width: 593px) 100vw, 593px\" \/><\/a><\/p>\n<p>Por razones pedag\u00f3gicas, se puede crear un &#8220;per sempre&#8221; exclusivo para esta tarea, ya la micro:bit ejecutar\u00e1 los dos &#8220;per sempre&#8221; como si fueran uno.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uno de los sensores que incorpora la placa BBC micro:bit es el sensor de temperatura.<br \/>\nEl sensor de temperatura est\u00e1 incorporado en el procesador de la placa micro:bit, este sensor en condiciones normales del procesador reporta la temperatura ambiente. Solo un sobrecalentamiento del procesador, puede falsificar&hellip;  <a href=\"https:\/\/agora.xtec.cat\/ceipsesmondolo\/steam\/microbit\/sensor-de-temperatura\/\" title=\"Read Temperatura &#8211; M\u00e1x y M\u00edn\">Llegeix m\u00e9s\u00bb<\/a><\/p>\n","protected":false},"author":36,"featured_media":0,"parent":8960,"menu_order":30,"comment_status":"closed","ping_status":"closed","template":"page-templates\/side-menu.php","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-9687","page","type-page","status-publish","hentry"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-json\/wp\/v2\/pages\/9687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-json\/wp\/v2\/users\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-json\/wp\/v2\/comments?post=9687"}],"version-history":[{"count":8,"href":"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-json\/wp\/v2\/pages\/9687\/revisions"}],"predecessor-version":[{"id":10229,"href":"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-json\/wp\/v2\/pages\/9687\/revisions\/10229"}],"up":[{"embeddable":true,"href":"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-json\/wp\/v2\/pages\/8960"}],"wp:attachment":[{"href":"https:\/\/agora.xtec.cat\/ceipsesmondolo\/wp-json\/wp\/v2\/media?parent=9687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}