{"id":2530,"date":"2023-11-30T22:25:42","date_gmt":"2023-11-30T21:25:42","guid":{"rendered":"https:\/\/theroamingworkshop.cloud\/b\/?p=2530"},"modified":"2023-11-30T22:28:13","modified_gmt":"2023-11-30T21:28:13","slug":"%f0%9f%8c%a1unihiker-sensor-de-temperatura-en-tiempo-real-funcionando-en-2-minutos","status":"publish","type":"post","link":"https:\/\/theroamingworkshop.cloud\/b\/2530\/%f0%9f%8c%a1unihiker-sensor-de-temperatura-en-tiempo-real-funcionando-en-2-minutos\/","title":{"rendered":"\ud83c\udf21UNIHIKER sensor de temperatura en tiempo real funcionando en 2 minutos"},"content":{"rendered":"\n<p>Sigo experimentando con la placa <strong>UNIHIKER<\/strong> de DFRobot y es incre\u00edblemente r\u00e1pido hacer que las cosas funcionen en ella. Hoy traigo c\u00f3mo configurar en 2 minutos la visualizaci\u00f3n en tiempo real de un sensor de temperatura, usando un m\u00f3dulo BMP-280 y absolutamente <strong>nada de programaci\u00f3n<\/strong>.<\/p>\n\n\n\n<div id=\"menu\" style=\"padding:20px 20px 20px 20px; border-left:2px solid darkgrey;\">\n<p style=\"font-weight:bold;\">Contenido<\/p>\n<\/div>\n<script>\nvar text;\nvar element;\n\nfunction fillmenu(){\n\nfor (let i=0; i<window.document.getElementsByTagName(\"h2\").length; i++){\nelement = window.document.getElementsByTagName(\"h2\")[i];\ntext = \"\u25b9 \"+element.innerHTML;\nvar newelement = document.createElement(\"a\");\nnewelement.innerHTML=text;\nvar postid=window.document.getElementsByTagName(\"article\")[0].id;\nvar url = \"https:\/\/theroamingworkshop.cloud\/b\/?p=\"+postid.substr(5,postid.length)+\"#\"+element.id;\nnewelement.setAttribute(\"href\", url);\nnewelement.appendChild(document.createElement(\"br\"));\nwindow.document.getElementById(\"menu\").appendChild(newelement);\n}\n}\n\nif(window.location.href.includes(\"tag\")){\n\n}else{\nwindow.setTimeout(fillmenu,2000);\n}\n\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"prerrequisites\">Prerrequisitos<\/h2>\n\n\n\n<p>Aqu\u00ed est\u00e1 el truco, y es que esperaba que tuvieras un par de cosas configuradas antes de activar el cron\u00f3metro:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Descarga e instala <strong>Mind+<\/strong>, el IDE para UNIHIKER de DFRobot.<br>En Linux se trata de fichero .deb que se toma su tiempo para instalar:<br><a href=\"https:\/\/mindplus.cc\/download-en.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/mindplus.cc\/download-en.html<\/a><\/li>\n\n\n\n<li>Suelda un modulo de presi\u00f3n y temperatura <strong>BMP-280<\/strong> y con\u00e9ctalo a un cable I2C que vienen con la placa. Tendr\u00e1s que doblar ligeramente algunos pines para que encajen en el conector que parece un nano JST de 1mm.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/11\/bmp1.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"4080\" height=\"3060\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/11\/bmp1.jpg\" alt=\"\" class=\"wp-image-2491\" style=\"aspect-ratio:1.3333333333333333;object-fit:cover;width:407px;height:auto\"\/><\/a><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Enchufa el UNIHIKER a tu PC usando el cable USB-C y establece una conexi\u00f3n con Mind+ tal y como recomienda la wiki oficial:<br><a href=\"https:\/\/www.unihiker.com\/wiki\/get-started#4.4.%20Programming%20on%20Mind+\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.unihiker.com\/wiki\/get-started#4.4.%20Programming%20on%20Mind+<\/a><\/li>\n<\/ul>\n\n\n\n<p>Ya est\u00e1s listo!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"set-up\">Configuraci\u00f3n<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>En <strong>Mind+<\/strong>, ve al <strong>Blocks<\/strong> editor y abre el men\u00fa <strong>Extensions<\/strong>.<\/li>\n\n\n\n<li>En la pesta\u00f1a <strong>pinpong<\/strong> selecciona el propio m\u00f3dulo pinpong (que habilita la interacci\u00f3n con los pines de la UNIHIKER) y el m\u00f3dulo de extensi\u00f3n BMP-280, que a\u00f1ade la interacci\u00f3n con estos m\u00f3dulos.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/11\/DFR_bmp4.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"472\" height=\"439\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/11\/DFR_bmp4.png\" alt=\"\" class=\"wp-image-2525\" style=\"width:356px;height:auto\"\/><\/a><\/figure>\n<\/div>\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>Vuelve al <strong>Blocks<\/strong> editor y comienza a construir tu bloque de c\u00f3digo. Simplemente navega por el men\u00fa lateral izquierdo y arrastra todo lo que necesitas debajo del bloque <kbd>Python program start<\/kbd>:\n<ul class=\"wp-block-list\">\n<li><strong>pinpong<\/strong> - <kbd>initialize board<\/kbd>.<\/li>\n\n\n\n<li><strong>bmp280<\/strong> - initialize<kbd> I2C address 0x76<\/kbd> para inicializar el m\u00f3dulo.<\/li>\n\n\n\n<li><strong>control<\/strong> - bloque <kbd>forever<\/kbd> (introduce un bucle while True).<\/li>\n\n\n\n<li><strong>unihiker<\/strong> - a\u00f1ade objetos a la pantalla. Primero a\u00f1ado un objeto <kbd>filled rectangle<\/kbd> para limpiar texto anterior, luego a\u00f1ado el objeto <kbd>text<\/kbd>. Especifica coordenadas <kbd>X,Y<\/kbd> donde se mostrar\u00e1 cada objeto, al igual que su <kbd>color<\/kbd>.<\/li>\n\n\n\n<li><strong>bmp280<\/strong> - objeto <kbd>read temperature<\/kbd>. Arr\u00e1stralo dentro del campo de texto del objeto <kbd>text<\/kbd>.<\/li>\n\n\n\n<li><strong>python<\/strong> - (opcional) a\u00f1ade un objeto <kbd>print<\/kbd> para mostrar los datos en terminal. Yo he incluido todas las otras propiedades que devuelve el sensor.<\/li>\n\n\n\n<li><strong>control<\/strong> - a\u00f1ade un objeto <kbd>wait<\/kbd> para detener el programa durante 1 segundo antes del siguiente bucle.<br><br>Deber\u00eda quedar todo as\u00ed (haz click para ampliar)<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/11\/DFR_bmp1.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"5474\" height=\"976\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/11\/DFR_bmp1.png\" alt=\"\" class=\"wp-image-2526\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"launch\">Ejecuci\u00f3n<\/h2>\n\n\n\n<p>Y ya est\u00e1 todo el programa montado, sin programar! Pulsa <kbd>RUN<\/kbd> en la parte superior de Mind+ y observa c\u00f3mo se carga y se muestra por la pantalla de la UNIHIKER. Toca el sensor ligeramente con el dedo para ver c\u00f3mo var\u00edan los valores con el incremento de temperatura.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/11\/Unihiker-BMP280-1.gif\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"450\" height=\"252\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/11\/Unihiker-BMP280-1.gif\" alt=\"\" class=\"wp-image-2528\"\/><\/a><\/figure>\n<\/div>\n\n\n<p>Han sido s\u00f3lo 2 minutos no?<\/p>\n\n\n\n<p>\ud83d\udc26 <code><a rel=\"noreferrer noopener\" href=\"https:\/\/twitter.com\/roamingworkshop\" target=\"_blank\">@RoamingWorkshop<\/a><\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sigo experimentando con la placa UNIHIKER de DFRobot y es incre\u00edblemente r\u00e1pido hacer que las cosas funcionen en ella. Hoy traigo c\u00f3mo configurar en 2 minutos la visualizaci\u00f3n en tiempo real de un sensor de temperatura, usando un m\u00f3dulo BMP-280 y absolutamente nada de programaci\u00f3n. Prerrequisitos Aqu\u00ed est\u00e1 el truco, y es que esperaba que [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2525,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[66],"tags":[669,671,662,654,417,419,423,673,675,666,677,429,679,681,683,658],"class_list":["post-2530","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-electronica","tag-bmp280-es","tag-dev-board-es","tag-development-board-es","tag-dfrobot-es","tag-electronica-es","tag-electronics-es","tag-iot-es","tag-pantalla-tactil-es","tag-placas-es","tag-placas-de-desarrollo-es","tag-sensor-es","tag-smat-home-es","tag-temperatura-es","tag-temperature-es","tag-touchscreen-es","tag-unihiker-es","post-preview"],"_links":{"self":[{"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/posts\/2530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/comments?post=2530"}],"version-history":[{"count":6,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/posts\/2530\/revisions"}],"predecessor-version":[{"id":2537,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/posts\/2530\/revisions\/2537"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/media\/2525"}],"wp:attachment":[{"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/media?parent=2530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/categories?post=2530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/tags?post=2530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}