        <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
        {"id":6021,"date":"2020-11-18T15:22:24","date_gmt":"2020-11-18T15:22:24","guid":{"rendered":"http:\/\/rogerbit.com\/wprb\/?p=6021"},"modified":"2020-12-08T14:00:58","modified_gmt":"2020-12-08T14:00:58","slug":"how-to-turn-on-lights-with-apc220-radio-frequency-modules-and-arduino-mini-pro","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2020\/11\/how-to-turn-on-lights-with-apc220-radio-frequency-modules-and-arduino-mini-pro\/","title":{"rendered":"How to turn on lights with apc220 radio frequency modules and arduino mini pro"},"content":{"rendered":"<p><iframe loading=\"lazy\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/Ri48EZLPyl4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>In this tutorial we will use the radio frequency modules apc220 and arduino mini pro, to turn on lights or any other device, at a distance of up to one kilometer. This project is ideal for controlling devices, where there is no possibility of having internet to control them.<\/p>\n<h4>Plates and modules used in this project<\/h4>\n<h3>Arduino mini pro<\/h3>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-4993\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro.jpg\" sizes=\"(max-width: 600px) 100vw, 600px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro.jpg 600w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro-150x150.jpg 150w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro-300x300.jpg 300w\" alt=\"\" width=\"600\" height=\"600\" \/><\/a><\/p>\n<p>The\u00a0<strong>Arduino Pro Mini<\/strong>\u00a0is a microcontroller board based on the\u00a0<a href=\"http:\/\/www.atmel.com\/Images\/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet.pdf\" target=\"_blank\" rel=\"noopener\">ATmega328.<\/a><br \/>\nIt has 14 digital input\/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, an integrated resonator, a reset button and holes to mount pin headers. A six-pin header can be connected to an FTDI cable or Sparkfun connection board to provide USB power and communication to the board.<br \/>\nThe Arduino Pro Mini is designed for semi-permanent installation in objects or exhibitions. The board comes without pre-assembled headers, allowing the use of various types of connectors or direct cable welding. The pin design is compatible with the Arduino Mini.<br \/>\nThere are two versions of the Pro Mini. One runs at 3.3V and 8 MHz, the other at 5V and 16 MHz.<\/p>\n<table>\n<tbody>\n<tr>\n<td>Microcontroller<\/td>\n<td>ATmega328 *<\/td>\n<\/tr>\n<tr>\n<td>Board power supply<\/td>\n<td>3.35-12 V (3.3 V model) or 5-12 V (5 V model)<\/td>\n<\/tr>\n<tr>\n<td>Circuit operating voltage<\/td>\n<td>3.3V or 5V (depending on model)<\/td>\n<\/tr>\n<tr>\n<td>Digital I\/O Pins<\/td>\n<td>14<\/td>\n<\/tr>\n<tr>\n<td>PWM pins<\/td>\n<td>6 6<\/td>\n<\/tr>\n<tr>\n<td>Uart<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>Spi<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>I2c<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>Analog input pins<\/td>\n<td>6 6<\/td>\n<\/tr>\n<tr>\n<td>External outages<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>DC current per I\/O pin<\/td>\n<td>40 mA<\/td>\n<\/tr>\n<tr>\n<td>Flash memory<\/td>\n<td>32 KB of which 2 KB used by the bootloader *<\/td>\n<\/tr>\n<tr>\n<td>Sram<\/td>\n<td>2 KB *<\/td>\n<\/tr>\n<tr>\n<td>Eeprom<\/td>\n<td>1 KB *<\/td>\n<\/tr>\n<tr>\n<td>Clock speed<\/td>\n<td>8 MHz (3.3V versions) or 16 MHz (5V versions)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"target_0\">Module Apc220<\/h3>\n<p>The\u00a0<strong>APC220 radio data module is a<\/strong>\u00a0highly versatile, high-power radio solution that is easy to set up and integrate into any project that requires a wireless RF link. It is perfect for robotic applications if you need wireless control. You can connect one of these modules to your MCU via the TTL interface, and connect to your PC with another APC220 module via a TTL\/USB converter.<\/p>\n<h3 id=\"target_1\">Specification<\/h3>\n<ul>\n<li>Working frequency: 420 MHz to 450 MHz<\/li>\n<li>Power: 3.5-5.5V<\/li>\n<li>Current: &lt;25-35mA<\/li>\n<li>Working temperature: -20oC + 70oC<\/li>\n<li>Range: 1200 m line of sight (1200 bps)<\/li>\n<li>Interface: UART\/ TTL<\/li>\n<li>Transmission speed: 1200-19200 bps<\/li>\n<li>Transmission speed (air): 1200-19200 bps<\/li>\n<li>Receive buffer: 256 bytes<\/li>\n<li>Size: 37mm \u00d7 17mm \u00d7 6.6mm<\/li>\n<li>Weight: 30g<\/li>\n<\/ul>\n<hr \/>\n<p>You may be interested in projects in Arduino, pic, robotics, telecommunications,\u00a0<a href=\"http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1\">subscribe http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1<\/a>\u00a0videos with full source code and diagrams<\/p>\n<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>\n<hr \/>\n<h3 id=\"target_2\">Pinout<\/h3>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/pinout.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-4758\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/pinout.jpg\" sizes=\"(max-width: 512px) 100vw, 512px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/pinout.jpg 512w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/pinout-300x244.jpg 300w\" alt=\"\" width=\"512\" height=\"416\" \/><\/a><\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Pin<\/strong><\/th>\n<th><strong>Definition<\/strong><\/th>\n<th><strong>Detail<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td>Set<\/td>\n<td>Set parameters (low)<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>Aux<\/td>\n<td>UART signal- Transmission (low) Transmission (high)<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>Txd<\/td>\n<td>UART TX<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>Rxd<\/td>\n<td>UART RX<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>Is<\/td>\n<td>Turn off the device when you apply &lt;0.5 V. Enable the device when you leave it offline or apply &gt; 1.6 V<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>Vdc<\/td>\n<td>3.3V-5.5V power<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>Gnd<\/td>\n<td>Earth 0V<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Download RF-Magic<\/h3>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/APC22X_V12A.zip\">APC22X_V12A<\/a><\/p>\n<p>Datasheet<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/APC220_Datasheet.pdf\">APC220_Datasheet<\/a><\/p>\n<p>Run\u00a0<strong>APC22X_V12A.exe<\/strong>\u00a0(RF-Magic)\u00a0<strong>as an administrator<\/strong>\u00a0if your system is not Windows XP.<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/1.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-4772\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/1.png\" sizes=\"(max-width: 412px) 100vw, 412px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/1.png 412w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/1-300x270.png 300w\" alt=\"\" width=\"412\" height=\"371\" \/><\/a><\/p>\n<p><strong>NOTE:<\/strong>\u00a0In the software you will recognize the APC220 module and COMX serial port automatically once we open it. Check in Device Manager to verify the correct\u00a0<strong>COM port.<\/strong><\/p>\n<p>Configure RF-magic as in the red square frame below (default setting), and click\u00a0<strong>Write W to<\/strong>\u00a0enter your settings, then click Read R\u00a0<strong>to<\/strong>\u00a0read the parameters you have set.<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/2.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-4773\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/2.png\" sizes=\"(max-width: 412px) 100vw, 412px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/2.png 412w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/2-300x270.png 300w\" alt=\"\" width=\"412\" height=\"371\" \/><\/a><\/p>\n<p>Configuration<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/3.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-4774\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/3.png\" sizes=\"(max-width: 412px) 100vw, 412px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/3.png 412w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/06\/3-300x270.png 300w\" alt=\"\" width=\"412\" height=\"371\" \/><\/a><\/p>\n<p>Writing and reading settings<\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Parameter<\/strong><\/th>\n<th><strong>Range<\/strong><\/th>\n<th><strong>Default<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>RF frequency<\/td>\n<td>1KHz resolution, 100Hz \u00b1 accuracy<\/td>\n<td>434MHz<\/td>\n<\/tr>\n<tr>\n<td>TRx RF Rate<\/td>\n<td>1200, 2400, 4800, 9600, 19200 bps<\/td>\n<td>9600bps<\/td>\n<\/tr>\n<tr>\n<td>RF power<\/td>\n<td>0-9<\/td>\n<td>9<\/td>\n<\/tr>\n<tr>\n<td>Serial rate<\/td>\n<td>1200, 2400, 4800, 9600, 19200, 38400, 57600bps<\/td>\n<td>9600bps<\/td>\n<\/tr>\n<tr>\n<td>NET ID<\/td>\n<td>0-65535 (16-bit)<\/td>\n<td>12345<\/td>\n<\/tr>\n<tr>\n<td>NODE ID<\/td>\n<td>123456789012<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Patity Series<\/td>\n<td>Disable, the strange Patity, even Patity<\/td>\n<td>Disable<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Configure the other APC220 module in the same way, with the same parameter settings.<\/p>\n<h4>8-channel Relay rele module<\/h4>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/modulo-rele-8-canales-1.jpg\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-5007\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/modulo-rele-8-canales-1-300x300.jpg\" sizes=\"(max-width: 300px) 100vw, 300px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/modulo-rele-8-canales-1-300x300.jpg 300w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/modulo-rele-8-canales-1-150x150.jpg 150w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/modulo-rele-8-canales-1.jpg 458w\" alt=\"\" width=\"300\" height=\"300\" \/><\/a><\/p>\n<ul>\n<li>Operating Voltage: 5V DC<\/li>\n<li>Control Signal: TTL (3.3V or 5V)<\/li>\n<li>Number of Relays (channels): 8 CH<\/li>\n<li>Max capacity: 10A\/250VAC, 10A\/30VDC<\/li>\n<li>Max current: 10A (NO), 5A (NC)<\/li>\n<li>Action time: 10 ms\/5 ms<\/li>\n<li>To activate output NO: 0 Volts<\/li>\n<\/ul>\n<hr \/>\n<h4 class=\"col-md-3\">Emitting control circuit<\/h4>\n<p class=\"col-md-3\">The emitting circuit consists of the acp220 module, an Arduino mini pro and 8 Tact Switch type pushbuttons.<\/p>\n<p>The apc220 can power them with 3.3 to 5.5 volts, this version of arduino mini pro is 5 volts so we will power the whole circuit with that voltage.<\/p>\n<p>The Arduino transmitter pin must be connected to the receiver pin of the apc220 module, and vice versa, so that they can communicate with each other.<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/apc220_emisor_arduino_mini.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-4981\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/apc220_emisor_arduino_mini-702x1024.png\" sizes=\"(max-width: 702px) 100vw, 702px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/apc220_emisor_arduino_mini-702x1024.png 702w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/apc220_emisor_arduino_mini-206x300.png 206w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/apc220_emisor_arduino_mini-768x1121.png 768w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/apc220_emisor_arduino_mini-600x876.png 600w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/apc220_emisor_arduino_mini-820x1197.png 820w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/apc220_emisor_arduino_mini-1320x1926.png 1320w\" alt=\"\" width=\"702\" height=\"1024\" \/><\/a><\/p>\n<h3>Source code issuing control<\/h3>\n<pre class=\"lang:default decode:true \">\/\/declaraci\u00f3n de variables\r\nint  pul2 = 0;\r\nint  pul3 = 0;\r\nint  pul4 = 0;\r\nint  pul5 = 0;\r\nint  pul6 = 0;\r\nint  pul7 = 0;\r\nint  pul8 = 0;\r\nint  pul9 = 0;\r\nint estado2 = 0;\r\nint estado3 = 0;\r\nint estado4 = 0;\r\nint estado5 = 0;\r\nint estado6 = 0;\r\nint estado7 = 0;\r\nint estado8 = 0;\r\nint estado9 = 0;\r\nvoid setup()\r\n{\r\nSerial.begin(9600);\/\/Velocidad del puerto serial\r\npinMode(2, INPUT_PULLUP);\r\npinMode(3, INPUT_PULLUP);\r\npinMode(4, INPUT_PULLUP);\r\npinMode(5, INPUT_PULLUP);\r\npinMode(6, INPUT_PULLUP);\r\npinMode(7, INPUT_PULLUP);\r\npinMode(8, INPUT_PULLUP);\r\npinMode(9, INPUT_PULLUP);\r\n}\r\n\r\nvoid loop() {\r\n\/\/Lectura de botones\r\npul2 = digitalRead(2);\r\npul3 = digitalRead(3);\r\npul4 = digitalRead(4);\r\npul5 = digitalRead(5);\r\npul6 = digitalRead(6);\r\npul7 = digitalRead(7);\r\npul8 = digitalRead(8);\r\npul9 = digitalRead(9);\r\n\r\n\/\/Enciende o apaga la luz \r\nif (pul2 == LOW) {\/\/Si el pulsador 2 est\u00e1 precionado se cumple esta condici\u00f3n\r\npul2 = digitalRead(2);\/\/Leemos el estado del bot\u00f3n nuevamente\r\nif(estado2 ==0){\/\/Si la variable estado2 es igual a 0 se cumple esta condici\u00f3n\r\nSerial.print(\"luz2on\");\/\/ Enviamos esta cadena de caracteres x el puerto serial para encender la luz\r\nestado2 =1;\/\/Asignamos el valor 1 a la variable \"estado2\"\r\n} else{\r\n Serial.print(\"luz2off\");\/\/Enviamos esta cadena para apagar la luz\r\n estado2 =0;\r\n  }\r\nwhile(pul2 == LOW){\r\npul2 = digitalRead(2);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n    }\r\n  }\r\n\/\/-----------------------------------------------------------------------------------\r\n\/\/Enciende o apaga la luz \r\nif (pul3 == LOW) {\/\/Si el pulsador 3 est\u00e1 precionado se cumple esta condici\u00f3n\r\npul3 = digitalRead(3);\/\/Leemos el estado del bot\u00f3n nuevamente\r\nif(estado3 ==0){\/\/Si la variable estado3 es igual a 0 se cumple esta condici\u00f3n\r\nSerial.print(\"luz3on\");\/\/ Enviamos esta cadena de caracteres x el puerto serial para encender la luz\r\nestado3 =1;\/\/Asignamos el valor 1 a la variable \"estado3\"\r\n} else{\r\n Serial.print(\"luz3off\");\/\/Enviamos esta cadena para apagar la luz\r\n estado3 =0;\r\n  }\r\nwhile(pul3 == LOW){\r\npul3 = digitalRead(3);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n    }\r\n  }\r\n\/\/-----------------------------------------------------------------------------------\r\n\/\/Enciende o apaga la luz \r\nif (pul4 == LOW) {\/\/Si el pulsador 4 est\u00e1 precionado se cumple esta condici\u00f3n\r\npul4 = digitalRead(4);\/\/Leemos el estado del bot\u00f3n nuevamente\r\nif(estado4 ==0){\/\/Si la variable estado4 es igual a 0 se cumple esta condici\u00f3n\r\nSerial.print(\"luz4on\");\/\/ Enviamos esta cadena de caracteres x el puerto serial para encender la luz\r\nestado4 =1;\/\/Asignamos el valor 1 a la variable \"estado4\"\r\n} else{\r\n Serial.print(\"luz4off\");\/\/Enviamos esta cadena para apagar la luz\r\n estado4 =0;\r\n  }\r\nwhile(pul4 == LOW){\r\npul4 = digitalRead(4);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n    }\r\n  }\r\n\/\/-----------------------------------------------------------------------------------\r\n\/\/Enciende o apaga la luz \r\nif (pul5 == LOW) {\/\/Si el pulsador 5 est\u00e1 precionado se cumple esta condici\u00f3n\r\npul5 = digitalRead(5);\/\/Leemos el estado del bot\u00f3n nuevamente\r\nif(estado5 ==0){\/\/Si la variable estado5 es igual a 0 se cumple esta condici\u00f3n\r\nSerial.print(\"luz5on\");\/\/ Enviamos esta cadena de caracteres x el puerto serial para encender la luz\r\nestado5 =1;\/\/Asignamos el valor 1 a la variable \"estado5\"\r\n} else{\r\n Serial.print(\"luz5off\");\/\/Enviamos esta cadena para apagar la luz\r\n estado5 =0;\r\n  }\r\nwhile(pul5 == LOW){\r\npul5 = digitalRead(5);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n    }\r\n  }\r\n\/\/-----------------------------------------------------------------------------------\r\n\/\/Enciende o apaga la luz \r\nif (pul6 == LOW) {\/\/Si el pulsador 6 est\u00e1 precionado se cumple esta condici\u00f3n\r\npul6 = digitalRead(6);\/\/Leemos el estado del bot\u00f3n nuevamente\r\nif(estado6 ==0){\/\/Si la variable estado6 es igual a 0 se cumple esta condici\u00f3n\r\nSerial.print(\"luz6on\");\/\/ Enviamos esta cadena de caracteres x el puerto serial para encender la luz\r\nestado6 =1;\/\/Asignamos el valor 1 a la variable \"estado6\"\r\n} else{\r\n Serial.print(\"luz6off\");\/\/Enviamos esta cadena para apagar la luz\r\n estado6 =0;\r\n  }\r\nwhile(pul6 == LOW){\r\npul6 = digitalRead(6);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n    }\r\n  }\r\n\/\/-----------------------------------------------------------------------------------\r\n\/\/Enciende o apaga la luz \r\nif (pul7 == LOW) {\/\/Si el pulsador 7 est\u00e1 precionado se cumple esta condici\u00f3n\r\npul7 = digitalRead(7);\/\/Leemos el estado del bot\u00f3n nuevamente\r\nif(estado7 ==0){\/\/Si la variable estado7 es igual a 0 se cumple esta condici\u00f3n\r\nSerial.print(\"luz7on\");\/\/ Enviamos esta cadena de caracteres x el puerto serial para encender la luz\r\nestado7 =1;\/\/Asignamos el valor 1 a la variable \"estado7\"\r\n} else{\r\n Serial.print(\"luz7off\");\/\/Enviamos esta cadena para apagar la luz\r\n estado7 =0;\r\n  }\r\nwhile(pul7 == LOW){\r\npul7 = digitalRead(7);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n    }\r\n  }\r\n\/\/-----------------------------------------------------------------------------------\r\n\/\/Enciende o apaga la luz \r\nif (pul8 == LOW) {\/\/Si el pulsador 8 est\u00e1 precionado se cumple esta condici\u00f3n\r\npul8 = digitalRead(8);\/\/Leemos el estado del bot\u00f3n nuevamente\r\nif(estado8 ==0){\/\/Si la variable estado8 es igual a 0 se cumple esta condici\u00f3n\r\nSerial.print(\"luz8on\");\/\/ Enviamos esta cadena de caracteres x el puerto serial para encender la luz\r\nestado8 =1;\/\/Asignamos el valor 1 a la variable \"estado8\"\r\n} else{\r\n Serial.print(\"luz8off\");\/\/Enviamos esta cadena para apagar la luz\r\n estado8 =0;\r\n  }\r\nwhile(pul8 == LOW){\r\npul8 = digitalRead(8);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n    }\r\n  }\r\n\/\/-----------------------------------------------------------------------------------\r\n\/\/Enciende o apaga la luz \r\nif (pul9 == LOW) {\/\/Si el pulsador 9 est\u00e1 precionado se cumple esta condici\u00f3n\r\npul9 = digitalRead(9);\/\/Leemos el estado del bot\u00f3n nuevamente\r\nif(estado9 ==0){\/\/Si la variable estado9 es igual a 0 se cumple esta condici\u00f3n\r\nSerial.print(\"luz9on\");\/\/ Enviamos esta cadena de caracteres x el puerto serial para encender la luz\r\nestado9 =1;\/\/Asignamos el valor 1 a la variable \"estado9\"\r\n} else{\r\n Serial.print(\"luz9off\");\/\/Enviamos esta cadena para apagar la luz\r\n estado9 =0;\r\n  }\r\nwhile(pul9 == LOW){\r\npul9 = digitalRead(9);\/\/Se cumple esta condici\u00f3n mientras est\u00e9 precionado el bot\u00f3n   \r\n    }\r\n  }\r\n\/\/-----------------------------------------------------------------------------------  \r\n  delay(50);\r\n}<\/pre>\n<h3>Receiver circuit with relay module<\/h3>\n<p>&nbsp;<\/p>\n<p>The receiver circuit also has an apc220 module and an Arduino mini pro, replaces the 8 pushbuttons with an 8-channel relay module for the control of the lights or any other device, 110\/220 volts.<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/ocho-focos-apc220-receptor.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-4984\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/ocho-focos-apc220-receptor-1024x931.png\" sizes=\"(max-width: 1024px) 100vw, 1024px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/ocho-focos-apc220-receptor-1024x931.png 1024w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/ocho-focos-apc220-receptor-300x273.png 300w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/ocho-focos-apc220-receptor-768x698.png 768w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/ocho-focos-apc220-receptor-600x545.png 600w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/ocho-focos-apc220-receptor-820x745.png 820w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/ocho-focos-apc220-receptor-1320x1200.png 1320w\" alt=\"\" width=\"1024\" height=\"931\" \/><\/a><\/p>\n<h4>CAUTION: THIS MODULE WORKS WITH VERY DANGEROUS AC VOLTAGES, WHICH CAN CAUSE ELECTROCUTION AND VERY POSSIBLE DEATH, IF THE NECESSARY SAFETY MEASURES ARE NOT TAKEN. IF YOU HAVE NEVER WORKED WITH SUCH MODULES SEEK ADVICE FROM A QUALIFIED PROFESSIONAL, WE ARE NOT RESPONSIBLE FOR ANY DAMAGES YOU MAY SUFFER.<\/h4>\n<p>&nbsp;<\/p>\n<h3>Receiver source code with relay module<\/h3>\n<pre class=\"lang:default decode:true \">String cadena;\r\nint luz2 = 2;\r\nint luz3 = 3;\r\nint luz4 = 4;\r\nint luz5 = 5;\r\nint luz6 = 6;\r\nint luz7 = 7;\r\nint luz8 = 8;\r\nint luz9 = 9;   \r\nvoid setup () {\r\n    Serial.begin(9600);\/\/ setea la velocidad del puerto serial\r\n    pinMode(luz2, OUTPUT);\r\n    pinMode(luz3, OUTPUT);\r\n    pinMode(luz4, OUTPUT);\r\n    pinMode(luz5, OUTPUT);\r\n    pinMode(luz6, OUTPUT);\r\n    pinMode(luz7, OUTPUT);\r\n    pinMode(luz8, OUTPUT);\r\n    pinMode(luz9, OUTPUT);\r\n    digitalWrite(2, HIGH);\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    delay(10);\r\n   }\r\nvoid loop () {\r\n  \/\/lee las cadenas que ingresan al puerto serie\r\n  if (Serial.available())  {\r\n    cadena = String(\"\");\r\n    while (Serial.available()) {\r\n      cadena = cadena + char(Serial.read());\r\n      delay(1);\r\n        }\r\n        }\r\n\/\/--------------------------------------------------------------------\r\n if (cadena == \"luz2on\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz2,LOW);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n if (cadena == \"luz2off\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz2,HIGH);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n\/\/--------------------------------------------------------------------\r\n if (cadena == \"luz3on\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz3,LOW);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n if (cadena == \"luz3off\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz3,HIGH);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n\/\/--------------------------------------------------------------------\r\n if (cadena == \"luz4on\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz4,LOW);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n if (cadena == \"luz4off\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz4,HIGH);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n\/\/--------------------------------------------------------------------\r\n if (cadena == \"luz5on\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz5,LOW);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n if (cadena == \"luz5off\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz5,HIGH);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n\/\/--------------------------------------------------------------------\r\n if (cadena == \"luz6on\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz6,LOW);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n if (cadena == \"luz6off\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz6,HIGH);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n\/\/--------------------------------------------------------------------\r\n if (cadena == \"luz7on\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz7,LOW);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n if (cadena == \"luz7off\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz7,HIGH);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n\/\/--------------------------------------------------------------------\r\n if (cadena == \"luz8on\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz8,LOW);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n if (cadena == \"luz8off\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz8,HIGH);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n\/\/--------------------------------------------------------------------\r\n if (cadena == \"luz9on\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz9,LOW);\/\/El valor 255 es la mayor potencia del motor\r\n    }\r\n if (cadena == \"luz9off\") {\/\/compara el valor de la cadena obetinada\r\ndigitalWrite (luz9,HIGH);\/\/El valor 255 es la mayor potencia del motor\r\n    }   \r\n}<\/pre>\n<h4>Sample of the light-on system<\/h4>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/luces_encendida-1.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-4989\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/luces_encendida-1-1024x576.png\" sizes=\"(max-width: 1024px) 100vw, 1024px\" srcset=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/luces_encendida-1-1024x576.png 1024w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/luces_encendida-1-300x169.png 300w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/luces_encendida-1-768x432.png 768w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/luces_encendida-1-600x338.png 600w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/luces_encendida-1-820x461.png 820w, http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/luces_encendida-1-1320x743.png 1320w\" alt=\"\" width=\"1024\" height=\"576\" \/><\/a><\/p>\n<hr \/>\n<p>SUBSCRIBE TO OUR NEWSLETTERS, RECEIVE IN YOUR EMAIL THE MOST OUTSTANDING NEWS, JUST BY ENTERING YOUR EMAIL<\/p>\n<p style=\"text-align: left;\">[wysija_form id=&#8221;1&#8243;]<\/p>\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>RECOMMENDED PROJECT<\/strong><\/p>\n<p><iframe loading=\"lazy\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/yIJucN5sQ_I?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>In this tutorial we will use the radio frequency modules apc220 and arduino mini pro, to turn on lights or any other device, at a distance of up to one kilometer. This project is ideal for controlling devices, where there is no possibility of having internet to control them. Plates and modules used in this [&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":6088,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[648],"tags":[979,45,913,784,443,966,984,982,983,165,981,31,980],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/6021"}],"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=6021"}],"version-history":[{"count":1,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/6021\/revisions"}],"predecessor-version":[{"id":6023,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/6021\/revisions\/6023"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/6088"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=6021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=6021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=6021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}