        <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
                <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
        {"id":7665,"date":"2024-04-22T14:04:48","date_gmt":"2024-04-22T14:04:48","guid":{"rendered":"https:\/\/rogerbit.com\/wprb\/?p=7665"},"modified":"2024-04-22T14:04:48","modified_gmt":"2024-04-22T14:04:48","slug":"emular-mouse-teclado","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2024\/04\/emular-mouse-teclado\/","title":{"rendered":"Emular mouse y teclado con arduino muy f\u00e1cil"},"content":{"rendered":"<p><iframe loading=\"lazy\" title=\"Emular mouse y teclado con arduino muy f\u00e1cil - PCBWay.es\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/MxKFeDzfFFw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<hr \/>\n<p>En este tutorial, aprenderemos c\u00f3mo utilizar un Arduino para emular tanto un mouse como un teclado en tu computadora. Esta capacidad puede ser \u00fatil en una variedad de proyectos, desde automatizaci\u00f3n de tareas hasta control remoto de dispositivos.<\/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>Arduino micro<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6709\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/arduinomicro.jpg\" alt=\"\" width=\"437\" height=\"196\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/arduinomicro.jpg 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/arduinomicro-300x134.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/arduinomicro-768x344.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/arduinomicro-820x368.jpg 820w\" sizes=\"(max-width: 437px) 100vw, 437px\" \/><\/p>\n<div id=\"tech-specs\" class=\"product-section\">\n<h2 class=\"subtitle\">Especificaciones t\u00e9cnicas<\/h2>\n<div class=\"table-tech rte\">\n<table>\n<tbody>\n<tr>\n<td>MICROCONTROLADOR<\/td>\n<td>ATmega32U4<\/td>\n<\/tr>\n<tr>\n<td>TENSI\u00d3N DE FUNCIONAMIENTO<\/td>\n<td>5V<\/td>\n<\/tr>\n<tr>\n<td>VOLTAJE DE ENTRADA (RECOMENDADO)<\/td>\n<td>7-12V<\/td>\n<\/tr>\n<tr>\n<td>PINES DE E\/S DIGITALES<\/td>\n<td>20<\/td>\n<\/tr>\n<tr>\n<td>CANALES PWM<\/td>\n<td>7<\/td>\n<\/tr>\n<tr>\n<td>CANALES DE ENTRADA ANAL\u00d3GICA<\/td>\n<td>12<\/td>\n<\/tr>\n<tr>\n<td>CORRIENTE CC POR PIN DE E\/S<\/td>\n<td>20mA<\/td>\n<\/tr>\n<tr>\n<td>CORRIENTE CC PARA CLAVIJA DE 3,3 V<\/td>\n<td>50mA<\/td>\n<\/tr>\n<tr>\n<td>MEMORIA FLASH<\/td>\n<td>32 KB (ATmega32U4) de los cuales 4 KB utilizados por el gestor de arranque<\/td>\n<\/tr>\n<tr>\n<td>SRAM<\/td>\n<td>2,5 KB (ATmega32U4)<\/td>\n<\/tr>\n<tr>\n<td>EEPROM<\/td>\n<td>1 KB (ATmega32U4)<\/td>\n<\/tr>\n<tr>\n<td>VELOCIDAD DE RELOJ<\/td>\n<td>16 MHz<\/td>\n<\/tr>\n<tr>\n<td>LED_CONSTRUIDO<\/td>\n<td>13<\/td>\n<\/tr>\n<tr>\n<td>LONGITUD<\/td>\n<td>48mm<\/td>\n<\/tr>\n<tr>\n<td>ANCHO<\/td>\n<td>18mm<\/td>\n<\/tr>\n<tr>\n<td>PESO<\/td>\n<td>13 gramos<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<hr \/>\n<h4>Diecisiete pulsadores<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6711 size-medium\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/b1720b-1-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/b1720b-1-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/b1720b-1-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/b1720b-1-768x768.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/b1720b-1.jpg 800w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<hr \/>\n<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>\n<hr \/>\n<h4>Cable micro usb<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-6712 size-medium\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/cable_usb-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/cable_usb-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/cable_usb-1024x1024.jpg 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/cable_usb-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/cable_usb-768x768.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/cable_usb-1536x1536.jpg 1536w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/cable_usb-820x820.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/cable_usb.jpg 1600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<hr \/>\n<p><strong>Cables dupont hembra hembra<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7666 size-medium\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2024\/04\/dupont-300x263.jpg\" alt=\"\" width=\"300\" height=\"263\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2024\/04\/dupont-300x263.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2024\/04\/dupont-768x674.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2024\/04\/dupont-820x720.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2024\/04\/dupont.jpg 948w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<hr \/>\n<p><strong>Pines macho<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7532 size-medium\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/11\/header-macho-40-pin-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/11\/header-macho-40-pin-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/11\/header-macho-40-pin-1024x1024.jpg 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/11\/header-macho-40-pin-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/11\/header-macho-40-pin-768x768.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/11\/header-macho-40-pin-820x820.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/11\/header-macho-40-pin.jpg 1200w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<hr \/>\n<p><strong>Un m\u00f3dulo Joystick ky-023<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7341 size-medium\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/joystick-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/joystick-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/joystick-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/joystick.jpg 425w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>El m\u00f3dulo Joystick te permite construir un controlador manual en 2 direcciones: X y Y. Posee ademas la funci\u00f3n de pulsador que se activa al presionar el Joystick.<br \/>\nPosee dos potenciometros cada uno con su salidas anal\u00f3gica para la direcci\u00f3n (VRx-VRy) y una salidad digital del pulsador (SW). Para leer la posici\u00f3n es necesario convertir los valores anal\u00f3gicos utilizando un ADC de microcontrolador.<\/p>\n<p>Empleado en proyectos de rob\u00f3tica, control, automatizaci\u00f3n, videojuegos.<\/p>\n<ul>\n<li>Voltaje de Operaci\u00f3n: 3.3 \u2013 5V DC<\/li>\n<li>2 Potenciometros<\/li>\n<li>1 Pulsador<\/li>\n<\/ul>\n<h2>Descripci\u00f3n:<\/h2>\n<div>M\u00f3dulo de sensor de joystick de dos ejes mediante el uso del potenci\u00f3metro rocker PS2, con (X, y) Salida anal\u00f3gica de 2 ejes, (Z) 1 bot\u00f3n de salida digital. Con el tablero de expansi\u00f3n del sensor Arduino puede producir control remoto y otras obras interactivas. Adem\u00e1s, este producto para permitir a los clientes m\u00e1s f\u00e1cilmente con la placa de expansi\u00f3n arduino y otras interfaces est\u00e1ndar, en el dise\u00f1o de la X, Y, el eje Z del circuito son pistas separadas, el usuario puede utilizar la l\u00ednea especial de ARDUINO de 3 pines en la placa de expansi\u00f3n.<\/div>\n<h2>Rendimiento del producto:<\/h2>\n<ul>\n<li>Tensi\u00f3n de entrada, rango: DC 3,3 V a 5 V<\/li>\n<li>Se\u00f1al de salida: el m\u00f3dulo salida anal\u00f3gica de dos v\u00edas y una interfaz de salida digital, el valor de salida correspondiente al desplazamiento biaxial (X, Y) biaxial, el tipo de anal\u00f3gico; claves que el usuario presiona el eje Z, su tipo es interruptor digital.<\/li>\n<li>Se puede programar el controlador Arduino, el conector de placa de expansi\u00f3n del sensor, completo con obras interactivas creativas.<\/li>\n<li>Cruz joystick es una resistencia bidireccional de 10 K, con el rocker en diferentes direcciones, la resistencia del grifo con el cambio. Este m\u00f3dulo utiliza fuente de alimentaci\u00f3n de 5 V, el estado original de X, Y leer Tensi\u00f3n de 2,5 V o as\u00ed, cuando se presiona con la flecha direcci\u00f3n, el valor de lectura del voltaje aumenta con el m\u00e1ximo a 5 V; flechas en la direcci\u00f3n opuesta a la prensa, leer la tensi\u00f3n disminuye, el m\u00ednimo es 0 V.<\/li>\n<\/ul>\n<hr \/>\n<p><strong>Z\u00f3calo para arduino micro<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-6895\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/06\/zocalo.jpg\" sizes=\"(max-width: 320px) 100vw, 320px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/06\/zocalo.jpg 320w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/06\/zocalo-300x225.jpg 300w\" alt=\"\" width=\"320\" height=\"240\" \/><\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<h4>PCB<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-6713\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/pcb.png\" alt=\"\" width=\"543\" height=\"386\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/pcb.png 543w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/pcb-300x213.png 300w\" sizes=\"(max-width: 543px) 100vw, 543px\" \/><\/p>\n<p>Descargar archivo gerber &#8211;&gt;<a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/03\/teclado-arduino-micro.zip\">teclado arduino micro<\/a><\/p>\n<hr \/>\n<h4>Circuito<\/h4>\n<p><img loading=\"lazy\" class=\"alignnone size-large wp-image-6716\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/circuito.png\" alt=\"\" width=\"572\" height=\"481\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/circuito.png 572w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/circuito-300x252.png 300w\" sizes=\"(max-width: 572px) 100vw, 572px\" \/> <img loading=\"lazy\" class=\"alignnone size-large wp-image-6717\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/pcb_diagram.png\" alt=\"\" width=\"549\" height=\"390\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/pcb_diagram.png 549w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/01\/pcb_diagram-300x213.png 300w\" sizes=\"(max-width: 549px) 100vw, 549px\" \/><\/p>\n<hr \/>\n<h4>C\u00f3digo Fuente<\/h4>\n<pre class=\"lang:default decode:true \" title=\"C\u00f3digo Fuente\">#include &lt;Keyboard.h&gt;\/\/Emula un teclado\r\n#include &lt;Mouse.h&gt; \/\/ Incluye la librer\u00eda Mouse para emular un mouse\r\n\/\/ Definici\u00f3n de pines para la entrada del joystick y el bot\u00f3n de selecci\u00f3n\r\nint pinHorizontal = A0; \/\/ Pin anal\u00f3gico para la entrada horizontal del joystick\r\nint pinVertical = A1;   \/\/ Pin anal\u00f3gico para la entrada vertical del joystick\r\nint pinSeleccion = 2;   \/\/ Pin digital para el bot\u00f3n de selecci\u00f3n del joystick\r\n\/\/ Variables para almacenar valores de calibraci\u00f3n y valores actuales del joystick\r\nint valorVerticalCero, valorHorizontalCero; \/\/ Almacena el valor inicial de cada eje, generalmente alrededor de 512\r\nint valorVertical, valorHorizontal;         \/\/ Almacena la salida anal\u00f3gica actual de cada eje\r\nconst int sensibilidad = 300;               \/\/ Valor de sensibilidad, mayor valor = rat\u00f3n m\u00e1s lento, debe ser &lt;= aproximadamente 500\r\nint banderaClicRaton = 0;                    \/\/ Bandera para indicar si se ha realizado un clic del mouse\r\nint invertirRaton = 1; \/\/ Variable para invertir el movimiento del mouse basado en la orientaci\u00f3n\r\nvoid setup()\r\n{\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\/\/pinMode(10, INPUT_PULLUP);\r\n\/\/pinMode(11, INPUT_PULLUP);\r\n\/\/pinMode(12, INPUT_PULLUP);\r\n\/\/pinMode(13, OUTPUT);\r\n\/\/pinMode(A0, INPUT_PULLUP);\r\n\/\/pinMode(A1, INPUT_PULLUP);\r\n\/\/pinMode(A2, INPUT_PULLUP);\r\n\/\/pinMode(A3, INPUT_PULLUP);\r\n\/\/pinMode(A4, INPUT_PULLUP);\r\n\/\/pinMode(A5, INPUT_PULLUP);\r\n  \/\/ Configura los pines como entrada\r\n  pinMode(pinHorizontal, INPUT);\r\n  pinMode(pinVertical, INPUT);\r\n  pinMode(pinSeleccion, INPUT);\r\n  \/\/ Establece el pin de selecci\u00f3n del bot\u00f3n en alto (pull-up)\r\n  digitalWrite(pinSeleccion, HIGH);\r\n  \/\/ Breve retraso para permitir que los valores se estabilicen\r\n  delay(1000);\r\n  \/\/ Lee y almacena los valores iniciales de calibraci\u00f3n\r\n  valorVerticalCero = analogRead(pinVertical);\r\n  valorHorizontalCero = analogRead(pinHorizontal);\r\n  \/\/ Inicia la emulaci\u00f3n del mouse\r\n  Mouse.begin();\r\n  \/\/ Inicia la emulaci\u00f3n del teclado\r\n  Keyboard.begin();\r\n}\r\nvoid loop()\r\n{\r\n\/\/Lectura de los pulsadores\r\nint  pul2 = digitalRead(3);\r\nint  pul3 = digitalRead(4);\r\nint  pul4 = digitalRead(5);\r\nint  pul5 = digitalRead(6);\r\nint  pul6 = digitalRead(7);\r\nint  pul7 = digitalRead(8);\r\nint  pul8 = digitalRead(9);\r\nint  pul9 = digitalRead(10);\r\n\/\/int  pul10 = digitalRead(11);\r\n\/\/int  pul11 = digitalRead(12);\r\n\/\/int  pul12 = digitalRead(A0);\r\n\/\/int  pul13 = digitalRead(A1);\r\n\/\/int  pul14 = digitalRead(A2);\r\n\/\/int  pul15 = digitalRead(A3);\r\n\/\/int  pul16 = digitalRead(A4);\r\n\/\/int  pul17 = digitalRead(A5);\r\n\/\/Bot\u00f3n derecho\r\nif (pul2 == LOW) {\r\nMouse.press(MOUSE_RIGHT); \/\/ Presiona el bot\u00f3n derecho del mouse\r\ndelay(100);\r\nMouse.release(MOUSE_RIGHT); \/\/ Libera el bot\u00f3n izquierdo del mouse\r\ndelay(100);\r\n}\r\n\/\/Abre el notepad\r\nif (pul3 == LOW) {\r\n  Keyboard.press(KEY_RIGHT_GUI);\r\n  Keyboard.press('r');\r\n  delay(100);\r\n  Keyboard.releaseAll();  \r\n  delay(1000);\r\n  Keyboard.println(\"notepad\");\r\n  Keyboard.press(KEY_RETURN);\r\n  delay(100);\r\n  Keyboard.releaseAll();\r\n}\r\n\/\/Abre la calculadora\r\nif (pul4 == LOW) {\r\n  Keyboard.press(KEY_RIGHT_GUI);\r\n  Keyboard.press('r');\r\n  delay(100);\r\n  Keyboard.releaseAll();  \r\n  delay(1000);\r\n  Keyboard.println(\"calc\");\r\n  Keyboard.press(KEY_RETURN);\r\n  delay(100);\r\n  Keyboard.releaseAll();\r\n}\r\n\/\/Abre el interprete de comandos\r\nif (pul5 == LOW) {\r\n  Keyboard.press(KEY_RIGHT_GUI);\r\n  Keyboard.press('r');\r\n  delay(100);\r\n  Keyboard.releaseAll();  \r\n  delay(1000);\r\n  Keyboard.println(\"cmd\");\r\n  Keyboard.press(KEY_RETURN);\r\n  delay(100);\r\n  Keyboard.releaseAll();\r\n}\r\n\/\/Abre la versi\u00f3n de windows\r\nif (pul6 == LOW) {\r\n  Keyboard.press(KEY_RIGHT_GUI);\r\n  Keyboard.press('r');\r\n  delay(100);\r\n  Keyboard.releaseAll();  \r\n  delay(1000);\r\n  Keyboard.println(\"winver\");\r\n  Keyboard.press(KEY_RETURN);\r\n  delay(100);\r\n  Keyboard.releaseAll();\r\n}\r\n\/\/Abre el panel de control\r\nif (pul7 == LOW) {\r\n  Keyboard.press(KEY_RIGHT_GUI);\r\n  Keyboard.press('r');\r\n  delay(100);\r\n  Keyboard.releaseAll();  \r\n  delay(1000);\r\n  Keyboard.println(\"control\");\r\n  Keyboard.press(KEY_RETURN);\r\n  delay(100);\r\n  Keyboard.releaseAll();\r\n}\r\n\/\/Herramientas recorte de windows\r\nif (pul8 == LOW) {\r\n  Keyboard.press(KEY_RIGHT_GUI);\r\n  Keyboard.press('r');\r\n  delay(100);\r\n  Keyboard.releaseAll();  \r\n  delay(1000);\r\n  Keyboard.println(\"snippingtool\");\r\n  Keyboard.press(KEY_RETURN);\r\n  delay(100);\r\n  Keyboard.releaseAll();\r\n}\r\n\/\/Abre paint\r\nif (pul9 == LOW) {\r\n  Keyboard.press(KEY_RIGHT_GUI);\r\n  Keyboard.press('r');\r\n  delay(100);\r\n  Keyboard.releaseAll();  \r\n  delay(1000);\r\n  Keyboard.println(\"mspaint\");\r\n  Keyboard.press(KEY_RETURN);\r\n  delay(100);\r\n  Keyboard.releaseAll();\r\n}\r\n  \/\/ Lee los valores actuales del joystick y calcula el desplazamiento desde el valor inicial de calibraci\u00f3n\r\n  valorVertical = analogRead(pinVertical) - valorVerticalCero;\r\n  valorHorizontal = analogRead(pinHorizontal) - valorHorizontalCero;\r\n\r\n  \/\/ Mueve el mouse solo si hay un desplazamiento significativo en alguno de los ejes\r\n  if (valorVertical != 0)\r\n    Mouse.move(0, (invertirRaton * (valorVertical \/ sensibilidad)), 0); \/\/ Mueve el mouse en el eje Y\r\n  if (valorHorizontal != 0)\r\n    Mouse.move((invertirRaton * (valorHorizontal \/ sensibilidad)), 0, 0); \/\/ Mueve el mouse en el eje X\r\n  \/\/ Verifica si se presiona el bot\u00f3n de selecci\u00f3n del joystick y realiza el clic del mouse correspondiente\r\n  if ((digitalRead(pinSeleccion) == 0) &amp;&amp; (!banderaClicRaton))\r\n  {\r\n    banderaClicRaton = 1;\r\n    Mouse.press(MOUSE_LEFT); \/\/ Presiona el bot\u00f3n izquierdo del mouse\r\n  }\r\n  else if ((digitalRead(pinSeleccion)) &amp;&amp; (banderaClicRaton))\r\n  {\r\n    banderaClicRaton = 0;\r\n    Mouse.release(MOUSE_LEFT); \/\/ Libera el bot\u00f3n izquierdo del mouse\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=\"Control de 8 luces con teclado PS\/2 con Arduino -  PCBWay.es\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/ODE9nOFCAws?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" 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, aprenderemos c\u00f3mo utilizar un Arduino para emular tanto un mouse como un teclado en tu computadora. Esta capacidad puede ser \u00fatil en una variedad de proyectos, desde automatizaci\u00f3n de tareas hasta control remoto de dispositivos. Tal vez pueda interesarte proyectos en arduino, pic, rob\u00f3tica, telecomunicaciones, suscribete en\u00a0http:\/\/www.youtube.com\/user\/carlosvolt?sub_confirmation=1\u00a0mucho videos con c\u00f3digo fuentes completos [&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":7668,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[1706,45,330,1606,595,624,1897,1835,1898,154,1791,1230,1401,687],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7665"}],"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=7665"}],"version-history":[{"count":2,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7665\/revisions"}],"predecessor-version":[{"id":7670,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7665\/revisions\/7670"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/7668"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=7665"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=7665"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=7665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}