        <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
        {"id":6400,"date":"2021-05-02T12:45:48","date_gmt":"2021-05-02T12:45:48","guid":{"rendered":"https:\/\/rogerbit.com\/wprb\/?p=6400"},"modified":"2021-05-02T13:02:32","modified_gmt":"2021-05-02T13:02:32","slug":"sistema-de-encendido-de-luces-dual-de-8-canales-por-infrarrojos-y-pulsadores","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2021\/05\/sistema-de-encendido-de-luces-dual-de-8-canales-por-infrarrojos-y-pulsadores\/","title":{"rendered":"Sistema de encendido de luces dual de 8 canales, por infrarrojos y pulsadores"},"content":{"rendered":"<p><iframe loading=\"lazy\" title=\"\ud83d\udca1 Sistema de encendido de luces dual de 8 canales, por infrarrojos y pulsadores - PCBWay.es\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/uvJIHicDhEo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>En este tutorial armaremos un sistema de encendido de luces dual, ya que podemos controlar el encendido y pagado mediante un control remoto por infrarrojos, y tambi\u00e9n por medio de 8 pulsadores. Usaremos un m\u00f3dulo relay de 8 canales, un arduino nano, un m\u00f3dulo receptor infrarrojos, un pcb fabricado en pcbway, y otros componentes electr\u00f3nicos. Armaremos el circuito, analizaremos paso a paso el c\u00f3digo fuente y finalmente probaremos todo el funcionamiento del sistema.<\/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<p>Materiales<\/p>\n<h4>Un Arduino nano<\/h4>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/arduino-nano.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-6304\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/arduino-nano.jpg\" alt=\"\" width=\"376\" height=\"376\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/arduino-nano.jpg 800w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/arduino-nano-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/arduino-nano-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/arduino-nano-768x768.jpg 768w\" sizes=\"(max-width: 376px) 100vw, 376px\" \/><\/a><\/p>\n<p>El Arduino Nano es una placa peque\u00f1a, completa y compatible con la placa de pruebas basada en el ATmega328 (Arduino Nano 3.x).\u00a0Tiene m\u00e1s o menos la misma funcionalidad del Arduino Duemilanove, pero en un paquete diferente.\u00a0Solo carece de un conector de alimentaci\u00f3n de CC y funciona con un cable USB Mini-B en lugar de uno est\u00e1ndar.<\/p>\n<table>\n<tbody>\n<tr>\n<td>Microcontrolador<\/td>\n<td>ATmega328<\/td>\n<\/tr>\n<tr>\n<td>Arquitectura<\/td>\n<td>AVR<\/td>\n<\/tr>\n<tr>\n<td>Tensi\u00f3n de funcionamiento<\/td>\n<td>5 V<\/td>\n<\/tr>\n<tr>\n<td>Memoria flash<\/td>\n<td>32 KB de los cuales 2 KB utiliza el gestor de arranque<\/td>\n<\/tr>\n<tr>\n<td>SRAM<\/td>\n<td>2 KB<\/td>\n<\/tr>\n<tr>\n<td>Velocidad de reloj<\/td>\n<td>16 MHz<\/td>\n<\/tr>\n<tr>\n<td>Pines anal\u00f3gicos IN<\/td>\n<td>8<\/td>\n<\/tr>\n<tr>\n<td>EEPROM<\/td>\n<td>1 KB<\/td>\n<\/tr>\n<tr>\n<td>Corriente CC por pines de E \/ S<\/td>\n<td>40 mA (pines de E \/ S)<\/td>\n<\/tr>\n<tr>\n<td>Voltaje de entrada<\/td>\n<td>7-12 V<\/td>\n<\/tr>\n<tr>\n<td>Pines de E \/ S digitales<\/td>\n<td>22 (6 de los cuales son PWM)<\/td>\n<\/tr>\n<tr>\n<td>Salida PWM<\/td>\n<td>6<\/td>\n<\/tr>\n<tr>\n<td>El consumo de energ\u00eda<\/td>\n<td>19 mA<\/td>\n<\/tr>\n<tr>\n<td>Tama\u00f1o de PCB<\/td>\n<td>18 x 45 mm<\/td>\n<\/tr>\n<tr>\n<td>Peso<\/td>\n<td>7 g<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Diagrama de pines<\/h3>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Pinout-NANO.png\"><img loading=\"lazy\" class=\"alignnone wp-image-6033 size-large\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Pinout-NANO-1024x1024.png\" alt=\"\" width=\"1024\" height=\"1024\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Pinout-NANO-1024x1024.png 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Pinout-NANO-150x150.png 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Pinout-NANO-300x300.png 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Pinout-NANO-768x768.png 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Pinout-NANO-600x600.png 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Pinout-NANO-820x820.png 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Pinout-NANO-1320x1321.png 1320w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<hr \/>\n<h4>Pines hembra<\/h4>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/kit-pines-hembra-arduino.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-6305\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/kit-pines-hembra-arduino.jpg\" alt=\"\" width=\"270\" height=\"270\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/kit-pines-hembra-arduino.jpg 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/kit-pines-hembra-arduino-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/kit-pines-hembra-arduino-150x150.jpg 150w\" sizes=\"(max-width: 270px) 100vw, 270px\" \/><\/a><\/p>\n<hr \/>\n<h4>Un z\u00f3calo para el arduino nano<\/h4>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/zocalo.png\"><img loading=\"lazy\" class=\"alignnone wp-image-6311\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/zocalo.png\" alt=\"\" width=\"380\" height=\"260\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/zocalo.png 594w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/03\/zocalo-300x205.png 300w\" sizes=\"(max-width: 380px) 100vw, 380px\" \/><\/a><\/p>\n<hr \/>\n<p>M\u00f3dulo relay de 8 canales<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-6404\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/8_canales_relay.jpg\" alt=\"\" width=\"700\" height=\"416\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/8_canales_relay.jpg 700w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/8_canales_relay-300x178.jpg 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/p>\n<p><strong>Caracter\u00edsticas<\/strong><\/p>\n<p>Permite controlar el encendido\/apagado de equipos de alta potencia (electrodom\u00e9sticos). Funciona perfectamente con Arduino, Pic o cualquier otro sistema digital.<\/p>\n<p>Dentro de la gran variedad de proyectos que podemos realizar con Arduino, podemos llegar a desear controlar componentes de alto voltaje o alto amperaje, como bombillas o bombas de agua, los cuales no pueden ser manejados directamente con Arduino. En estos casos es necesario utilizar Relays o Reles, estos dispositivos permiten controlar cargas de alto voltaje con una se\u00f1al peque\u00f1a.<\/p>\n<p>El modulo posee 8 Relays de alta calidad, capaces de manejar cargas de hasta 250V\/10A. Cada canal posee aislamiento el\u00e9ctrico por medio de un optoacoplador y un led indicador de estado. Su dise\u00f1o facilita el trabajo con Arduino, al igual que con muchos otros sistemas como Raspberry Pi, ESP8266 (NodeMCU y Wemos), Teensy y Pic. Este modulo Relay activa la salida normalmente abierta (NO: Normally Open) al recibir un \u201c0\u201d l\u00f3gico (0 Voltios) y desactiva la salida con un \u201c1\u201d l\u00f3gico (5 voltios). Para la programaci\u00f3n de Arduino y Relays se recomienda el uso de timers con la funci\u00f3n \u201cmillis()\u201d y de esa forma no utilizar la funci\u00f3n \u201cdelay\u201d que impide que el sistema continue trabajando mientras se activa\/desactiva un relay.<\/p>\n<p>Entre las cargas que se pueden manejar tenemos: bombillas de luz, luminarias, motores AC (220V), motores DC, solenoides, electrov\u00e1lvulas, calentadores de agua y una gran variedad de actuadores m\u00e1s. Se recomienda realizar y verificar las conexiones antes de alimentar el circuito, tambi\u00e9n es una buena pr\u00e1ctica proteger el circuito dentro de un case.<\/p>\n<p><strong>Datos t\u00e9cnicos<\/strong><\/p>\n<p>8 canales independientes<\/p>\n<p>8 Relevadores (Relays) de 1 polo 2 tiros<\/p>\n<p>El voltaje de la bobina del rel\u00e9 es de 5 VDC<\/p>\n<p>Led indicador para cada canal (enciende cuando la bobina del rel\u00e9 esta activa)<\/p>\n<p>Activado mediante corriente: el circuito de control debe proveer una corriente de 15 a 20 mA<\/p>\n<p>Puede controlado directamente por circuito l\u00f3gicos<\/p>\n<p>Terminales de conexi\u00f3n de tornillo (clemas)<\/p>\n<p>Terminales de entrada de se\u00f1al l\u00f3gica con headers macho de 0.1\u2033.<\/p>\n<p>Puede controlado directamente por circuito l\u00f3gicos<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Alimentaci\u00f3n y consumo<\/strong><\/p>\n<p>La forma mas sencilla de alimentar este m\u00f3dulo es desde Vcc y GND de la placa Arduino, manteniendo el Jumper en su lugar, con lo que JD-Vcc = Vcc. Esta conexi\u00f3n tiene dos limitaciones importantes:<\/p>\n<p>Se pierde la aislaci\u00f3n el\u00e9ctrica que brindan los optoacopladores, lo que aumenta la posibilidad de da\u00f1o al Arduino si hay alg\u00fan problema con las cargas de los rel\u00e9s.<\/p>\n<p>La corriente consumida por las bobinas de los rel\u00e9s debe ser provista por la placa Arduino. Cada bobina consume unos 90 mA y las cuatro juntas suman 360 mA. Si a esto le sumamos los consumos que pueden tener otras salidas, estamos muy cerca de los 500 mA que puede suministrar un puerto USB. En este caso se deber\u00eda alimentar al Arduino con una fuente externa, lo que aumenta el limite de corriente a 1 A (en el caso de la Arduino UNO).<\/p>\n<p>La forma mas segura es remover el jumper y alimentar la placa de rel\u00e9s con dos fuentes: la de la placa Arduino conectada a Vcc y una segunda fuente, con el positivo a JD-Vcc y el negativo a GND, sin estar \u00e9ste unido a la placa Arduino. Esta conexi\u00f3n tiene como ventajas:<\/p>\n<p>Hay completa aislaci\u00f3n entre la carga y el Arduino.<\/p>\n<p>Todo el consumo de los rel\u00e9s es tomado de la segunda fuente y no del Arduino o el puerto USB.<\/p>\n<p><strong>Entradas<\/strong><\/p>\n<p>Las entradas a la placa pueden conectarse directamente a las salidas digitales de la placa Arduino. La \u00fanica precauci\u00f3n a tener en cuenta es que cuando Arduino arranca al ser alimentado, los pines se configuran como entradas autom\u00e1ticamente y puede ocurrir que, por un brev\u00edsimo lapso de tiempo entre el arranque y la correcta configuraci\u00f3n de estos pines como salidas, las entradas de control al m\u00f3dulo de rel\u00e9 queden en un estado indeterminado. Esto se puede evitar conectando en cada entrada un pull-up con una resistencia de 10K a Vcc, lo que asegura un estado ALTO durante el arranque.<\/p>\n<hr \/>\n<p>Pines macho<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6405\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/conector-empalme-tira-led-4-pines-macho-macho-x4.jpg\" alt=\"\" width=\"244\" height=\"244\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/conector-empalme-tira-led-4-pines-macho-macho-x4.jpg 458w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/conector-empalme-tira-led-4-pines-macho-macho-x4-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/conector-empalme-tira-led-4-pines-macho-macho-x4-150x150.jpg 150w\" sizes=\"(max-width: 244px) 100vw, 244px\" \/><\/p>\n<hr \/>\n<p>M\u00f3dulo receptor infrarrojo ky-022<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6406\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/ky-022.jpg\" alt=\"\" width=\"293\" height=\"293\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/ky-022.jpg 800w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/ky-022-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/ky-022-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/ky-022-768x768.jpg 768w\" sizes=\"(max-width: 293px) 100vw, 293px\" \/><\/p>\n<p>Tama\u00f1o: 6.4 * 7.4 * 5.1MM, \u00e1ngulo de aceptaci\u00f3n 90 \u00b0, voltaje de trabajo 2.7-5.5V.<br \/>\nFrecuencia 37.9KHZ, recibiendo la distancia 18 m.<\/p>\n<p>Rechazo de luz diurna hasta 500LUX, capacidad de interferencia electromagn\u00e9tica, IC dedicado de infrarrojos incorporado.<br \/>\nAmpliamente utilizado: est\u00e9reo, TV, VCR, CD, decodificadores, marco de fotos digital, audio para el autom\u00f3vil, juguetes de control remoto, receptores de sat\u00e9lite, disco duro, aire acondicionado, calefacci\u00f3n, ventiladores, iluminaci\u00f3n y otros electrodom\u00e9sticos.<\/p>\n<p>Pinout:<\/p>\n<p>1 \u2026. GND (-)<\/p>\n<p>2 \u2026. + 5V<\/p>\n<p>3 \u2026. Salida (S)<\/p>\n<hr \/>\n<p>Ocho pulsadores<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6407\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/pulsador.jpg\" alt=\"\" width=\"188\" height=\"188\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/pulsador.jpg 227w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/pulsador-150x150.jpg 150w\" sizes=\"(max-width: 188px) 100vw, 188px\" \/><\/p>\n<hr \/>\n<p>Un pcb<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-6408\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/pcb.png\" alt=\"\" width=\"351\" height=\"408\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/pcb.png 351w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/pcb-258x300.png 258w\" sizes=\"(max-width: 351px) 100vw, 351px\" \/><\/p>\n<p>Descargar &#8211;&gt; <a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/05\/Gerber_PCB_control-de-luces-de-8-canales-por-infrarrojo.zip\">Control de luces de 8 canales por infrarrojo<\/a><\/p>\n<hr \/>\n<p>C\u00f3digo Fuente<\/p>\n<pre class=\"lang:arduino decode:true\" title=\"C\u00f3digo Fuente\">\/\/M\u00e1s proyectos en www.rogerbit.com\r\n#include &lt;IRremote.h&gt;\r\n#define RECV_PIN 2 \/\/indicamos el pin por el que recibimos los datos del \r\n\/\/sensor TSOP1838\r\nIRrecv irrecv(RECV_PIN);\r\ndecode_results results;\r\nint estadoBoton11 = 0;\r\nint estadoBoton12 = 0;\r\nint estadoBotonA5 = 0;\r\nint estadoBotonA0 = 0;\r\nint estadoBotonA1 = 0;\r\nint estadoBotonA2 = 0;\r\nint estadoBotonA3 = 0;\r\nint estadoBotonA4 = 0;\r\n\r\nint estado11 = 0;\r\nint estado12 = 0;\r\nint estadoA5 = 0;\r\nint estadoA0 = 0;\r\nint estadoA1 = 0;\r\nint estadoA2 = 0;\r\nint estadoA3 = 0;\r\nint estadoA4 = 0;\r\n\/\/Pulsadores\r\nint botonPin11 =11; \r\nint botonPin12 =12;\r\nint botonPinA5 =A5;\r\nint botonPinA0 =A0;\r\nint botonPinA1 =A1;\r\nint botonPinA2 =A2;\r\nint botonPinA3 =A3;\r\nint botonPinA4 =A4;\r\nvoid setup()\r\n{\r\n     Serial.begin(9600);\/\/Velocidad del puerto\r\n     \/\/Definimos estos pines como salidas\r\n     pinMode(3,OUTPUT);  \r\n     pinMode(4,OUTPUT);  \r\n     pinMode(5,OUTPUT); \r\n     pinMode(6,OUTPUT); \r\n     pinMode(7,OUTPUT); \r\n     pinMode(8,OUTPUT); \r\n     pinMode(9,OUTPUT); \r\n     pinMode(10,OUTPUT);\r\n     \/\/Ponemos en estado Alto todas las salidas \r\n     digitalWrite(3,HIGH);\r\n     digitalWrite(4,HIGH);\r\n     digitalWrite(5,HIGH);\r\n     digitalWrite(6,HIGH);\r\n     digitalWrite(7,HIGH);\r\n     digitalWrite(8,HIGH);\r\n     digitalWrite(9,HIGH);\r\n     digitalWrite(10,HIGH);\r\n     \/\/Definimos estos pines como entrdas para los pulsadores\r\n     pinMode(botonPin11, INPUT_PULLUP);\r\n     pinMode(botonPin12, INPUT_PULLUP);\r\n     pinMode(botonPinA5, INPUT_PULLUP);\r\n     pinMode(botonPinA0, INPUT_PULLUP);\r\n     pinMode(botonPinA1, INPUT_PULLUP);\r\n     pinMode(botonPinA2, INPUT_PULLUP);\r\n     pinMode(botonPinA3, INPUT_PULLUP);\r\n     pinMode(botonPinA4, INPUT_PULLUP);\r\n     irrecv.enableIRIn(); \/\/ Iniciamos la recepcion\r\n}\r\nvoid loop()\r\n{\r\n\/\/Si tenemos datos de lectura debido a que se pulsa una tecla en el mando\r\n   if (irrecv.decode(&amp;results))\r\n    {\r\n\/\/Mostramos por puerto serie dicho codigo en Hexadecimal(para depuracion)\r\n   Serial.print(\"Codigo: 0x\") ;\r\n   Serial.println(results.value,HEX) ;\r\n\/\/Pin 3 arduino IN1 en m\u00f3dulo relay de 8 canales\r\nif(results.value==0x2B||results.value==0x82B)\/\/Apagado\r\n   {\r\n digitalWrite(3,HIGH);\r\n estado11 = 0;\r\n        }\r\n        \r\nif(results.value==0x2A||results.value==0x82A)\/\/Encendido\r\n   {\r\n digitalWrite(3, LOW);\r\n estado11 = 1;\r\n        }   \r\n\/\/Pin 4 arduino IN2 en m\u00f3dulo relay de 8 canales\r\nif(results.value==0x23||results.value==0x823)\/\/Apagado\r\n   {\r\n digitalWrite(4,HIGH);\r\n estado12 = 0;\r\n        }\r\n        \r\nif(results.value==0x27||results.value==0x827)\/\/Encendido\r\n   {\r\n digitalWrite(4, LOW);\r\n estado12 = 1;\r\n        }\r\n\/\/Pin 5 arduino IN3 en m\u00f3dulo relay de 8 canales\r\nif(results.value==0xB||results.value==0x80B)\/\/Apagado\r\n   {\r\n digitalWrite(5,HIGH);\r\n estadoA5 = 0;\r\n   }   \r\n\r\nif(results.value==0x3D||results.value==0x83D)\/\/Encendido\r\n   {\r\n digitalWrite(5,LOW);\r\n estadoA5 = 1;\r\n   }\r\n\/\/Pin 6 arduino IN4 en m\u00f3dulo relay de 8 canales\r\nif(results.value==0x30||results.value==0x830)\/\/Apagado\r\n   {\r\n digitalWrite(6,HIGH);\r\n  estadoA0 = 0;\r\n   }   \r\n\r\nif(results.value==0x2F||results.value==0x82F)\/\/Encendido\r\n   {\r\n digitalWrite(6,LOW);\r\n  estadoA0 = 1;\r\n   }\r\n\/\/Pin 7 arduino IN5 en m\u00f3dulo relay de 8 canales\r\nif(results.value==0x33||results.value==0x833)\/\/Apagado\r\n   {\r\n digitalWrite(7,HIGH);\r\n  estadoA1 = 0;\r\n   }   \r\n\r\nif(results.value==0x31||results.value==0x831)\/\/Encendido\r\n   {\r\n digitalWrite(7,LOW);\r\n   estadoA1 = 1;\r\n   }   \r\n\/\/Pin 8 arduino IN6 en m\u00f3dulo relay de 8 canales\r\nif(results.value==0x21||results.value==0x821)\/\/Apagado\r\n   {\r\n digitalWrite(8,HIGH);\r\n  estadoA2 = 0;\r\n   }   \r\n\r\nif(results.value==0x20||results.value==0x820)\/\/Encendido\r\n   {\r\n digitalWrite(8,LOW);\r\n  estadoA2 = 1;\r\n   } \r\n\/\/Pin 9 arduino IN7 en m\u00f3dulo relay de 8 canales\r\nif(results.value==0x24||results.value==0x824)\/\/Apagado\r\n   {\r\n digitalWrite(9,HIGH);\r\n  estadoA3 = 0;\r\n   }   \r\n\r\nif(results.value==0xE||results.value==0x80E)\/\/Encendido\r\n   {\r\n digitalWrite(9,LOW);\r\n  estadoA3 = 1;\r\n   } \r\n\/\/Pin 10 arduino IN8 en m\u00f3dulo relay de 8 canales\r\nif(results.value==0x11||results.value==0x811)\/\/Apagado\r\n   {\r\n digitalWrite(10,HIGH);\r\n  estadoA4 = 0;\r\n   }   \r\n\r\nif(results.value==0x10||results.value==0x810)\/\/Encendido\r\n   {\r\n digitalWrite(10,LOW);\r\n  estadoA4 = 1;\r\n   } \r\nirrecv.resume(); \/\/ Recibimos el siguiente valor del sensor\r\n}\r\ndelay(100);\/\/Retardo antirrebote para los pulsadores\r\nestadoBoton11 = digitalRead(botonPin11);\/\/Leemos el pulsador para ver su estado\r\nestadoBoton12 = digitalRead(botonPin12);\/\/Leemos el pulsador para ver su estado\r\nestadoBotonA5 = digitalRead(botonPinA5);\/\/Leemos el pulsador para ver su estado\r\nestadoBotonA0 = digitalRead(botonPinA0);\/\/Leemos el pulsador para ver su estado\r\nestadoBotonA1 = digitalRead(botonPinA1);\/\/Leemos el pulsador para ver su estado\r\nestadoBotonA2 = digitalRead(botonPinA2);\/\/Leemos el pulsador para ver su estado\r\nestadoBotonA3 = digitalRead(botonPinA3);\/\/Leemos el pulsador para ver su estado\r\nestadoBotonA4 = digitalRead(botonPinA4);\/\/Leemos el pulsador para ver su estado\r\n  \/\/Llama a una funci\u00f3n\r\nif (estadoBoton11 == LOW) {\/\/Si el pulsador est\u00e1 precionado se cumple esta condici\u00f3n\r\n  luz11();\r\n }\r\n \/\/Llama a una funci\u00f3n\r\nif (estadoBoton12 == LOW) {\/\/Si el pulsador est\u00e1 precionado se cumple esta condici\u00f3n\r\n  luz12();\r\n }\r\n\r\n \/\/Llama a una funci\u00f3n\r\nif (estadoBotonA5 == LOW) {\/\/Si el pulsador est\u00e1 precionado se cumple esta condici\u00f3n\r\n  luzA5();\r\n }\r\n \/\/Llama a una funci\u00f3n\r\nif (estadoBotonA0 == LOW) {\/\/Si el pulsador est\u00e1 precionado se cumple esta condici\u00f3n\r\n  luzA0();\r\n }\r\n\r\n \/\/Llama a una funci\u00f3n\r\nif (estadoBotonA1 == LOW) {\/\/Si el pulsador est\u00e1 precionado se cumple esta condici\u00f3n\r\n  luzA1();\r\n } \r\n\r\n \/\/Llama a una funci\u00f3n\r\nif (estadoBotonA2 == LOW) {\/\/Si el pulsador est\u00e1 precionado se cumple esta condici\u00f3n\r\n  luzA2();\r\n }\r\n\r\n \/\/Llama a una funci\u00f3n\r\nif (estadoBotonA3 == LOW) {\/\/Si el pulsador est\u00e1 precionado se cumple esta condici\u00f3n\r\n  luzA3();\r\n } \r\n\r\n \/\/Llama a una funci\u00f3n\r\nif (estadoBotonA4 == LOW) {\/\/Si el pulsador est\u00e1 precionado se cumple esta condici\u00f3n\r\n  luzA4();\r\n } \r\n \r\n}\r\n\/\/Funci\u00f3n para encender la luz con el bot\u00f3n\r\nvoid luz11(){\r\nif(estado11 ==0){\/\/Si la variable estado es igual a 0 se cumple esta condici\u00f3n\r\ndigitalWrite(3, LOW);\/\/ Encendemos el relay\r\nestado11 = 1;\/\/Asignamos el valor 1 a la variable \"estado\"\r\n} else{\r\n digitalWrite(3, HIGH);\/\/Apagamos el relay\r\n estado11 = 0;\r\n  }\r\nwhile(estadoBoton11 == LOW){\r\nestadoBoton11 = digitalRead(11);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n  }  \r\n  }\r\n\r\n\/\/Funci\u00f3n para encender la luz con el bot\u00f3n\r\nvoid luz12(){\r\nif(estado12 ==0){\/\/Si la variable estado es igual a 0 se cumple esta condici\u00f3n\r\ndigitalWrite(4, LOW);\/\/ Encendemos el relay\r\nestado12 = 1;\/\/Asignamos el valor 1 a la variable \"estado\"\r\n} else{\r\n digitalWrite(4, HIGH);\/\/Apagamos el relay\r\n estado12 = 0;\r\n  }\r\nwhile(estadoBoton12 == LOW){\r\nestadoBoton12 = digitalRead(12);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n  }  \r\n  }\r\n\r\n\/\/Funci\u00f3n para encender la luz con el bot\u00f3n\r\nvoid luzA5(){\r\nif(estadoA5 ==0){\/\/Si la variable estado es igual a 0 se cumple esta condici\u00f3n\r\ndigitalWrite(5, LOW);\/\/ Encendemos el relay\r\nestadoA5 = 1;\/\/Asignamos el valor 1 a la variable \"estado\"\r\n} else{\r\n digitalWrite(5, HIGH);\/\/Apagamos el relay\r\n estadoA5 = 0;\r\n  }\r\nwhile(estadoBotonA5 == LOW){\r\nestadoBotonA5 = digitalRead(A5);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n  }  \r\n  }\r\n\r\nvoid luzA0(){\r\nif(estadoA0 ==0){\/\/Si la variable estado es igual a 0 se cumple esta condici\u00f3n\r\ndigitalWrite(6, LOW);\/\/ Encendemos el relay\r\nestadoA0 = 1;\/\/Asignamos el valor 1 a la variable \"estado\"\r\n} else{\r\n digitalWrite(6, HIGH);\/\/Apagamos el relay\r\n estadoA0 = 0;\r\n  }\r\nwhile(estadoBotonA0 == LOW){\r\nestadoBotonA0 = digitalRead(A0);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n  }  \r\n  }\r\n\r\n\/\/Funci\u00f3n para encender la luz con el bot\u00f3n\r\nvoid luzA1(){\r\nif(estadoA1 ==0){\/\/Si la variable estado es igual a 0 se cumple esta condici\u00f3n\r\ndigitalWrite(7, LOW);\/\/ Encendemos el relay\r\nestadoA1 = 1;\/\/Asignamos el valor 1 a la variable \"estado\"\r\n} else{\r\n digitalWrite(7, HIGH);\/\/Apagamos el relay\r\n estadoA1 = 0;\r\n  }\r\nwhile(estadoBotonA1 == LOW){\r\nestadoBotonA1 = digitalRead(A1);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n  }  \r\n  }  \r\n\r\n\/\/Funci\u00f3n para encender la luz con el bot\u00f3n\r\nvoid luzA2(){\r\nif(estadoA2 ==0){\/\/Si la variable estado es igual a 0 se cumple esta condici\u00f3n\r\ndigitalWrite(8, LOW);\/\/ Encendemos el relay\r\nestadoA2 = 1;\/\/Asignamos el valor 1 a la variable \"estado\"\r\n} else{\r\n digitalWrite(8, HIGH);\/\/Apagamos el relay\r\n estadoA2 = 0;\r\n  }\r\nwhile(estadoBotonA2 == LOW){\r\nestadoBotonA2 = digitalRead(A2);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n  }  \r\n  }\r\n\r\n\/\/Funci\u00f3n para encender la luz con el bot\u00f3n\r\nvoid luzA3(){\r\nif(estadoA3 ==0){\/\/Si la variable estado es igual a 0 se cumple esta condici\u00f3n\r\ndigitalWrite(9, LOW);\/\/ Encendemos el relay\r\nestadoA3 = 1;\/\/Asignamos el valor 1 a la variable \"estado\"\r\n} else{\r\n digitalWrite(9, HIGH);\/\/Apagamos el relay\r\n estadoA3 = 0;\r\n  }\r\nwhile(estadoBotonA3 == LOW){\r\nestadoBotonA3 = digitalRead(A3);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n  }  \r\n  }\r\n\r\n\/\/Funci\u00f3n para encender la luz con el bot\u00f3n\r\nvoid luzA4(){\r\nif(estadoA4 ==0){\/\/Si la variable estado es igual a 0 se cumple esta condici\u00f3n\r\ndigitalWrite(10, LOW);\/\/ Encendemos el relay\r\nestadoA4 = 1;\/\/Asignamos el valor 1 a la variable \"estado\"\r\n} else{\r\n digitalWrite(10, HIGH);\/\/Apagamos el relay\r\n estadoA4 = 0;\r\n  }\r\nwhile(estadoBotonA4 == LOW){\r\nestadoBotonA4 = digitalRead(A4);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n  }  \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>PROYECTO RECOMENDADO<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"\ud83c\udfe1 Dom\u00f3tica: Encendendiendo luces con control remoto infrarrojo - Muy f\u00e1cil\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/uksrYiXYthE?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 armaremos un sistema de encendido de luces dual, ya que podemos controlar el encendido y pagado mediante un control remoto por infrarrojos, y tambi\u00e9n por medio de 8 pulsadores. Usaremos un m\u00f3dulo relay de 8 canales, un arduino nano, un m\u00f3dulo receptor infrarrojos, un pcb fabricado en pcbway, y otros componentes electr\u00f3nicos. [&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":6402,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[1067,45,767,181,486,636,906,772,1170,595,1071,1070,1069,624,514,1174,1172,1171,613,1068,1066,917,1173,687,1137],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/6400"}],"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=6400"}],"version-history":[{"count":3,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/6400\/revisions"}],"predecessor-version":[{"id":6411,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/6400\/revisions\/6411"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/6402"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=6400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=6400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=6400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}