Funcionamiento
Este proyecto tiene como objetivo diseñar y construir una plataforma móvil, cuya estructura base está hecha de cartón en forma cuadrada. Utilizando una placa Arduino como núcleo de control, la plataforma será capaz de levantarse mediante el movimiento de cuatro servomotores de 5V, los cuales serán controlados por un joystick. Este proyecto combina conceptos de electrónica, programación y diseño mecánico, ideal para aprender y poner en práctica conocimientos de robótica básica.
Componentes
- Arduino (cualquier modelo, como Arduino Uno).
- 4 Servomotores de 5V.
- 1 Joystick (módulo con dos ejes X/Y y botón pulsador integrado).(KY-006)
- Cableado y jumpers para conexiones eléctricas.
- Fuente de alimentación 5v.
- Cartón
- Hilo.
Conexiones
- Conecta los pines del joystick:
- VCC a 5V de la fuente de alimentación.
- GND a GNDde la fuente de alimentación.
- VRx a A0 (para eje X).
- VRy a A1 (para eje Y).
- Conecta los servos:
- Conecta todos los sevo motores a la fuente de alimentación, GND a GND y VCC a 5v
- Servo 1(eje Y positivo): pin de señal a pin 5 del arduino.
- Servo 2(eje X positivo): pin de señal a pin 6 del arduino.
- Servo 3(eje Y negativo): pin de señal a pin 9 del arduino.
- Servo 4(eje X negativo): pin de señal a pin 10 del arduino.
- Conecta el arduino:
- Pin GND del arduino a GND de la fuente de alimentación
Código
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #include <Arduino.h> #include <Servo.h> // Importar la librería para controlar el servo const int servoMasYPin = 5; const int servoMasXPin = 6; const int servoMenosYPin = 9; const int servoMenosXPin = 10; // Pines del joystick const int VRx = A0; const int VRy = A1; const int SW = 2; // Creación del objeto servo Servo servoMasY, servoMenosY, servoMasX, servoMenosX; void setup() { // Inicialización del servos servoMasY.attach(servoMasYPin); servoMenosY.attach(servoMenosYPin); servoMasX.attach(servoMasXPin); servoMenosX.attach(servoMenosXPin); // Posición inicial del servo: 90 grados servoMasY.write(90); servoMenosY.write(90); servoMasX.write(90); servoMenosX.write(90); delay(5000); // Inicialización del puerto serie Serial.begin(9600); } void loop() { // Leer valores analógicos del joystick int x = analogRead(VRx); // Eje X int y = analogRead(VRy); // Eje Y Serial.print("x: "); Serial.print(x); Serial.print(" y: "); Serial.println(y); // Mapear valores de 0-1023 a 90-0 int masY = map(y, 512, 1023, 90, 0); int menosY = map(y, 512, 0, 90, 0); int menosX = map(x, 512, 0, 90, 0); int masX = map(x, 512, 1023, 90, 0); // Controlar los servos, se cambiaron los ejes, debido a que en mi caso el josystick está parado //juega un poco con los valoes hasta obtener el movimiento deseado servoMasX.write((y > 562) ? masY : 90); servoMenosX.write((y < 462) ? menosY : 90); servoMasY.write((x > 562) ? masX : 90); servoMenosY.write((x < 462) ? menosX : 90); delay(50); } |
Diseños

Videos
Conclusión
Este proyecto es una excelente manera de aprender sobre el control de servomotores, integración de hardware y software, y diseño de prototipos. Además, fomenta la creatividad y la resolución de problemas al trabajar con materiales accesibles como el cartón.