{"id":213,"date":"2020-03-14T16:36:16","date_gmt":"2020-03-14T15:36:16","guid":{"rendered":"https:\/\/www.iarobotics.cl\/?page_id=213"},"modified":"2020-03-14T17:19:54","modified_gmt":"2020-03-14T16:19:54","slug":"mensaje-de-arecibo-en-micro-controlador-desplegado-en-pantalla-oled","status":"publish","type":"page","link":"https:\/\/www.iarobotics.cl\/index.php\/mensaje-de-arecibo-en-micro-controlador-desplegado-en-pantalla-oled\/","title":{"rendered":"Mensaje de Arecibo, en micro controlador desplegado en pantalla OLED."},"content":{"rendered":"\n<p class=\"has-text-align-left\">El mensaje de arecibo fue una emisi\u00f3n de radio enviada al espacio en el a\u00f1o 1974, una de las caracter\u00edsticas de esta emisi\u00f3n de radio fue que se utiliz\u00f3 un pictograma, el cual pretende la comunicaci\u00f3n sin pre ambulo con civilizaciones extraterrestres tecnol\u00f3gicamente avanzadas, esto quiere decir que, el s\u00f3lo hecho de decodificar el mensaje ya es suficiente para su comprensi\u00f3n; dicha premisa se basa en leyes matem\u00e1ticas que cualquier civilizaci\u00f3n con la capacidad de recibir ondas de radio podr\u00eda manejar.<br> En la pr\u00e1ctica la transmisi\u00f3n la componen 1679 pulsos de radio (0: Ausencia de Pulso y 1: Presencia de Pulso), este n\u00famero es el resultado de de multiplicar exclusivamente 2 n\u00fameros primos 23 y 73, de aqu\u00ed es donde el interpretador de este mensaje podr\u00eda conjeturar que existen dos formas de ordenar los datos en una matriz de 73&#215;23 o de 23&#215;73, en el primer caso no tiene sentido visual, pero en la segunda ordenaci\u00f3n se obtiene el pictograma con informaci\u00f3n como se aprecia en la imagen. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"645\" height=\"1024\" src=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Arecibo-645x1024.jpg\" alt=\"\" class=\"wp-image-216\" srcset=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Arecibo-645x1024.jpg 645w, https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Arecibo-189x300.jpg 189w, https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Arecibo-768x1220.jpg 768w, https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Arecibo-967x1536.jpg 967w, https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Arecibo.jpg 1259w\" sizes=\"(max-width: 645px) 100vw, 645px\" \/><figcaption>Imagen PHL, Universidad de Puerto Rico.<\/figcaption><\/figure>\n\n\n\n<p>Lo que haremos ser\u00e1 tomar esa matriz de datos binarios, transformarlos en su notaci\u00f3n hexadecimal y evaluar la condici\u00f3n de visualizaci\u00f3n sobre una matriz oled de representaci\u00f3n gr\u00e1fica, de esta forma observar cual ser\u00eda el resultado de un decodificador binario de se\u00f1al radial codificada.<\/p>\n\n\n\n<p>Primero tomamos la transmisi\u00f3n binaria completa, como la matriz del mensaje se basa en un ancho de 23 bit y un alto de 73 bits, necesitamos adaptar a una representaci\u00f3n de bytes entonces nos falta una columna de bits que podemos agregar a la izquierda para compensar y que esto no afecte el pictograma.<\/p>\n\n\n\n<figure class=\"wp-block-gallery columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" loading=\"lazy\" width=\"238\" height=\"763\" src=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.08.34.jpg\" alt=\"\" data-id=\"217\" class=\"wp-image-217\" srcset=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.08.34.jpg 238w, https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.08.34-94x300.jpg 94w\" sizes=\"(max-width: 238px) 100vw, 238px\" \/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" loading=\"lazy\" width=\"251\" height=\"758\" src=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.09.31.jpg\" alt=\"\" data-id=\"218\" data-full-url=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.09.31.jpg\" data-link=\"https:\/\/www.iarobotics.cl\/?attachment_id=218\" class=\"wp-image-218\" srcset=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.09.31.jpg 251w, https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.09.31-99x300.jpg 99w\" sizes=\"(max-width: 251px) 100vw, 251px\" \/><\/figure><\/li><\/ul><figcaption class=\"blocks-gallery-caption\">Imagen 1, representaci\u00f3n binaria original de pulsos de radio, Imagen 2: adaptaci\u00f3n en segmentos de 3 Bytes por l\u00edneas.<\/figcaption><\/figure>\n\n\n\n<p>De esta manera formamos una matriz de 3Bytes por 73 lineas.<br><\/p>\n\n\n\n<p>Posteriormente tomamos esos bytes y obtenemos su representaci\u00f3n hexadecimal para incorporar en un segmento de memoria del micro controlador.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"159\" height=\"761\" src=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.12.58.jpg\" alt=\"\" class=\"wp-image-219\"\/><\/figure><\/div>\n\n\n\n<p>To do lo anterior nos da como resultado el siguiente pictograma interpretado en una matriz OLED:<\/p>\n\n\n\n<figure class=\"wp-block-gallery aligncenter columns-1 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" loading=\"lazy\" width=\"686\" height=\"766\" src=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.50.28.jpg\" alt=\"\" data-id=\"225\" data-full-url=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.50.28.jpg\" data-link=\"https:\/\/www.iarobotics.cl\/index.php\/mensaje-de-arecibo-en-micro-controlador-desplegado-en-pantalla-oled\/captura-de-pantalla-2020-03-14-a-las-12-50-28\/\" class=\"wp-image-225\" srcset=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.50.28.jpg 686w, https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.50.28-269x300.jpg 269w\" sizes=\"(max-width: 686px) 100vw, 686px\" \/><\/figure><\/li><\/ul><\/figure>\n\n\n\n<p>A continuaci\u00f3n una imagen del circuito utilizado para la conexi\u00f3n de la pantalla.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"700\" src=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.43.17-1024x700.jpg\" alt=\"\" class=\"wp-image-223\" srcset=\"https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.43.17-1024x700.jpg 1024w, https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.43.17-300x205.jpg 300w, https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.43.17-768x525.jpg 768w, https:\/\/www.iarobotics.cl\/wp-content\/uploads\/2020\/03\/Captura-de-Pantalla-2020-03-14-a-las-12.43.17.jpg 1062w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-preformatted\">Y el Sketch de Arduino:<\/pre>\n\n\n\n<p>U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9, 8);  \/\/ D0=13, D1=11, CS=10, DC=9, Reset=8<br> const uint8_t arecibo[] U8G_PROGMEM = { <br> 0x01,0x54,0x00,<br> 0x14,0x14,0x04,<br> 0x44,0x44,0xB2,<br> 0x55,0x55,0x24,<br> 0x00,0x00,0x00,<br> 0x00,0x06,0x00,<br> 0x00,0x1A,0x00,<br> 0x00,0x1A,0x00,<br> 0x00,0x2A,0x00,<br> 0x00,0x3E,0x00,<br> 0x00,0x00,0x00,<br> 0x61,0xC6,0x18,<br> 0x40,0x01,0x90,<br> 0x68,0xC6,0x1A,<br> 0x7D,0xF7,0xDF,<br> 0x00,0x00,0x00,<br> 0x08,0x00,0x02,<br> 0x00,0x00,0x00,<br> 0x04,0x00,0x01,<br> 0x7C,0x00,0x1F,<br> 0x00,0x00,0x00,<br> 0x61,0x87,0x18,<br> 0x40,0x40,0x10,<br> 0x68,0x63,0x9A,<br> 0x7D,0xF7,0xDF,<br> 0x00,0x00,0x00,<br> 0x08,0x18,0x02,<br> 0x00,0x18,0x00,<br> 0x04,0x18,0x01,<br> 0x7C,0x18,0x1F,<br> 0x00,0x18,0x00,<br> 0x10,0x08,0x04,<br> 0x08,0x18,0x08,<br> 0x06,0x18,0x10,<br> 0x01,0x88,0x60,<br> 0x00,0x19,0x80,<br> 0x01,0x88,0x60,<br> 0x06,0x18,0x10,<br> 0x08,0x10,0x08,<br> 0x10,0x18,0x04,<br> 0x20,0x18,0x04,<br> 0x20,0x08,0x08,<br> 0x10,0x10,0x10,<br> 0x08,0x00,0x60,<br> 0x06,0x01,0x80,<br> 0x11,0xD6,0x00,<br> 0x10,0x10,0x00,<br> 0x10,0x7C,0x00,<br> 0x10,0xBA,0x5B,<br> 0x01,0x39,0x3F,<br> 0x5C,0x38,0x37,<br> 0x00,0x28,0x3B,<br> 0x10,0x28,0x3F,<br> 0x10,0x28,0x30,<br> 0x10,0x6C,0x00,<br> 0x00,0x00,0x00,<br> 0x1C,0x10,0x00,<br> 0x1D,0x45,0x55,<br> 0x1C,0x01,0x54,<br> 0x00,0x01,0x40,<br> 0x00,0x7C,0x00,<br> 0x01,0xFF,0x00,<br> 0x07,0x01,0xC0,<br> 0x0C,0x00,0x60,<br> 0x1A,0x00,0xB0,<br> 0x33,0x01,0x98,<br> 0x22,0x82,0x88,<br> 0x22,0x44,0x88,<br> 0x02,0x28,0x80,<br> 0x02,0x10,0x80,<br> 0x02,0x00,0x80,<br> 0x00,0x94,0x00,<br> 0x3C,0xFA,0x78,<br> };<br> <br> void draw(void) {<br>     u8g.drawBitmapP( 0, 5, 3, 73, arecibo);  \/\/ put bitmap<br>   }<\/p>\n\n\n\n<p>void setup() {<br> }<\/p>\n\n\n\n<p>void loop() {<br>      u8g.firstPage();  <br>   do {<br>     draw();<br>   } while( u8g.nextPage() );<\/p>\n\n\n\n<p>delay(1000);  \/\/ Delay of 5sec before accessing DHT11 (min &#8211; 2sec)<br> }<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El mensaje de arecibo fue una emisi\u00f3n de radio enviada al espacio en el a\u00f1o 1974, una de las caracter\u00edsticas de esta emisi\u00f3n de radio fue que se utiliz\u00f3 un pictograma, el cual pretende la&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/www.iarobotics.cl\/index.php\/wp-json\/wp\/v2\/pages\/213"}],"collection":[{"href":"https:\/\/www.iarobotics.cl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.iarobotics.cl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.iarobotics.cl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iarobotics.cl\/index.php\/wp-json\/wp\/v2\/comments?post=213"}],"version-history":[{"count":7,"href":"https:\/\/www.iarobotics.cl\/index.php\/wp-json\/wp\/v2\/pages\/213\/revisions"}],"predecessor-version":[{"id":229,"href":"https:\/\/www.iarobotics.cl\/index.php\/wp-json\/wp\/v2\/pages\/213\/revisions\/229"}],"wp:attachment":[{"href":"https:\/\/www.iarobotics.cl\/index.php\/wp-json\/wp\/v2\/media?parent=213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}