        <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
        {"id":7246,"date":"2023-04-19T01:35:57","date_gmt":"2023-04-19T01:35:57","guid":{"rendered":"https:\/\/rogerbit.com\/wprb\/?p=7246"},"modified":"2023-04-19T01:35:57","modified_gmt":"2023-04-19T01:35:57","slug":"teclado-ps-2-arduino","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2023\/04\/teclado-ps-2-arduino\/","title":{"rendered":"Conectar teclado PS\/2 a arduino para el control de m\u00f3dulos"},"content":{"rendered":"<p><iframe loading=\"lazy\" title=\"\u2705 Conectar teclado PS\/2 a arduino para el control de m\u00f3dulos  - PCBWay.es\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/V--edDC-yn8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/p>\n<hr \/>\n<p>Es posible conectar un teclado PS\/2 a un Arduino sin la necesidad de una PC. Para hacerlo, necesitar\u00e1s un adaptador de teclado PS\/2 a TTL que puedes conseguir en tiendas de electr\u00f3nica.<\/p>\n<p>Luego, conecta los cables del adaptador a los pines correspondientes del Arduino, que son los pines digitales 2 y 3 para la se\u00f1al de reloj y de datos, respectivamente.<\/p>\n<p>Una vez conectado el teclado al adaptador y el adaptador al Arduino, deber\u00e1s cargar un programa en el Arduino que permita leer los datos del teclado y mostrarlos en el terminal serial.<\/p>\n<p>Existen diferentes bibliotecas de software disponibles para leer los datos del teclado PS\/2 en un Arduino, como la biblioteca &#8220;Ps2KeyboardHost&#8221; que puedes encontrar en el administrador de bibliotecas del Arduino IDE.<\/p>\n<p>Con la biblioteca adecuada y el c\u00f3digo de programaci\u00f3n correcto, podr\u00e1s leer los datos del teclado y utilizarlos para controlar otros dispositivos o ejecutar acciones en el Arduino sin necesidad de una PC.<\/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<h3><strong>Componentes electr\u00f3nicos<\/strong><\/h3>\n<p><strong>Arduino Nano<\/strong><\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Arduino_nano_V3.0_atmega328_compatible-2.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-6034\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Arduino_nano_V3.0_atmega328_compatible-2.jpg\" sizes=\"(max-width: 321px) 100vw, 321px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Arduino_nano_V3.0_atmega328_compatible-2.jpg 650w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Arduino_nano_V3.0_atmega328_compatible-2-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Arduino_nano_V3.0_atmega328_compatible-2-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Arduino_nano_V3.0_atmega328_compatible-2-600x600.jpg 600w\" alt=\"\" width=\"321\" height=\"321\" \/><\/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<div class=\"googlepublisherpluginad\">\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 size-large wp-image-6033\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/Pinout-NANO-1024x1024.png\" sizes=\"(max-width: 1024px) 100vw, 1024px\" 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\" alt=\"\" width=\"1024\" height=\"1024\" \/><\/a><\/p>\n<hr \/>\n<p><strong>Buzzer<\/strong><\/p>\n<p><strong><img loading=\"lazy\" class=\"alignnone wp-image-6891\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/06\/buzzer.jpg\" sizes=\"(max-width: 188px) 100vw, 188px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/06\/buzzer.jpg 368w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/06\/buzzer-263x300.jpg 263w\" alt=\"\" width=\"188\" height=\"214\" \/><\/strong><\/p>\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\" sizes=\"(max-width: 225px) 100vw, 225px\" 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\" alt=\"\" width=\"225\" height=\"225\" \/><\/p>\n<hr \/>\n<h4>M\u00f3dulo Relay<\/h4>\n<div><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-6203\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-1024x875.jpg\" sizes=\"(max-width: 343px) 100vw, 343px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-1024x875.jpg 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-300x256.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-768x656.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-600x513.jpg 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-820x701.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay-1320x1128.jpg 1320w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/01\/realay.jpg 2048w\" alt=\"\" width=\"343\" height=\"293\" \/><\/a><\/div>\n<div>\n<h4>ESPECIFICACIONES T\u00c9CNICAS<\/h4>\n<ul>\n<li>Voltaje de Operaci\u00f3n: 5V DC<\/li>\n<li>Se\u00f1al de Control: TTL (3.3V o 5V)<\/li>\n<li>N\u00ba de Relays (canales):\u00a01\u00a0CH<\/li>\n<li>Capacidad m\u00e1x: 10A\/250VAC, 10A\/30VDC<\/li>\n<li>Corriente m\u00e1x: 10A (NO), 5A (NC)<\/li>\n<li>Tiempo de acci\u00f3n: 10 ms \/ 5 ms<\/li>\n<li>Para activar salida NO: 0 Voltios<\/li>\n<\/ul>\n<hr \/>\n<p><strong>Z\u00f3calo para arduino nano<\/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<hr \/>\n<p><strong>Un resistor de 470 Ohm<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7021\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/470ohm.jpg\" sizes=\"(max-width: 178px) 100vw, 178px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/470ohm.jpg 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/470ohm-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/470ohm-150x150.jpg 150w\" alt=\"\" width=\"178\" height=\"178\" \/><\/p>\n<hr \/>\n<div>\n<p><strong>Cables dupont hembra macho<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7023 \" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/dupunt-macho-hembra-150x150.jpg\" sizes=\"(max-width: 225px) 100vw, 225px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/dupunt-macho-hembra-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/dupunt-macho-hembra-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/dupunt-macho-hembra-768x768.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/dupunt-macho-hembra.jpg 800w\" alt=\"\" width=\"225\" height=\"225\" \/><\/p>\n<hr \/>\n<p><strong>Pines macho a 90 grados<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7024\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/pinesmacho90grados.jpg\" sizes=\"(max-width: 318px) 100vw, 318px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/pinesmacho90grados.jpg 500w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/pinesmacho90grados-300x217.jpg 300w\" alt=\"\" width=\"318\" height=\"230\" \/><\/p>\n<hr \/>\n<p><strong>Un diodo led de 5 mm<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-7025\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/led5mm.jpg\" alt=\"\" width=\"300\" height=\"225\" \/><\/p>\n<\/div>\n<hr \/>\n<p><strong>Circuito impreso (pcb)<\/strong><\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/02\/pcb-1.jpg\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-6275\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/02\/pcb-1.jpg\" sizes=\"(max-width: 350px) 100vw, 350px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/02\/pcb-1.jpg 350w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2021\/02\/pcb-1-292x300.jpg 292w\" alt=\"\" width=\"350\" height=\"359\" \/><\/a><\/p>\n<p>Archivo gerber \u2014&gt;\u00a0<a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/08\/pcb.zip\">pcb<\/a><\/p>\n<hr \/>\n<p><strong>Conector PS\/2<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7247 size-thumbnail\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/ps2-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/ps2-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/ps2-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/ps2-768x768.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/ps2-820x820.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/ps2.jpg 1000w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7251 size-medium\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/ps2pinout-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/ps2pinout-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/ps2pinout-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/ps2pinout-768x768.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/ps2pinout-820x820.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/ps2pinout.jpg 1000w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<div>\n<div>\n<p><strong><span data-spm-anchor-id=\"a2g0o.detail.1000023.i0.5b46289awoSjlr\">Caracter\u00edsticas<\/span><\/strong><\/p>\n<p>Interfaz est\u00e1ndar PS\/2;<\/p>\n<p>La fuente de alimentaci\u00f3n debe ser de 5V CC;<\/p>\n<p>4 orificios de montaje de tornillos cuyo di\u00e1metro es de 2,2mm<\/p>\n<p>F\u00e1cil de usar<\/p>\n<\/div>\n<\/div>\n<p><strong>Interfaz<\/strong><\/p>\n<p><strong>Interfaz de control:<\/strong><span data-spm-anchor-id=\"a2g0o.detail.1000023.i1.5b46289awoSjlr\">Un total de cuatro pines (GND, VCC, DAT, CLK), GND a tierra, VCC es la fuente de alimentaci\u00f3n, DAT es el pin de entrada y salida de datos, CLK es el pin de se\u00f1al de reloj.<\/span><\/p>\n<hr \/>\n<p><b>Un Servo sg90<\/b><\/p>\n<p><b>Caracter\u00edsticas<\/b><\/p>\n<ul>\n<li>Dimensiones (L x W xH) = 22.0 x 11.5 x 27 mm (0.86 x 0.45 x 1.0 pulgadas)<\/li>\n<li>Peso: 9 gramos<\/li>\n<li>Peso con cable y conector: 10.6 gramos<\/li>\n<li>Torque a 4.8 volts: 16.7 oz\/in o 1.2 kg\/cm<\/li>\n<li>Voltaje de operaci\u00f3n: 4.0 a 7.2 volts<\/li>\n<li>Velocidad de giro a 4.8 volts: 0.12 seg \/ 60 \u00ba<\/li>\n<li>Conector universal para la mayor\u00eda de los receptores de radio control<\/li>\n<li>Compatible con tarjetas como Arduino y microcontroladores que funcionan a 5 volts.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/servo-y-accesorios.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-6044\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/servo-y-accesorios-1024x963.jpg\" sizes=\"(max-width: 241px) 100vw, 241px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/servo-y-accesorios-1024x963.jpg 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/servo-y-accesorios-300x282.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/servo-y-accesorios-768x723.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/servo-y-accesorios-600x564.jpg 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/servo-y-accesorios-820x771.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/servo-y-accesorios-1320x1242.jpg 1320w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/11\/servo-y-accesorios.jpg 1553w\" alt=\"\" width=\"241\" height=\"227\" \/><\/a><\/p>\n<p><strong>\u00bfC\u00f3mo controlar un servomotor?<\/strong><\/p>\n<p>Puede colocar el eje del servo en varios \u00e1ngulos de 0 a 180\u00ba.\u00a0Los servos se controlan utilizando una se\u00f1al de modulaci\u00f3n de ancho de pulso (PWM).\u00a0Esto significa que la se\u00f1al PWM enviada al motor determinar\u00e1 la posici\u00f3n del eje.<\/p>\n<p><a href=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/04\/180.jpg\"><img loading=\"lazy\" class=\"alignnone wp-image-5504\" src=\"http:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2020\/04\/180.jpg\" alt=\"\" width=\"309\" height=\"238\" \/><\/a><\/p>\n<hr \/>\n<p><strong>Un teclado PS\/2<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7248 size-medium\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/teclado-300x184.jpg\" alt=\"\" width=\"300\" height=\"184\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/teclado-300x184.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/teclado-768x470.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/teclado-820x502.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/teclado.jpg 980w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<hr \/>\n<p><strong>C\u00f3digo Fuente<\/strong><\/p>\n<pre class=\"lang:default decode:true \" title=\"C\u00f3digo Fuente\">#include \"ps2_Keyboard.h\"\r\n#include \"ps2_AnsiTranslator.h\"\r\n#include \"ps2_SimpleDiagnostics.h\"\r\n#include &lt;Servo.h&gt;\r\nServo servoMotor1;  \/\/ crear un objeto servo para controlar el servo\r\nint relay = 12;\r\nint buzzer = 7;\r\ntypedef ps2::SimpleDiagnostics&lt;254&gt; Diagnostics_;\r\nstatic Diagnostics_ diagnostics;\r\nstatic ps2::AnsiTranslator&lt;Diagnostics_&gt; keyMapping(diagnostics);\r\nstatic ps2::Keyboard&lt;3,2,1, Diagnostics_&gt; ps2Keyboard(diagnostics);\r\nstatic ps2::KeyboardLeds lastLedSent = ps2::KeyboardLeds::none;\r\nvoid setup() {\r\n    Serial.begin(9600);\r\n    servoMotor1.attach(11);  \/\/ Asignamos el pin 11 para el control del servo\r\n    servoMotor1.write(0); \/\/Posisci\u00f3n inicial del servo.\r\n    pinMode(relay, OUTPUT);\r\n    pinMode(buzzer, OUTPUT);\r\n    ps2Keyboard.begin();\r\n    keyMapping.setNumLock(true);\r\n    ps2Keyboard.awaitStartup();\r\n    diagnostics.reset();\r\n\/\/Encendemos el led del teclado(Bloq Num)\r\n    ps2Keyboard.sendLedStatus(ps2::KeyboardLeds::numLock);\r\n    lastLedSent = ps2::KeyboardLeds::numLock;\r\n}\r\n\r\nvoid loop() {\r\n    diagnostics.setLedIndicator&lt;LED_BUILTIN&gt;();\r\n    ps2::KeyboardOutput scanCode = ps2Keyboard.readScanCode();\r\n    if (scanCode == ps2::KeyboardOutput::garbled) {\r\n        keyMapping.reset();\r\n    }\r\n    else if (scanCode != ps2::KeyboardOutput::none)\r\n    {\r\n        char buf[2];\r\n        buf[1] = '\\0';\r\n        buf[0] = keyMapping.translatePs2Keycode(scanCode);\r\n        if (buf[0] == '\\r') {\r\n            Serial.println();\r\n        }\r\n        else if (buf[0] &gt;= ' ') { \/\/ Se cumple si es un caracter\r\n            Serial.print(\"Caracter: \");\r\n            Serial.write(buf);\r\n            Serial.println(\"\");\r\n               if(buf[0] == '1'){\r\n              servoMotor1.write(180);\r\n              Serial.println(\"Servo 1 a 180 grados\");\r\n              }\r\n              if(buf[0] == '2'){\r\n              servoMotor1.write(0);\r\n              Serial.println(\"Servo 1 a 0 grados\");\r\n              }\r\n              if(buf[0] == '3'){\r\n              digitalWrite(relay, HIGH);\r\n              Serial.println(\"Relay activado\");\r\n              }\r\n              if(buf[0] == '4'){\r\n              digitalWrite(relay, LOW);;\r\n              Serial.println(\"Relay desactivado\");\r\n              }\r\n              if(buf[0] == '5'){\r\n              digitalWrite(buzzer, HIGH);\r\n              Serial.println(\"Buzzer encendido\");\r\n              }\r\n              if(buf[0] == '6'){\r\n              digitalWrite(buzzer, LOW);\r\n              Serial.println(\"Buzzer apagado\");\r\n              }\r\n        }\r\n\/\/Verifica el estado de los taclas Bloq Num y Bloq May\u00fas para activarlas o desactivarlas desde el mismo teclado\r\n        ps2::KeyboardLeds newLeds =\r\n              (keyMapping.getCapsLock() ? ps2::KeyboardLeds::capsLock : ps2::KeyboardLeds::none)\r\n            | (keyMapping.getNumLock() ? ps2::KeyboardLeds::numLock : ps2::KeyboardLeds::none);\r\n        if (newLeds != lastLedSent) {\r\n            ps2Keyboard.sendLedStatus(newLeds);\r\n            lastLedSent = newLeds;\r\n        }\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=\"\u2705 Control de acceso b\u00e1sico con teclado matricial y arduino \ud83d\udd11\ud83d\udd12 - PCBWay.es\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/mEUXDrxI7dE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/p>\n<\/div>\n<\/div>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Es posible conectar un teclado PS\/2 a un Arduino sin la necesidad de una PC. Para hacerlo, necesitar\u00e1s un adaptador de teclado PS\/2 a TTL que puedes conseguir en tiendas de electr\u00f3nica. Luego, conecta los cables del adaptador a los pines correspondientes del Arduino, que son los pines digitales 2 y 3 para la se\u00f1al [&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":7250,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[45,351,181,1428,486,1066,917,1598,1599,165,31,677,1600],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7246"}],"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=7246"}],"version-history":[{"count":2,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7246\/revisions"}],"predecessor-version":[{"id":7252,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7246\/revisions\/7252"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/7250"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=7246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=7246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=7246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}