Robot de LEGO y Arduino, evitando obstáculos





Nos encanta LEGO y Crazy Circuits [Electrónica compatible con LEGO / aprox. transl.], por lo que decidimos combinarlos en un robot simple e interesante que puede evitar obstáculos. Le mostraremos cómo ensamblar dicho robot y describiremos el proceso en detalle. Es posible que su versión del robot no coincida exactamente con la nuestra.



Aquí hay una lista de los componentes electrónicos y LEGO necesarios. Siéntete libre de experimentar con ellos.















Componentes



Electrónica



  • 1 x tablero de robótica de Crazy Circuits
  • 2 x servomotor de rotación completa compatible con LEGO
  • 1 x Sensor de distancia ultrasónico HC-SR04
  • 4 x cables de puente de hembra a hembra
  • 1 x fuente de alimentación externa con USB


Para nuestro proyecto, seleccionamos una pequeña fuente de alimentación externa que encaja perfectamente en nuestro robot. Puede que tenga que diseñar el suyo propio para su fuente de alimentación externa o para un juego de baterías.



Lego



Usamos varios detalles, y le recomendamos que lo haga como mejor le parezca y según lo que tenga a mano. Es importante que tenga una forma de conectar los servos a la parte inferior, el sensor ultrasónico para que mire hacia adelante y de alguna manera asegurar la placa y la fuente de alimentación. Para hacer esto, puede usar cinta de doble cara, bandas elásticas, velcro. Hay enlaces a nuestras piezas en la tienda BrickOwl, sin embargo, puede comprarlas en cualquier lugar donde se vendan LEGO y juegos compatibles.





Paso 1: construcción del chasis LEGO







Comenzamos con una placa LEGO de 6 × 12, que era el tamaño mínimo con el que estábamos contentos. Puede usar uno más grande, pero más pequeño será más difícil.



El ancho del robot lo dictaba la fuente de alimentación externa que teníamos disponible, ya que necesitábamos la capacidad de deslizarlo en su lugar. Una batería más grande requerirá un robot más grande.



El chasis debe ser lo suficientemente alto para acomodar tanto la batería como la placa en la parte superior.



Paso 2: agrega ruedas































Cada servo debe colocarse debajo del chasis. Como resultado, necesitábamos los siguientes componentes:



  • Eje 4 LEGO con tapón (87083)
  • Centro LEGO (32123/42136)
  • Ladrillo LEGO redondo 2 x 2 (3941/6143)


Para arreglar dos motores, necesita 4 piezas de cada uno de los componentes. Después de asegurarlos, agregue una rueda: LEGO Wedge Belt Wheel (4185/49750).



Al igual que con otros modelos de LEGO, ¡hay toneladas de opciones! Tuvimos éxito con los componentes que enumeramos, pero puede intentar algo más.



Paso 3: agrega el video



















Nuestro rodillo permite que el robot ruede en un plano sobre dos ruedas motorizadas, actuando como una tercera rueda, lo que facilita que el robot gire y se mueva.



Para asegurarlo, se requirieron los siguientes detalles:



  • LEGO EV3 Technic Ball Pivots Set 5003245
  • LEGO Technic Cross Block Beam 3 con cuatro pines (48989/65489)
  • Ladrillo LEGO Technic 1 x 6 con agujeros (3894)


En la versión anterior, usábamos solo piezas redondas de LEGO para la "pierna" y funcionó bien en una superficie lisa. Pero no funcionó en alfombra o piso no liso. Si no tiene un rodillo, considere usar esta "pierna".



Paso 4: agregue un sensor de distancia















El sensor de distancia ultrasónico debe colocarse en la parte delantera del robot para que “vea” hacia dónde se dirige y sepa cuándo detenerse para no chocar con un obstáculo.



Para el sensor, imprimimos en 3D una carcasa compatible con LEGO. El modelo está publicado en el sitio web de Thingiverse: www.thingiverse.com/thing : 3171004



Si no tiene una impresora 3D, averigüe cómo sujetar el sensor con piezas LEGO, cinta adhesiva, bandas elásticas, bridas para cables , etc. Es importante que mire hacia adelante, hacia dónde se dirige el robot cuando se mueve hacia adelante.



Paso 5: agrega el tablero



















La tarifa es el cerebro de toda la operación. Se asienta sobre ladrillos LEGO, por lo que es fácil de colocar.



Por lo general, la placa de robótica se usa junto con una cinta conductora que le permite manipular circuitos eléctricos directamente en la parte superior del LEGO, pero como solo tenemos dos motores y un sensor de distancia, se pueden conectar directamente a los pines de la placa.



Colocamos la placa para que el cable de alimentación USB sea fácil de conectar. Tuvimos la suerte de encontrar un cable USB muy corto en la caja de cable.



¡Ahora puede conectar el sensor y los motores!



Para el sensor: el conector de eco debe estar conectado al pin 3 en la placa, el conector de disparo al pin 5, VCC a 5 V, Gnd a GND Por lo tanto, el sensor recibirá energía y se comunicará con la placa.



Entonces necesitas conectar cada uno de los motores. Esto es fácil de hacer: cables marrones a GND, cables rojos a 5 V, cables naranjas a D6 para el motor izquierdo y D9 para el derecho.



Paso 6: programe la placa de robótica







Antes de que el robot pueda funcionar, el código debe cargarse en el microcontrolador. Antes de hacer esto, asegúrese de tener la última versión del IDE de Arduino instalada en su computadora .



Hemos subido nuestro código al repositorio de GitHub:



github.com/BrownDogGadgets/CrazyCircuits/tree/master/Projects/Avoidance%20Robot



El código es simple, hay muchos comentarios en él para dejar claro qué es responsable de qué.



También necesitará la biblioteca



NewPing bitbucket.org/teckel12/arduino-new-ping/wiki/Home



Paso 7: deja que el robot camine















Después de construir un robot y cargar el código en él, ¡puede continuar con las pruebas!



La forma más sencilla es conectar una fuente de alimentación externa y dejar que el robot avance. Si pones una mano delante de él, debe retroceder, girar y avanzar nuevamente (¡cuidado, no se mueve fuera de la mesa!)



. Construimos una simple "arena" hexagonal de cartón para que el robot tuviera un lugar donde montar. No tenga miedo de experimentar con lo que tiene.



Paso 8: mayor desarrollo











Si está interesado en desarrollar este proyecto, aquí tiene las preguntas para usted:



- ¿Qué aprendió mientras ensamblaba el robot?

- ¿Qué influyó en su elección de piezas?

- ¿El robot irá más rápido si se aumentan sus ruedas?



Hay dos variables en el código, corrigiéndolas, cambiará la hora en que el robot retrocede cuando se detecta un obstáculo y la hora en que girará. Intente intercambiar goBackwardTime y turnRightTime y vea cómo afecta el comportamiento del robot.



//     

int goBackwardTime = 1000;

//    

int turnRightTime = 1000;




Ver también:






All Articles