        <style>
            #donation_buttons td{
                border:medium none;
                background: inherit !important;
            }
            #donation_buttons table{               
                border:medium none;
                margin: auto;
                width: auto;
            }
        </style>
        {"id":7338,"date":"2023-06-20T00:30:49","date_gmt":"2023-06-20T00:30:49","guid":{"rendered":"https:\/\/rogerbit.com\/wprb\/?p=7338"},"modified":"2023-06-20T00:30:49","modified_gmt":"2023-06-20T00:30:49","slug":"laser-controlado-x-joystick","status":"publish","type":"post","link":"https:\/\/rogerbit.com\/wprb\/2023\/06\/laser-controlado-x-joystick\/","title":{"rendered":"Laser controlado por joystick servos y Arduino"},"content":{"rendered":"<p><iframe loading=\"lazy\" title=\"Laser controlado por joystick servos y Arduino - PCBWay.es\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/7hl3jEfcHm0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/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>En este tutorial, aprender\u00e1s c\u00f3mo crear un sistema de control para un l\u00e1ser utilizando un joystick, servos y Arduino.<\/p>\n<p>Durante este paso a paso, te guiar\u00e9 a trav\u00e9s de todo el proceso, desde la configuraci\u00f3n inicial hasta la programaci\u00f3n final, para que puedas controlar un l\u00e1ser usando un joystick y unos servos. Exploraremos c\u00f3mo conectar los servos en conjunto con Arduino, para que puedas mover el l\u00e1ser en cualquier direcci\u00f3n que desees.<\/p>\n<p>Este tutorial est\u00e1 dise\u00f1ado para ser accesible y emocionante para todos. Adem\u00e1s, descubrir\u00e1s c\u00f3mo escribir un c\u00f3digo simple pero efectivo en Arduino para sincronizar el movimiento de los servos con las entradas del joystick, permiti\u00e9ndote apuntar y controlar el l\u00e1ser con facilidad.<\/p>\n<p>Podr\u00e1s usar tu l\u00e1ser controlado por joystick para crear espect\u00e1culos de luces interactivos, juegos de precisi\u00f3n o incluso para fines educativos.<\/p>\n<hr \/>\n<p><strong>Componentes Electr\u00f3nicos<\/strong><\/p>\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=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro.jpg 600w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2019\/09\/arduino_mini_pro-300x300.jpg 300w\" alt=\"\" width=\"600\" height=\"600\" \/><\/a><\/p>\n<p>El\u00a0<strong>Arduino Pro Mini<\/strong>\u00a0es una placa de microcontrolador basada en el\u00a0\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>\u00a0.<br \/>\nTiene 14 pines de entrada \/ salida digital (de los cuales 6 se pueden usar como salidas PWM), 6 entradas anal\u00f3gicas, un resonador integrado, un bot\u00f3n de reinicio y orificios para montar encabezados de pines.\u00a0Se puede conectar un encabezado de seis pines a un cable FTDI o una placa de conexi\u00f3n Sparkfun para proporcionar alimentaci\u00f3n USB y comunicaci\u00f3n a la placa.<br \/>\nEl Arduino Pro Mini est\u00e1 dise\u00f1ado para su instalaci\u00f3n semipermanente en objetos o exposiciones. La placa viene sin encabezados pre montados, lo que permite el uso de varios tipos de conectores o la soldadura directa de cables. El dise\u00f1o del pin es compatible con el Arduino Mini.<br \/>\nHay dos versiones del Pro Mini.\u00a0Uno corre a 3.3V y 8 MHz, el otro a 5V y 16 MHz.<\/p>\n<table>\n<tbody>\n<tr>\n<td>Microcontrolador<\/td>\n<td>ATmega328 *<\/td>\n<\/tr>\n<tr>\n<td>Fuente de alimentaci\u00f3n de la placa<\/td>\n<td>3,35-12 V (modelo de 3,3 V) o 5-12 V (modelo de 5 V)<\/td>\n<\/tr>\n<tr>\n<td>Voltaje de funcionamiento del circuito<\/td>\n<td>3.3V o 5V (dependiendo del modelo)<\/td>\n<\/tr>\n<tr>\n<td>Pines de E \/ S digitales<\/td>\n<td>14<\/td>\n<\/tr>\n<tr>\n<td>Pines PWM<\/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>Pines de entrada anal\u00f3gica<\/td>\n<td>6 6<\/td>\n<\/tr>\n<tr>\n<td>Interrupciones externas<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>Corriente CC por pin de E \/ S<\/td>\n<td>40 mA<\/td>\n<\/tr>\n<tr>\n<td>Memoria flash<\/td>\n<td>32 KB de los cuales 2 KB utilizados por el gestor de arranque *<\/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>Velocidad de reloj<\/td>\n<td>8 MHz (versiones de 3.3V) o 16 MHz (versiones de 5V)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\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<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>Cables dupont<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7240 size-medium\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/dupont-300x300.jpg\" sizes=\"(max-width: 300px) 100vw, 300px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/dupont-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/dupont-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/dupont.jpg 640w\" alt=\"\" width=\"300\" height=\"300\" \/><\/p>\n<hr \/>\n<p><strong>M\u00f3dulo Laser\u00a0 ky-008<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7339\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/laser-1024x768.jpg\" alt=\"\" width=\"254\" height=\"191\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/laser-1024x768.jpg 1024w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/laser-300x225.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/laser-768x576.jpg 768w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/laser-820x615.jpg 820w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/laser.jpg 1200w\" sizes=\"(max-width: 254px) 100vw, 254px\" \/><\/p>\n<p>Este m\u00f3dulo especialmente dise\u00f1ado para Arduino emitir de forma f\u00e1cil, r\u00e1pida y precisa un haz laser producido por este componente<\/p>\n<p>Es un Diodo Emisor de Laser que funciona a 5V y que emite a una longitud de onda de 650nm.<\/p>\n<p><strong>Caracter\u00edsticas T\u00e9cnicas:<\/strong><\/p>\n<p>Voltaje de funcionamiento: 5V<br \/>\nLongitud de onda: 650nm<br \/>\nPotencia 5 mW<br \/>\nColor: Rojo<br \/>\nMaterial: PCB<br \/>\nDimensiones: 2.3&#215;1.5&#215;0.9cm<\/p>\n<hr \/>\n<p><strong>Un Servo sg90<\/strong><\/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>Pines macho<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7340 size-thumbnail\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/tira-de-pines-macho-cuadrados-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/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-thumbnail\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/joystick-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/joystick-150x150.jpg 150w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/joystick-300x300.jpg 300w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/joystick.jpg 425w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/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 &#8211; 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>PCB<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-7078\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/10\/pcb.png\" sizes=\"(max-width: 387px) 100vw, 387px\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/10\/pcb.png 387w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2022\/10\/pcb-244x300.png 244w\" alt=\"\" width=\"387\" height=\"475\" \/><\/p>\n<p>Descargar archivo gerber \u2013&gt;\u00a0<a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/04\/pcb-alarma-ir.zip\">pcb alarma ir<\/a><\/p>\n<hr \/>\n<p><strong>Partes 3D<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-7345\" src=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/piezas_3d.png\" alt=\"\" width=\"412\" height=\"224\" srcset=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/piezas_3d.png 653w, https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/piezas_3d-300x163.png 300w\" sizes=\"(max-width: 412px) 100vw, 412px\" \/><\/p>\n<p>Descargar archivos STL &#8211;&gt;<a href=\"https:\/\/rogerbit.com\/wprb\/wp-content\/uploads\/2023\/06\/Laser_gun_bracket_501701-2.zip\">Laser_gun_bracket_501701 <\/a><\/p>\n<p>P\u00e1gina del autor <a href=\"https:\/\/www.thingiverse.com\/thing:501701\">https:\/\/www.thingiverse.com\/thing:501701<\/a><\/p>\n<hr \/>\n<p><strong>C\u00f3digo Fuente<\/strong><\/p>\n<pre class=\"lang:arduino decode:true \" title=\"C\u00f3digo Fuente\">#include &lt;Servo.h&gt;\r\nconst int X_PIN_A0 = A0;       \/\/ Pin anal\u00f3gico para el eje X\r\nconst int Y_PIN_A1 = A1;       \/\/ Pin anal\u00f3gico para el eje Y\r\nconst int BOTON_PIN_12 = 12;   \/\/ Pin digital para el bot\u00f3n\r\nconst int LASER_PIN5 = 5;   \/\/ Pin digital para el control del l\u00e1ser\r\nint estado = 0;\r\nServo servoX;\r\nServo servoY;\r\nint servoXPosPrev = 90;     \/\/ Posici\u00f3n anterior del servo X\r\nint servoYPosPrev = 90;     \/\/ Posici\u00f3n anterior del servo Y\r\nint servoIncrement = 1;     \/\/ Incremento de posici\u00f3n para el serv\r\nvoid setup() {\r\n  pinMode(BOTON_PIN_12, INPUT_PULLUP);  \/\/ Configurar el pin del bot\u00f3n como entrada con resistencia pull-up interna\r\n  pinMode(LASER_PIN5, OUTPUT);  \/\/ Configurar el pin del control del l\u00e1ser\r\n  servoX.attach(10);   \/\/ Conectar el servo X al pin 10\r\n  servoY.attach(11);   \/\/ Conectar el servo Y al pin 11\r\n  Serial.begin(9600); \/\/ Velocidad del puerto serial\r\n}\r\nvoid loop() {\r\n  \/\/ Leer los valores de los ejes X e Y\r\n  int xValue = analogRead(X_PIN_A0);\r\n  int yValue = analogRead(Y_PIN_A1);\r\n  \/\/ Convertir los valores a la posici\u00f3n del servo (0 a 180 grados)\r\n  int servoXPos = map(xValue, 0, 1023, 0, 180);\r\n   \/\/ Convertir los valores a la posici\u00f3n del servo (70 a 180 grados)\r\n  int servoYPos = map(yValue, 0, 1023, 70, 180);\r\n\r\n  \/\/ Mover los servos suavemente\r\n  if (servoXPos != servoXPosPrev) {\r\n    if (servoXPos &gt; servoXPosPrev) {\r\n      for (int pos = servoXPosPrev; pos &lt;= servoXPos; pos += servoIncrement) {\r\n        servoX.write(pos);\r\n        delay(5);  \/\/ Ajusta el retraso para controlar la velocidad del movimiento\r\n      }\r\n    } else {\r\n      for (int pos = servoXPosPrev; pos &gt;= servoXPos; pos -= servoIncrement) {\r\n        servoX.write(pos);\r\n        delay(5);  \/\/ Ajusta el retraso para controlar la velocidad del movimiento\r\n      }\r\n    }\r\n    servoXPosPrev = servoXPos;\r\n  }\r\n\r\n  if (servoYPos != servoYPosPrev) {\r\n    if (servoYPos &gt; servoYPosPrev) {\r\n      for (int pos = servoYPosPrev; pos &lt;= servoYPos; pos += servoIncrement) {\r\n        servoY.write(pos);\r\n        delay(5);  \/\/ Ajusta el retraso para controlar la velocidad del movimiento\r\n      }\r\n    } else {\r\n      for (int pos = servoYPosPrev; pos &gt;= servoYPos; pos -= servoIncrement) {\r\n        servoY.write(pos);\r\n        delay(5);  \/\/ Ajusta el retraso para controlar la velocidad del movimiento\r\n      }\r\n    }\r\n    servoYPosPrev = servoYPos;\r\n  }\r\n  \/\/ Leer el estado del bot\u00f3n\r\n  bool botonEstado = digitalRead(BOTON_PIN_12);\r\nif (botonEstado == LOW) {\/\/Si el bot\u00f3n ha sido precionado se cumple esta condici\u00f3n\r\nif(estado ==0){\/\/Si la variable estado es igual a 0 se cumple esta condici\u00f3n\r\ndigitalWrite(LASER_PIN5, HIGH);\r\nestado =1;\/\/Asignamos el valor 1 a la variable \"estado\"\r\n} else{\r\n digitalWrite(LASER_PIN5, LOW);\r\n estado =0;\r\n  }\r\nwhile(botonEstado == LOW){\r\nbotonEstado = digitalRead(BOTON_PIN_12);\/\/Leemos el estado del bot\u00f3n nuevamente para ver si sigue precionado\r\n    }\r\n  }\r\n  \/\/ Mostrar los valores en el terminal serial\r\n  Serial.print(\"Eje X: \");\r\n  Serial.println(xValue);\r\n  Serial.print(\"Eje Y: \");\r\n  Serial.println(yValue);\r\n  Serial.print(\"Bot\u00f3n: \");\r\n  Serial.println(botonEstado);\r\n  delay(100);  \/\/ Leve pausa entre las lecturas\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=\"C\u00f3mo hacer Alarma L\u00e1ser Casera - Muy F\u00e1cil\" width=\"1160\" height=\"653\" src=\"https:\/\/www.youtube.com\/embed\/y-9I4xFL2Kc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" 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>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 y diagramas En este tutorial, aprender\u00e1s c\u00f3mo crear un sistema de control para un l\u00e1ser utilizando un joystick, servos y Arduino. Durante este paso a paso, te guiar\u00e9 a trav\u00e9s de todo el proceso, desde la configuraci\u00f3n inicial [&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":7349,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[45,1634,1635,1632,1633,730,1631,1066,917,83,1636,677,1004],"_links":{"self":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7338"}],"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=7338"}],"version-history":[{"count":9,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7338\/revisions"}],"predecessor-version":[{"id":8001,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/posts\/7338\/revisions\/8001"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media\/7349"}],"wp:attachment":[{"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/media?parent=7338"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/categories?post=7338"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogerbit.com\/wprb\/wp-json\/wp\/v2\/tags?post=7338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}