Introduction: GoproBOT Arduino Printbot
ANTECEDENTES
La historia de este pequeño Printbot, del que estamos muy orgullosos, comienza hace unos meses, cuando mi hijo Javier de 8 años recibió como regalo de Reyes un kit de Robótica (de bq, os lo recomiendo) y empezamos a trastear con cosas de electronica básica, arduino y demás. Y teniendo una impresora 3D y despues de montar algún que otro printbot, dijimos, ¿Y por que no intentamos hacer uno nosotros desde cero? ¿Y si diseñamos uno y vemos si somos capaces? He de decir, que nuestros conocimientos de electrónica, programación y automatismos era "0", y salvo el tema del diseño y modelado 3D, de lo cual algo controlo, todo lo demás estaba por hacer. AGRADECIMIENTOS Antes de seguir contando esto he de dar las gracias a la gente de bq, a su plataforma DIWO, a sus cursos de robótica y a su plataforma de programación por cajas de Arduino bitbloq. Muy especialmente quiero agradecer a Carlos, de PROMETEC (http://www.prometec.net) por su excelente curso abierto de Arduino, sin el cual hubiera sido imposible acometer esta tarea. También he de dar las gracias a Javier Vidal Peña (https://Twitter.com/javidalpe) que con paciencia nos ha ayudado a hacer la web de control y a depurar nuestro código del programa.
Step 1: EL CONCEPTO
La idea era hacer un robot por control remoto, con cámara integrada, para poder ser manejado a distancia y sin tener visión directa de él. De los posibles sistemas de control remoto se nos antojó como más adecuado el WIFI, ya que pensábamos que nos permitiría una mayor autonomía, cobertura y posibilidad de transmisión de vídeo en tiempo real, al menos en un área controlada, y con posibilidad de llegar a controlarlo en remoto desde internet (esta parte está aun por lograr).Dado que teníamos una Gopro, la cual se conecta en streaming con su propia app con el teléfono móvil, pensamos que parte del trabajo ya lo teníamos solucionado, y todo lo que quedaba era resolver el control del movimiento del robot.Un importante handicap que se nos presentó en las primeras pruebas, fue el descubir que el streaming de la cámara tiene un retardo de unos segundos. Este pequeño inconveniente, no obstante para nosotros tenía algo de positivo, o simpático ya que hacía que el control del robot se pareciese a manejar un robot en marte!!!!!! Seguramente será algo con solución, pero en nuestro caso, es casi mas un punto a favor que una pega.Dicho esto, por lo demás se trata de un rover con dos servos de rotación continua, montados en un chasis sobre el que se sitúa la electrónica y una montura para la cámara, con un micro servo que permite el giro de 180º.
Step 2: EL DISEÑO
Para el diseño de las piezas nos hemos servido de nuestra experiencia previa montando los printbots de bq (beaetle, y renacuajo) y alguno más que hemos visto aquí en thingiverse, Hemos partido de algunas piezas de ellos, las cuales hemos copiado i/o modificado para dar con nuestra solución. La idea ha sido construir un chasis solido, sencillo y compacto. Para su diseño hemos usado autcad y sketchup.Hemos tenido algunos pequeños problemas de colisiones y por ello veréis que el robot está impreso en dos colores, pues ha sido necesario retocar algunas piezas del primer prototipo por problemas de encajes. Esto con un solidworks o un inventor no pasa!Las que hemos subido en su versión actual son las del prototipo que veis impreso. Estamos trabajando en mejorar algunas cosas, como una montura para el wifi.
Step 3: LOS COMPONENTES
Para hacer este robot se necesitan las partes impresas del chasis y ruedas y los siguientes componentes:
Placa controladora Freaduino UNO (compatible con arduino UNO, o similar. Esta tiene la ventaja de incorporar en la propia placa los conectores SVG en cada PIN)
2 Servos de Rotación Continua SM-S4303R o similares
Un micro servo de 9g (y sus tornillos)
1 Modulo WIFI ESP8266 (conector FTDI para programarlo si es necesario)
Una Cámara Gopro Hero 3, con su montura (O similar con WIFI)
Tornillos y tuercas M3 (distintas medidas, 12, 14, 30 mm, etc)
Una bola o canica o rodamiento de 12 mm de diámetro
2 juntas tóricas de 50 mmUn portapilas 8 x AAA
Algunos cables de protoboard
Step 4: IMPRESION Y MONTAJE
Para la impresión recomendamos usar PLA con una resolución de 300 micras.
El prototipo lo hemos impreso en una prusa I3, sin soportes y con un relleno del 30%
Step 5: CONEXIONADO
El esquema de conexión es:
Modulo Wifi ESP8266. Pines D2 y D3 . Alimentacion a 3,3 V y GND (Se recomienda alimentación externa)
Microservo 9g para mover la camara. Pin D7, Vin y Gnd
Servos de rotacion continua. Derecha Pin D12, Izquierda D11, Vin y Gnd
Step 6: PROGRAMA DE CONTROL Y PRIMERAAS PRUEBAS
Avanzar, retroceder, giro a izquierdas, a Derechas y parada.
Movimiento de cámara a derecha, a izquierda y posición central. Con la web de control se controla mediante pulsaciones en las flechas. Hay que ejecutar mediante comandos AT en el monitor serie del Arduino lo siguiente: AT+CIFSR? // Esto nos dara la URL de nuestro ESP8266 AT+CWLAP="tured","tucontraseña" //Esto solo una vez, ya que se queda almacenado. En la web de control hay un cuadro a rellenar con la URL de tu printbot (la que has obtenido al ejecutar el comando AT+CIFSR? Recomiendo echar un vistazo a los tutoriales del ESP 8266 de www.prometec.net, en donde se explica muy bien como configurar el ESP8266 y sus peculiaridades. www.prometec.net, He adjuntado el programa de control, aun en fase de depuración y mejora. Se admiten sugerencias y aportes (Esta es nuestra parte mas floja) ;) Y como digo, he puesto una versión Beta, a medio funcionar. Espero en unos días tenerla completa, correcta y más depurada. Lo pongo así, con la esperanza de que alguno que controle más nos eche una mano! El fichero controlweb.html se ejecuta en el explorador para el control del printbot (mantener pulsada la flecha de movimiento, y soltar para detener).
Step 7:
A probarlo!!!
La Gopro se maneja desde la Goproapp para Ios o Android.
Que lo disfruteis, mejoreis y completeis!!!!
Un saludo