{"id":1644,"date":"2019-04-20T22:56:04","date_gmt":"2019-04-21T03:56:04","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/edelros\/?p=1644"},"modified":"2019-04-20T22:56:04","modified_gmt":"2019-04-21T03:56:04","slug":"esp07-ir-detector-demodulador","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/girni\/esp07-ir-detector-demodulador\/","title":{"rendered":"ESP07 IR detector\/demodulador"},"content":{"rendered":"<p>El ejemplo realiza la detecci\u00f3n de se\u00f1al de un control remoto infrarojo con el m\u00f3dulo ESP07-ESP8266 y muestra el resultado Hexadecimal en el Monitor Serial. <a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorInfrarojo01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2033 size-medium alignright\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorInfrarojo01-287x300.png\" alt=\"\" width=\"287\" height=\"300\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorInfrarojo01-287x300.png 287w, https:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorInfrarojo01.png 358w\" sizes=\"auto, (max-width: 287px) 100vw, 287px\" \/><\/a><\/p>\n<p>Cada tecla del control remoto genera un c\u00f3digo \u00fanico que es detectado con el sensor.<\/p>\n<p>Para el ejemplo se usa un <span class=\"irc_su\">HX1838, sin embargo tambi\u00e9n funciona\u00a0 un <\/span>TSOP382.., TSOP384, o alguna versi\u00f3n que incluya el circuito de demodulaci\u00f3n.<\/p>\n<p>La versi\u00f3n del sensor infrarojo con detecci\u00f3n y demodulaci\u00f3n simplifica el circuito a un pin digital configurado como entrada en el m\u00f3dulo a usar, adem\u00e1s de Vcc y Gnd.<\/p>\n<p>El esquem\u00e1tico muestra lo sencillo de la conexi\u00f3n del sensor infrarojo para su lectura.<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorIR_Receptor_ESP07_v1esquem.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1652 size-full\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorIR_Receptor_ESP07_v1esquem.png\" alt=\"\" width=\"713\" height=\"399\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorIR_Receptor_ESP07_v1esquem.png 713w, https:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorIR_Receptor_ESP07_v1esquem-300x168.png 300w\" sizes=\"auto, (max-width: 713px) 100vw, 713px\" \/><\/a><\/p>\n<h4>Protoboard<\/h4>\n<p>Como referencia de la conexiones en tambi\u00e9n se adjunta la conexi\u00f3n usando un protoboard.<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorIR_Receptor_ESP07_v1Proto.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1651 size-full\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorIR_Receptor_ESP07_v1Proto.png\" alt=\"\" width=\"790\" height=\"502\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorIR_Receptor_ESP07_v1Proto.png 790w, https:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorIR_Receptor_ESP07_v1Proto-300x191.png 300w, https:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/SensorIR_Receptor_ESP07_v1Proto-768x488.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<h4>Lectura de datos<\/h4>\n<p>Para un control remoto dado, por ejemplo el b\u00e1sico para arduino, se obtienen los diferentes c\u00f3digos en Hexadecimal de las teclas presionadas usando el monitor serial.<\/p>\n<pre>FF5AA5\nFF5AA5\n<\/pre>\n<p>Si usa un ESP07 en versi\u00f3n 8285, puede ser necesario configurar los baudios a 74880 baudios, si los s\u00edmbolos que llegan no son legibles.<\/p>\n<h4>Instrucciones<\/h4>\n<p>Se usan las librerias Arduino <strong>IRremoteESP8266<\/strong> como base para un dispositivo de control remoto con Home Assistant.<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/IRremoteESP8266ArduinoLib01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2187\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/IRremoteESP8266ArduinoLib01.png\" alt=\"\" width=\"1185\" height=\"272\" srcset=\"https:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/IRremoteESP8266ArduinoLib01.png 1185w, https:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/IRremoteESP8266ArduinoLib01-300x69.png 300w, https:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/IRremoteESP8266ArduinoLib01-768x176.png 768w, https:\/\/blog.espol.edu.ec\/girni\/files\/2019\/04\/IRremoteESP8266ArduinoLib01-1024x235.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<pre>\/* IRremoteESP8266: Demo Receptor Infrarojo\n * Debe usar un sensor detector\/demodulador conectado al Receptor_Pin.\n *  Based on Mark Szabo's Version 0.2 June, 2017 and\n *  Ken Shirriff's IrsendDemo Version 0.1 July, 2009\n *  https:\/\/github.com\/markszabo\/IRremoteESP8266\n *\/\n\n#include &lt;IRremoteESP8266.h&gt;\n#include &lt;IRrecv.h&gt;\n#include &lt;IRutils.h&gt;\n\n\/\/ Sensor IR en GPIO05\nconst uint16_t Receptor_Pin = 5;\n\nIRrecv irrecv(Receptor_Pin);\ndecode_results lectura;\n\nvoid setup() {\n    Serial.begin(74880);\/\/74880, 115200\n    while (!Serial){delay(50);}\n    \n    \/\/ Inicia receptor\n    irrecv.enableIRIn();\n    \n    Serial.println(\"\\n Demo: Receptor de IR en espera de mensaje\");\n}\n\nvoid loop() {\n    if (irrecv.decode(&amp;lectura)) {\n        \/\/ print() &amp; println() no maneja enteros largos(uint64_t)\n        serialPrintUint64(lectura.value, HEX);\n        Serial.println(\"\");\n        \n        \/\/ Prepara pr\u00f3ximo valor\n        irrecv.resume();\n    }\n    delay(100);\n}\n<\/pre>\n<p>Con los c\u00f3gidos obtenidos, el siguiente paso consiste en generar los c\u00f3digos usando un LED IR para activar el dispositivo o equipo que se controlaba con el control remoto. Observe y seleccione un c\u00f3digo del ejercicio realizado con el control remoto que haya seleccionado, el dato sirve para el pr\u00f3ximo ejemplo como IR_Emisor.<\/p>\n<p><em><strong>Referencia<\/strong><\/em>:<br \/>\n<a href=\"https:\/\/learn.sparkfun.com\/tutorials\/ir-communication\/all#hardware-hookup\">https:\/\/learn.sparkfun.com\/tutorials\/ir-communication\/all#hardware-hookup<\/a><br \/>\n<a href=\"https:\/\/github.com\/markszabo\/IRremoteESP8266\">https:\/\/github.com\/markszabo\/IRremoteESP8266<\/a><\/p>\n<hr \/>\n<h4>Decodificando<\/h4>\n<p>Una versi\u00f3n para obtener m\u00e1s detalles de los c\u00f3digos la presenta en el ejemplo version 2 de Mark Sabo en:<\/p>\n<p><a href=\"https:\/\/github.com\/markszabo\/IRremoteESP8266\/blob\/master\/examples\/IRrecvDumpV2\/IRrecvDumpV2.ino\">https:\/\/github.com\/markszabo\/IRremoteESP8266\/blob\/master\/examples\/IRrecvDumpV2\/IRrecvDumpV2.ino<\/a><\/p>\n<p>Solo se requiere hacer el ajuste en el pin de sensor al GIPO0<strong>5<\/strong>, con lo que se obtiene para el ejemplo anterior:<\/p>\n<pre>Timestamp : 000446.026\nEncoding  : NEC\nCode      : FF5AA5 (32 bits)\nLibrary   : v2.6.0\n\nRaw Timing[71]:\n   +  9024, -  4556,    +   548, -   594,    +   546, -   568,    +   544, -   594, \n   +   548, -   592,    +   548, -   568,    +   546, -   594,    +   548, -   592, \n   +   548, -   566,    +   546, -  1738,    +   548, -  1710,    +   550, -  1710, \n   +   544, -  1740,    +   548, -  1712,    +   546, -  1712,    +   546, -  1740, \n   +   546, -  1712,    +   548, -   592,    +   548, -  1710,    +   548, -   592, \n   +   548, -  1710,    +   548, -  1712,    +   546, -   594,    +   548, -  1712, \n   +   544, -   596,    +   548, -  1712,    +   546, -   596,    +   548, -  1710, \n   +   546, -   594,    +   548, -   594,    +   548, -  1712,    +   548, -   592, \n   +   548, -  1710,    +   548, - 40334,    +  9024, -  2294,    +   550\n\nuint16_t rawData[71] = {9024, 4556,  548, 594,  546, 568,  544, 594,  548, 592,  548, 568,  546, 594,  548, 592,  548, 566,  546, 1738,  548, 1710,  550, 1710,  544, 1740,  548, 1712,  546, 1712,  546, 1740,  546, 1712,  548, 592,  548, 1710,  548, 592,  548, 1710,  548, 1712,  546, 594,  548, 1712,  544, 596,  548, 1712,  546, 596,  548, 1710,  546, 594,  548, 594,  548, 1712,  548, 592,  548, 1710,  548, 40334,  9024, 2294,  550};  \/\/ NEC FF5AA5\nuint32_t address = 0x0;\nuint32_t command = 0x5A;\nuint64_t data = 0xFF5AA5;\n<\/pre>\n<p>La informaci\u00f3n de Code, \"32 bits\" Es necesaria si requiere reproducir la instrucci\u00f3n on irsend.sendNEC(codigo,32).<em><br \/>\n<\/em><\/p>\n<p>En el caso de usar otro control remoto se debe disponer del n\u00famero de bits.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El ejemplo realiza la detecci\u00f3n de se\u00f1al de un control remoto infrarojo con el m\u00f3dulo ESP07-ESP8266 y muestra el resultado Hexadecimal en el Monitor Serial. Cada tecla del control remoto genera un c\u00f3digo \u00fanico que es detectado con el sensor. Para el ejemplo se usa un HX1838, sin embargo tambi\u00e9n funciona\u00a0 un TSOP382.., TSOP384, o &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.espol.edu.ec\/girni\/esp07-ir-detector-demodulador\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \"ESP07 IR detector\/demodulador\"<\/span><\/a><\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1429787],"tags":[],"class_list":["post-1644","post","type-post","status-publish","format-standard","hentry","category-modulos-ejemplos"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/1644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/comments?post=1644"}],"version-history":[{"count":0,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/1644\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/media?parent=1644"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/categories?post=1644"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/tags?post=1644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}