Vehículo LEGO robotizado con Arduino, servomotor y LEDs

Este prototipo para Arduino/Genuino ha sido construido con piezas de LEGO, al que hemos incorporado un servomotor y dos diodos LEDs. El servomotor nos va a ayudar a generar un movimiento que podremos controlar facilmente con nuestros códigos y programas Arduino/Genuino, y los LEDs nos dan un toque de luz y color a nuestro diseño. Aquí te explicamos paso a paso el diseño, los componentes, los códigos, etc. Si quieres aprender y tienes un proyecto en mente y voluntad, encontrarás fácilmente la información que te ayudará a realizar tu proyecto y ejecutarlo fácilmente.

En este prototipo utilizaremos las funciones básicas de la biblioteca Servo para controlar un servomotor con Arduino/Genuino, y controlaremos el parpadeo de los LEDs con la alternacia de estados HIGH y LOW en la placa Arduino/Genuino.

Componentes y materiales

  •  Placa Arduino/Genuino
  • 1 Servomotor
  • Piezas LEGO
  • 2 LEDs
  • Cables de conexión

Esquema y montaje

En primer lugar hemos diseñado una estructura con LEGO que nos permite insertar un sencillo servomotor en su interior.

servomotor-LEGO

Los servomotores tienen tres cables: energía, la tierra, y de señal. El cable de alimentación es típicamente rojo, y debe ser conectado al pin 5V de la placa Arduino. El cable de tierra es por lo general de color negro o marrón y debe estar conectado a un conector de tierra de la placa Arduino. El pasador de señal es normalmente de color amarillo, naranja o blanco y debe ser conectado a un pin digital de la placa Arduino. Tenga en cuenta que los servos consumen bastante energia, por lo que si tiene que conducir más de uno o dos, es probable que necesite una fuente de alimentación independiente.




En este ejemplo posicionaremos el servomotor por medio del pin 9 de la placa , por lo deberemos conectar el cable marron GND, y el cable rojo a +5V y el cable naranja a  el pin 9.

servomotor-LEGO-2

El siguiente paso consiste en construir la cabeza robótica que se mueve con el servomotor y que contiene los diodos LEDs.

leds-LEGO

Estos diodos los colocamos en serie, así nos evitamos tener que colocar resistencias y utilizamos menos cables. En este ejemplo activaremos y desactivaremos por medio del pin 13 de la placa , por lo deberemos conectar el catodo a GND, y el ánodo a el pin 13.

leds-LEGO-Arduino

leds-LEGO-Arduino

Una vez que tenemos todas las partes las ensamblamos para completar el prototipo.

leds-LEGO-Arduino

leds-LEGO-Arduino

Código/Sketch Arduino y la biblioteca servo

Para controlar los servomotores con Arduino debemos incluir la biblioteca Servo. Y definir los servos que vamos a utilizar.

#include <Servo.h>

Servo miservo1;  // Creamos un objeto servo para controlar cada servo
Servo miservo2;
Servo miservon;

Esta biblioteca permite a una placa Arduino controlar servomotores RC. Los servos están integrados por engranajes y por un eje que puede ser controlado con precisión. Los servos estándar permiten al eje posicionarse en varios ángulos, por lo general entre 0 y 180 grados. Los servos de rotación continuas permiten la rotación del eje para ajustarse a diferentes velocidades.

La biblioteca Servo soporta hasta 12 motores en la mayoría de las placas Arduino y 48 en las Arduino Mega.

Sus funciones principales son las siguientes:

attach()

Fija el pin para cada Servo.

miservo1.attach(7);  // Difine los pines de cada servo
miservo2.attach(8);  
miservo3.attach(9); 

write()

Escribe un valor en el servo, controlando el eje en consecuencia. En un servo estándar, esto hará que el ángulo del eje (en grados), moviendo el eje para que la orientación. En un servo de rotación continua, esto hará que la velocidad del servo (siendo 0 a toda velocidad en una dirección, siendo 180 la velocidad máxima en la otra, y un valor de cerca de 90 siendo sin movimiento).

miservo1.write(0);  // Define la posición de cada servo entre 0 y 180
miservo2.write(40);  
miservo3.write(180);  

read ()

Lee el ángulo actual del servo.

miservo1.read();  // Lee la posición de cada servo entre 0 y 180
miservo2.read();  
miservo3.read();  

El parpadeo de los LEDs lo conseguimos mediante el clásico método Blink, alternando los estados HIGH y LOW en el pin 13.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *