Càmera robòtica

Espia el teu gat amb aquesta càmera robòtica! Munta la càmera espia i controla-la amb un petit joystick. Pots dirigir-ho tot des de l’ordinador i, quan vegis alguna cosa sospitosa, fes-li una foto!

Materials

  • 1 placa Arduino U
  • 1 Shield Bàsica Educativa
  • 2 servomotors estàndards
  • 1 joystick TinkerKit
  • 3 cables
  • 2 connectors TinkerKit
  • 1 càmera web
  • 1 kit de càmera robòtica
  • 8 piles AA
  • 1 portapiles
  • 1 connector a corrent

Instruccions

  1. Connecta la Shield a la part superior de la teva placa Arduino.
  2. Connecta un dels cables al joystick TinkerKit, al port marcat amb una Y. Connecta un cable vermell a l’extrem oposat del cable TinkerKit assegurant-te que vagi a 5V (és a dir, al cable vermell del TinkerKit). Connecta un cable negre entre el connector negre TinkerKit i a terra GND (és a dir, a 0V). Connecta l’últim cable al TinkerKit i al Pin analògic A0.
  3. Connecta el segon cable TinkerKit al joystick en el port X i al connector analògic TinkerKit.
  4. Puja l’exemple  Arxiu -> Exemples -> BasicEducationShield -> Robots -> CameraRobot.
  5. Construeix el kit sense oblidar posar la webcam dins!
  6. Gira el servo a mà fins a arribar al final del seu recorregut. Gira’l a mà fins a la posició de 90 graus. Fixa el braç amb forma de barra al llarg del servo. Fes el mateix amb l’altre servo.
  7. Connecta el servo lateral al Pin D10.
  8. Connecta el servo inferior encarregat de fer l’escombratge panoràmic al Pin D9.  
  9. Connecta la bateria al jack d’alimentació.
  10. Connecta la càmera web a l’ordinador. Obre el programa de Processing anomenat CameraRobot i executa’l.

Codi

Pots trobar el codi a: Arxiu -> Exemples -> BasicEducationShield -> Robots -> CameraRobot

Com funciona

Llegim els valors del joystick. Aquests valors seran 0, -1 o 1 per a cada eix: 0, quan el joystick és al mig; -1 si és un dels costat; i 1 quan és l’altre costat.

Ja que només podem moure un servo a la vegada, hem de comprovar en quin ens disposem a escriure. Si el valor X del joystick no és 0, desconnectem per mitjà del software amb dettach el servo que controla la inclinació (tilt en anglès) per tal de controlar el servo de gir (pan en anglès). A continuació, comprovem a quin costat s’està movent el joystick i després agreguem o traiem una unitat de l’angle de gir.

Si, en canvi, el valor X del joystick és 0, significa que no està essent mogut a l’eix X. Cal llavors desconnectar el servo de gir i connectar el servo d’inclinació. Tot seguit, comprovem el moviment del joystick a l’eix Y per tal d’escriure el valor de l’angle al servo corresponent.

No funciona?

  1. Assegura’t que has connectat els servos correctament. Mira la referència per comprovar que els servos funcionen.
  2. Assegura’t que el joystick estigui connectat correctament. Mira la referència per comprovar que funciona.

Continua experimentant!

  • S’estan movent els servos massa lentament o massa ràpidament? Intenta canviar el delay al final del loop o bé canviar l’augment i la disminució dels angles.
  • Els servos es mouen massa als costats, o massa amunt i avall? Prova de limitar els angles permesos.