        <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
        {"id":6681,"date":"2021-12-28T02:44:51","date_gmt":"2021-12-28T02:44:51","guid":{"rendered":"https:\/\/rogerbit.com\/wprb\/?p=6681"},"modified":"2021-12-30T01:45:48","modified_gmt":"2021-12-30T01:45:48","slug":"decodificar-dtmf-para-handy-con-arduino-control-a-varios-kilometros","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2021\/12\/decodificar-dtmf-para-handy-con-arduino-control-a-varios-kilometros\/","title":{"rendered":"Decodificador DTMF para handy con arduino, control a varios kil\u00f3metros"},"content":{"rendered":"<p><iframe loading=\"lazy\" title=\"Decodificador DTMF para handy con arduino, control a varios kil\u00f3metros PCBWay.es\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/_aOdfdYjFEQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<hr \/>\n<p>En este tutorial veremos como fabricar un circuito para conectar a nuestro handy, en este caso un baofeng UV-5R (aunque tambi\u00e9n sirve para otras marcas y modelos) para control a larga distancia de motores, luces, bombas de agua sin la necesidad de utilizar una red celular, o en lugares que esta no exista. Veremos el armado del circuito electr\u00f3nico, estudiaremos el c\u00f3digo fuente y finamente testearemos todo el dispositivo para comprobar su funcionamiento.<\/p>\n<hr \/>\n<p style=\"text-align: left;\">Tal vez pueda interesarte proyectos en arduino, pic, rob\u00f3tica, telecomunicaciones, suscribete en\u00a0<a href=\"http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1\">http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1<\/a>\u00a0mucho videos con c\u00f3digo fuentes completos y diagramas<\/p>\n<p style=\"text-align: left;\"><div id=\"ubm-banners-rotation-n1\" data-interval=\"4000\" class=\"ubm_banners_rotation\" style=\"overflow: hidden; width: 200px; height: 150px;\"><div id=\"3_ubm_banner\" class=\"ubm_rotating_banner\"><a href=\"https:\/\/bit.ly\/3aXRDAu\" target=\"_blank\" rel=\"dofollow\"><img src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/useful_banner_manager_banners\/3-2-logo youtube.png\" width=\"100%\" height=\"100%\" alt=\"SUSCRIBETE A NUESTRO CANAL DE YOUTUBE, TUTORIALES GRATIS\" \/><\/a><\/div><\/div><\/p>\n<hr \/>\n<h4>Componentes electr\u00f3nicos<\/h4>\n<h4>Cristal de 3,58 Mhz<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6682\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/3.58mhz.png\" alt=\"\" width=\"192\" height=\"240\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/3.58mhz.png 464w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/3.58mhz-240x300.png 240w\" sizes=\"(max-width: 192px) 100vw, 192px\" \/><\/p>\n<hr \/>\n<h4>Dos resistores de 100 K Ohm<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6683\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/100k.jpg\" alt=\"\" width=\"229\" height=\"120\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/100k.jpg 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/100k-300x158.jpg 300w\" sizes=\"(max-width: 229px) 100vw, 229px\" \/><\/p>\n<hr \/>\n<h4>Dos capacitores de disco cer\u00e1mico de 100 nF<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6684\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/104.jpg\" alt=\"\" width=\"138\" height=\"197\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/104.jpg 350w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/104-210x300.jpg 210w\" sizes=\"(max-width: 138px) 100vw, 138px\" \/><\/p>\n<hr \/>\n<h4>Un resistor de 300 K Ohm<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6685\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/300k.jpg\" alt=\"\" width=\"342\" height=\"125\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/300k.jpg 500w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/300k-300x110.jpg 300w\" sizes=\"(max-width: 342px) 100vw, 342px\" \/><\/p>\n<hr \/>\n<h4>Un arduino mini pro<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6686\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/Arduino-MINI-PRO.jpg\" alt=\"\" width=\"344\" height=\"344\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/Arduino-MINI-PRO.jpg 900w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/Arduino-MINI-PRO-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/Arduino-MINI-PRO-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/Arduino-MINI-PRO-768x768.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/Arduino-MINI-PRO-820x820.jpg 820w\" sizes=\"(max-width: 344px) 100vw, 344px\" \/><\/p>\n<hr \/>\n<h4>Dos handy baofeng o similar<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6687\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/handy.jpg\" alt=\"\" width=\"374\" height=\"374\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/handy.jpg 800w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/handy-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/handy-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/handy-768x768.jpg 768w\" sizes=\"(max-width: 374px) 100vw, 374px\" \/><\/p>\n<hr \/>\n<h4>M\u00f3dulo hc-05 (opcional)<\/h4>\n<p>S\u00f3lo en el caso que quieras ver los datos recibidos en tu celular podr\u00e1s conectar este m\u00f3dulo, por eso es opcional y no obligatorio<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6688\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/hc-05.jpg\" alt=\"\" width=\"323\" height=\"245\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/hc-05.jpg 500w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/hc-05-300x227.jpg 300w\" sizes=\"(max-width: 323px) 100vw, 323px\" \/><\/p>\n<ul>\n<li>Funciona como dispositivo maestro y esclavo\u00a0 bluetooth<\/li>\n<li>Configurable mediante comandos AT<\/li>\n<li>Bluetooth V2.0+EDR<\/li>\n<li>Frecuencia de operaci\u00f3n: 2.4 GHz Banda ISM<\/li>\n<li>Modulaci\u00f3n: GFSK (Gaussian Frequency Shift Keying)<\/li>\n<li>Potencia de transmisi\u00f3n: &lt;=4dBm, Class 2<\/li>\n<li>Sensibilidad: &lt;=-84dBm @ 0.1% BER<\/li>\n<li>Seguridad: Autenticaci\u00f3n y encriptaci\u00f3n<\/li>\n<li>Perfiles Bluetooth: Puerto serie bluetooth.<\/li>\n<li>Distancia de hasta 10 metros en condiciones \u00f3ptimas<\/li>\n<li>Voltaje de Operaci\u00f3n: 3.6 VDC a 6 VDC<\/li>\n<li>Consumo Corriente: 30 mA a 50mA<\/li>\n<li>Chip: BC417143<\/li>\n<li>Versi\u00f3n o firmware: 3.0-20170609<\/li>\n<li>Baudios por defecto: 38400<\/li>\n<li>Baudios soportados: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200.<\/li>\n<li>Interfaz: Serial TTL<\/li>\n<li>Antena: Integrada en el PCB<\/li>\n<li>Seguridad: Autenticaci\u00f3n y encriptaci\u00f3n (Contrase\u00f1a por defecto: 0000 o 1234)<\/li>\n<li>Temperatura de trabajo (Max): 75\u00b0C<\/li>\n<li>Temperatura de trabajo (Min): -20\u00b0C<\/li>\n<li>Dimensiones: 4.4 x 1.6 x 0.7 cm<\/li>\n<\/ul>\n<hr \/>\n<h4>Pines hembra<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone size-large wp-image-6689\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/hembrapin.jpg\" alt=\"\" width=\"225\" height=\"225\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/hembrapin.jpg 225w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/hembrapin-150x150.jpg 150w\" sizes=\"(max-width: 225px) 100vw, 225px\" \/><\/p>\n<hr \/>\n<h4>Ficha macho jack de 2.5<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6690\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/jack2.5.jpg\" alt=\"\" width=\"281\" height=\"282\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/jack2.5.jpg 498w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/jack2.5-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/jack2.5-150x150.jpg 150w\" sizes=\"(max-width: 281px) 100vw, 281px\" \/><\/p>\n<hr \/>\n<h4>Circuito integrado MT8870de<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone size-large wp-image-6691\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/mt8870de.jpg\" alt=\"\" width=\"355\" height=\"164\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/mt8870de.jpg 355w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/mt8870de-300x139.jpg 300w\" sizes=\"(max-width: 355px) 100vw, 355px\" \/><\/p>\n<p><strong>Pinout del MT8870DE<\/strong><\/p>\n<p><img src=\"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcQr8zJH_QF4PP0ysAFG3KZn9SwhOaEhjr5_NfO63rp2RF_jX1rZ\" alt=\"Resultado de imagen para mt8870de pinout\" \/><\/p>\n<p><strong>Hoja de datos<\/strong><\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2017\/06\/mt8870d-datasheet-oct2006.pdf\">mt8870d-datasheet<\/a><\/p>\n<hr \/>\n<h4>Display oled con driver SSD1306<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6692\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/oled.jpg\" alt=\"\" width=\"260\" height=\"235\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/oled.jpg 470w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/oled-300x271.jpg 300w\" sizes=\"(max-width: 260px) 100vw, 260px\" \/><\/p>\n<p>El rendimiento de la pantalla es mejor que la pantalla LCD tradicional, tambi\u00e9n un menor consumo.<br \/>\nEspecificaciones:<br \/>\nIC del controlador: SSD1306<br \/>\nTama\u00f1o: OLED de 0,91 pulgadas<br \/>\nResoluci\u00f3n: 128 x 32<br \/>\nTama\u00f1o: 38 * 12 mm<br \/>\nN\u00famero de pines: 4 pines<br \/>\nTipo de interfaz:<br \/>\ninterfaz IIC<br \/>\nColor de la pantalla: Blanco \/ azul<br \/>\nDescripci\u00f3n de los pines:<br \/>\nGND: Power Ground<br \/>\nVCC: Power + (DC 3.3 ~ 5v)<br \/>\nTemperatura de funcionamiento: -40 ~ 85 \u2103<br \/>\nSCL: L\u00ednea de reloj<br \/>\nSDA: L\u00ednea de datos<\/p>\n<p>Pantalla OLED, sin necesidad de retroiluminaci\u00f3n, autoiluminaci\u00f3n, Color de la pantalla: azul.<br \/>\nEl rendimiento de la pantalla es mejor que la pantalla LCD tradicional, tambi\u00e9n menor consumo;\u00a0IIC (comunicaciones I2C) simplifica las conexiones.<br \/>\n\u00daselo con Arduino, ESP8266, ESP32, STM32, etc.\u00a03.3 a 5v de voltaje<\/p>\n<hr \/>\n<h4>Pines macho<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6693\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pinesmacho-1024x1024.jpg\" alt=\"\" width=\"318\" height=\"318\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pinesmacho-1024x1024.jpg 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pinesmacho-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pinesmacho-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pinesmacho-768x768.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pinesmacho-820x820.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pinesmacho.jpg 1200w\" sizes=\"(max-width: 318px) 100vw, 318px\" \/><\/p>\n<hr \/>\n<h4>Z\u00f3calo para el arduino mini pro<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6694\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/zocalo-1.jpg\" alt=\"\" width=\"357\" height=\"357\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/zocalo-1.jpg 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/zocalo-1-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/zocalo-1-150x150.jpg 150w\" sizes=\"(max-width: 357px) 100vw, 357px\" \/><\/p>\n<hr \/>\n<h4>Z\u00f3calo para el circuito integrado MT8870de<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone size-large wp-image-6695\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/zocalo-dip-18.jpg\" alt=\"\" width=\"284\" height=\"242\" \/><\/p>\n<hr \/>\n<h4>Circuito<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-6698\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/circuito-1.png\" alt=\"\" width=\"603\" height=\"480\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/circuito-1.png 603w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/circuito-1-300x239.png 300w\" sizes=\"(max-width: 603px) 100vw, 603px\" \/><\/p>\n<hr \/>\n<h4>PCB<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-6703\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pcb-1.png\" alt=\"\" width=\"605\" height=\"410\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pcb-1.png 605w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pcb-1-300x203.png 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/p>\n<p>Descargar pcb &#8211;&gt; <a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/dtmf-duino.zip\">dtmf duino<\/a><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-large wp-image-6704\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pcb1.png\" alt=\"\" width=\"609\" height=\"415\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pcb1.png 609w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/12\/pcb1-300x204.png 300w\" sizes=\"(max-width: 609px) 100vw, 609px\" \/><\/p>\n<h4>C\u00f3digo Fuente<\/h4>\n<pre class=\"lang:arduino decode:true \" title=\"C\u00f3digo Fuente\">#include &lt;Arduino.h&gt;\r\n#include &lt;U8g2lib.h&gt;\r\n#ifdef U8X8_HAVE_HW_SPI\r\n#include &lt;SPI.h&gt;\r\n#endif\r\n#ifdef U8X8_HAVE_HW_I2C\r\n#include &lt;Wire.h&gt;\r\n#endif\r\nU8G2_SSD1306_128X32_UNIVISION_1_SW_I2C u8g2(U8G2_R0, \/* clock=*\/ SCL, \/* data=*\/ SDA, \/* reset=*\/ U8X8_PIN_NONE);   \/\/Display SSD1306 de 128x32\r\n\r\nint codigo;\r\nconst int Pin12 = 12;  \r\nconst int Pin11 = 11;  \r\nconst int Pin10 = 10;  \r\nconst int Pin9 = 9;  \r\nconst int Pin8 = 8;  \r\nconst int Pin7 = 7;  \r\nconst int Pin6 = 6;     \r\nconst int Pin5 = 5;\r\nconst int Pin4 = 4;     \r\nconst int Pin3 = 3;\r\nconst int Pin2 = 2;\r\n\r\nint EstadoPin2 = 0;         \r\nint EstadoPin3 = 0;\r\nint EstadoPin4 = 0;         \r\nint EstadoPin5 = 0;\r\nint EstadoPin6 = 0;         \r\n\r\nvoid setup() {\r\n   Serial.begin(9600);\/\/Velocidad del puerto serial\r\n   u8g2.begin();\/\/Inicializamos el display\r\n  \/\/ Ponemos los pines 2 al 6 como entradas para el circuto integrado MT8870DE\r\n  pinMode(Pin2, INPUT);\r\n  pinMode(Pin3, INPUT);\r\n  pinMode(Pin4, INPUT);\r\n  pinMode(Pin5, INPUT);\r\n  pinMode(Pin6, INPUT);\r\n  \/\/Salidas control de luces, motores, relay, triac, etc\r\n  pinMode(Pin7, OUTPUT);\r\n  pinMode(Pin8, OUTPUT);\r\n  pinMode(Pin9, OUTPUT);\r\n  pinMode(Pin10, OUTPUT);\r\n  pinMode(Pin11, OUTPUT);\r\n  pinMode(Pin12, OUTPUT);\r\n  \/\/Inicializamos el display con la leyenda \"Preparado\"\r\n  codigo = 17;\r\n  displayOled();  \r\n}\r\n\r\nvoid loop() {\r\n\r\n  \/\/ Leemos el estado de los pines 2 al 6\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  delay(110);\r\n\/\/Boton 1  10001\r\n  if (EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"1\");\r\n  while(EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  codigo = 1; \r\n  digitalWrite(Pin7, HIGH);\r\n  displayOled();   \r\n     }\r\n  }\r\n  \/\/Boton 2 01001\r\n  if (EstadoPin6 == LOW &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"2\");\r\n  while(EstadoPin6 == LOW &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  digitalWrite(Pin7, LOW);\r\n  codigo = 2;\r\n  displayOled();\r\n     }\r\n  }\r\n  \/\/Boton 3 11001\r\n  if (EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"3\");\r\n  while(EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  digitalWrite(Pin8, HIGH);\r\n  codigo = 3;\r\n  displayOled();     \r\n     }\r\n  }\r\n  \/\/Boton 4 00101\r\n  if (EstadoPin6 == LOW &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"4\");\r\n  while(EstadoPin6 == LOW &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  digitalWrite(Pin8, LOW);\r\n  codigo = 4; \r\n  displayOled();    \r\n     }\r\n  }\r\n  \/\/Boton 5 10101\r\n  if (EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"5\");\r\n  while(EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  digitalWrite(Pin9, HIGH);\r\n  codigo = 5; \r\n  displayOled();    \r\n     }\r\n  }\r\n  \/\/Boton 6 01101\r\n  if (EstadoPin6 == LOW &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"6\");\r\n  while(EstadoPin6 == LOW &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  digitalWrite(Pin9, LOW);\r\n  codigo = 6; \r\n  displayOled();  \r\n     }\r\n  }\r\n  \/\/Boton 7 11101\r\n  if (EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"7\");\r\n  while(EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  digitalWrite(Pin10, HIGH);\r\n  codigo = 7; \r\n  displayOled();     \r\n     }\r\n  }\r\n  \/\/Boton 8 00011\r\n  if (EstadoPin6 == LOW &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"8\");\r\n  while(EstadoPin6 == LOW &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  digitalWrite(Pin10, LOW);\r\n  codigo = 8; \r\n  displayOled();     \r\n     }\r\n  }\r\n  \/\/Boton 9 10011\r\n  if (EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"9\");\r\n  while(EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  digitalWrite(Pin11, HIGH);\r\n  codigo = 9; \r\n  displayOled();     \r\n     }\r\n  }\r\n  \/\/Boton 0 01011\r\n  if (EstadoPin6 == LOW &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"0\");\r\n  while(EstadoPin6 == LOW &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  digitalWrite(Pin11, LOW);\r\n  codigo = 0; \r\n  displayOled();    \r\n     }\r\n  }\r\n  \/\/Boton * 11011\r\n  if (EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"*\");\r\n  while(EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  digitalWrite(Pin12, HIGH);\r\n  codigo = 11; \r\n  displayOled();    \r\n     }\r\n  }\r\n  \/\/Boton # 00111\r\n  if (EstadoPin6 == LOW &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"#\");\r\n  while(EstadoPin6 == LOW &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  digitalWrite(Pin12, LOW);\r\n  codigo = 12; \r\n  displayOled();    \r\n     }\r\n  }\r\n\/\/Boton MENU 10111\r\n  if (EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"MENU\");\r\n  while(EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  codigo = 13; \r\n  displayOled();     \r\n     }\r\n  }\r\n  \/\/Boton ALTO 01111\r\n  if (EstadoPin6 == LOW &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"UP\");\r\n  while(EstadoPin6 == LOW &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  codigo = 14; \r\n  displayOled();   \r\n     }\r\n  }\r\n  \/\/Boton BAJO 11111\r\n  if (EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"DOWN\");\r\n  while(EstadoPin6 == HIGH &amp;&amp; EstadoPin5 == HIGH &amp;&amp; EstadoPin4 == HIGH &amp;&amp; EstadoPin3 == HIGH &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  codigo = 15; \r\n  displayOled();     \r\n     }\r\n  }\r\n  \/\/Boton EXIT 00001\r\n  if (EstadoPin6 == LOW &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ) {\r\n\r\n  Serial.print(\"EXIT\");\r\n  while(EstadoPin6 == LOW &amp;&amp; EstadoPin5 == LOW &amp;&amp; EstadoPin4 == LOW &amp;&amp; EstadoPin3 == LOW &amp;&amp; EstadoPin2 == HIGH ){\r\n  EstadoPin2 = digitalRead(Pin2);\r\n  EstadoPin3 = digitalRead(Pin3);\r\n  EstadoPin4 = digitalRead(Pin4);\r\n  EstadoPin5 = digitalRead(Pin5);\r\n  EstadoPin6 = digitalRead(Pin6);\r\n  codigo = 16; \r\n  displayOled();     \r\n     }\r\n  }\r\n}\r\n\r\n\/\/Visualizaci\u00f3n el display\r\n void displayOled(){\r\n  u8g2.firstPage();\r\n  do {\r\n    u8g2.setFont(u8g2_font_ncenB10_tr);\r\n    if(codigo == 1){\r\n    u8g2.drawStr(0,24,\"Codigo: 1\");\r\n    }\r\n     if(codigo == 2){\r\n    u8g2.drawStr(0,24,\"Codigo: 2\");\r\n    }\r\n     if(codigo == 3){\r\n    u8g2.drawStr(0,24,\"Codigo: 3\");\r\n    }\r\n     if(codigo == 4){\r\n    u8g2.drawStr(0,24,\"Codigo: 4\");\r\n    }\r\n     if(codigo == 5){\r\n    u8g2.drawStr(0,24,\"Codigo: 5\");\r\n    }\r\n     if(codigo == 6){\r\n    u8g2.drawStr(0,24,\"Codigo: 6\");\r\n    }\r\n     if(codigo == 7){\r\n    u8g2.drawStr(0,24,\"Codigo: 7\");\r\n    }\r\n     if(codigo == 8){\r\n    u8g2.drawStr(0,24,\"Codigo: 8\");\r\n    }\r\n     if(codigo == 9){\r\n    u8g2.drawStr(0,24,\"Codigo: 9\");\r\n    }\r\n     if(codigo == 0){\r\n    u8g2.drawStr(0,24,\"Codigo: 0\");\r\n    }\r\n     if(codigo == 11){\r\n    u8g2.drawStr(0,24,\"Codigo: *\");\r\n    }\r\n     if(codigo == 12){\r\n    u8g2.drawStr(0,24,\"Codigo: #\");\r\n    }\r\n     if(codigo == 13){\r\n    u8g2.drawStr(0,24,\"Codigo: MENU\");\r\n    }\r\n     if(codigo == 14){\r\n    u8g2.drawStr(0,24,\"Codigo: UP\");\r\n    }\r\n     if(codigo == 15){\r\n    u8g2.drawStr(0,24,\"Codigo: DOWN\");\r\n    }\r\n     if(codigo == 16){\r\n    u8g2.drawStr(0,24,\"Codigo: EXIT\");\r\n    }\r\n     if(codigo == 17){\r\n    u8g2.drawStr(0,24,\"Preparado\");\r\n\r\n    }\r\n    } while ( u8g2.nextPage() );\r\n }<\/pre>\n<hr \/>\n<p style=\"text-align: left;\"><div class=\"page-sidebar widget\" id=\"donation_buttons\"><form action=\"https:\/\/www.paypal.com\/cgi-bin\/webscr\" method=\"post\" target=\"_blank\" ><input type=\"hidden\" name=\"business\" value=\"donacion@rogerbit.com\"><input type=\"hidden\" name=\"bn\" value=\"mbjtechnolabs_SP\"><input type=\"hidden\" name=\"cmd\" value=\"_donations\"><input type=\"hidden\" name=\"item_name\" value=\"Ayuda a RogerBit.com\"><input type=\"hidden\" name=\"item_number\" value=\"www.rogerbit.com\"><input type=\"hidden\" class=\"set_donation_button_amount\" name=\"amount\" value=\"1\"><table ><tbody><tr><td><label for=\"rogerBit necesita de tu ayuda para seguir existiendo :-)\">rogerBit necesita de tu ayuda para seguir existiendo :-)<\/label><\/td><\/tr><\/tbody><\/table><table ><tbody><tr><td><input style=\"margin-top:10px;\" type=\"image\" name=\"submit\" border=\"0\" src=\"https:\/\/www.paypal.com\/en_US\/i\/btn\/btn_donateCC_LG.gif\" alt=\"PayPal - The safer, easier way to pay online\"><\/td><\/tr><\/tbody><\/table><input type=\"hidden\" name=\"currency_code\" value=\"USD\"><input type=\"hidden\" name=\"notify_url\" value=\"https:\/\/rogerbit.com\/wprb\/?Donation_Button&#038;action=ipn_handler\"><\/form><\/div><\/p>\n<hr \/>\n<p style=\"text-align: left;\"><strong>PROYECTOS RECOMENDADOS<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"Interruptor Remoto DTMF con celular sin gastar un centavo en llamadas\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/tTvZjakofJU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>En este tutorial veremos como fabricar un circuito para conectar a nuestro handy, en este caso un baofeng UV-5R (aunque tambi\u00e9n sirve para otras marcas y modelos) para control a larga distancia de motores, luces, bombas de agua sin la necesidad de utilizar una red celular, o en lugares que esta no exista. Veremos el [&hellip;]<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":6697,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[1067,913,1323,1324,1077,81,181,486,906,772,595,1319,1071,1070,1069,624,1322,630,528,1320,1321,436,613,1068,1066,917,31,687],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/6681"}],"collection":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/comments?post=6681"}],"version-history":[{"count":5,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/6681\/revisions"}],"predecessor-version":[{"id":6706,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/6681\/revisions\/6706"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/6697"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=6681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=6681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=6681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}