Cámara robótica

¡Espía a tu gato con esta cámara robótica! Monta la cámara espía y contrólala con un pequeño joystick. Puedes dirigir todo desde el ordenador y cuando veas algo sospechoso, ¡hazle una foto!

Materiales

  • 1 placa Arduino Uno
  • 1 Shield Educativa
  • 2 servomotores estándar
  • 1 joystick TinkerKit
  • 3 cables
  • 2 conectores TinkerKit
  • 1 cámara web
  • 1 kit de cámara robótica
  • 8 pilas AA
  • 1 portapilas
  • 1 conector a corriente

Instrucciones

  1. Conecta la shield a la parte superior de tu placa Arduino.
  2. Conecta uno de los cables al joystick TinkerKit en el puerto marcado con Y. Conecta un cable rojo al extremo opuesto del cable TinkerKit asegurándote de que vaya a 5V (es decir, al cable rojo del Tinkerkit). Conecta un cable negro entre el conector negro TinkerKit y a tierra (es decir, a 0V). Conecta el último cable al TinkerKit y al Pin analógico A0.
  3. Conecta el segundo cable TinkerKit al joystick en el puerto X y al conector analógico TinkerKit.
  4. Carga el ejemplo Archivo -> Ejemplos -> BasicEducationShield -> Robots -> CameraRobot.
  5. Construye el kit, ¡no olvides meter la webcam dentro!
  6. Gira el servo a mano hasta llegar al final de su recorrido. Gíralo a mano hasta la posición de 90 grados. Fija el brazo con forma de barra a lo largo del servo. Haz lo mismo con el otro servo.
  7. Conecta el servo lateral al pin D10.
  8. Conecta el servo inferior encargado de hacer el barrido panorámico al pin D9.
  9. Conecta la batería al jack de alimentación.
  10. Conecta la cámara web al ordenador. Abre el programa de Processing llamado CameraRobot y ejecútalo.

Código

Puedes encontrar el código en: Archivo -> Ejemplos -> EducationShield>Block4-Robots>Projects>CameraRobot

Cómo funciona

Leemos los valores del joystick. Estos valores serán o bien 0, -1 o 1 para cada eje. 0 es si el joystick está en el medio, -1 es uno de los lados y 1 es el otro lado.

Ya que sólo podemos mover un servo a la vez, tenemos que comprobar a cuál vamos a escribir. Si el valor X del joystick no es 0, desconectamos por software con dettach el servo que controla la inclinación (tilt en inglés) para controlar el servo de giro (pan en inglés). A continuación, comprobamos a qué lado se está moviendo el joystick y luego agregamos o quitamos una unidad del ángulo de giro.

Si de contrario, el valor X del joystick es 0, significa que no está siendo movido en el eje X. Así que en su lugar desconectamos el servo de giro y conectamos el servo de inclinación. A continuación, comprobamos el movimiento del joystick en el eje Y para escribir el valor del ángulo al servo correspondiente.

¿No funciona?

  1. Asegúrate de que has conectado los servos correctamente. Mira la referencia para asegurarte de que los servos funcionan.
  2. Asegúrate de que el joystick esté conectado correctamente. Mira la referencia para asegurarte de que funciona.

¡Sigue experimentando!

  • ¿Se están moviendo los servos demasiado lento o demasiado rápido? Intenta cambiar el delay al final del loop o intenta cambiar el aumento y la disminución de los ángulos.
  • ¿Los servos se mueven demasiado a los lados, o demasiado hacia arriba y abajo? Intenta limitar los ángulos permitidos.