Wall-E con Arduino
Arduino
Nano R3
Motor DC
(genérico)
Controlador
de motor dual L298N
LED
bicolor
con 3
pines
Sensor
infrarojo
Zumbador
Uno que
puede reproducir diferentes tonos.
Batería
de 9V
3xResistor
330 ohm
Cables
de puente (genéricos)
Herramientas
y máquinas necesarias.
Soldador
(genérico)
Aplicaciones
y servicios online.
Arduino
IDE
Sobre este proyecto
Todo el
mundo conoce la película Wall-E (¡y si no, ve a verla ahora!) Y al héroe
amarillo que está tratando de limpiar la tierra. En este proyecto, utilicé una
versión de Lego de nuestro pequeño amigo y le enseñé a evitar los obstáculos.
Este fue mi primer proyecto y una gran experiencia de aprendizaje para
descubrir los conceptos básicos de la electrónica.
Paso 1 - El Código
Como
desarrollador de software de oficio, pensé en lo que quería que hiciera y
empecé con el código.
Cuando
desconecta un motor en funcionamiento, pueden producirse picos de voltaje y
dañar sus componentes electrónicos. Por lo tanto, hago que Wall-E espere dos
segundos antes de que él haga algo. Eso significa que solo puedo presionar el
botón Restablecer en el Arduino y desconectar rápidamente la batería sin dañar
nada.
Toca una
pequeña melodía cuando se despierta y luego comienza a conducir. Cuando ve un
obstáculo, se detiene, reproduce un sonido "Uh-oh" y mira a su
alrededor para determinar la mejor manera. El tipo de sensor infrarrojo que
utilicé tiene un pequeño tornillo en su parte posterior que te permite
determinar la distancia a la que crea una señal. Es por eso que no hay cálculos
de distancia en el código. (Primero quería usar un sensor ultrasónico, pero no
encaja con sus ojos).
Wall-E
primero verifica si el lado izquierdo está despejado, y luego si el lado
derecho está despejado. Si ambos lados están bloqueados, retrocede mientras emite
un pitido como una maquinaria pesada en un sitio de construcción, luego gira en
una dirección aleatoria y continúa. Si solo un lado está bloqueado, continúa al
otro lado. Si ambos lados son libres, elige uno al azar y continúa su camino.
Intenté
que hiciera giros al azar, pero esa parte aún no está del todo terminada. Estoy
tratando de usar el temporizador Arduino incorporado. ¡Déjame saber en los
comentarios si tienes una idea de cómo optimizarla!
Paso 2 - cablearlo
Lo
primero fue colocar el sensor de infrarrojos en el ojo para que no se vea tan
obvio. Lo desarmé, pegué un pasador Lego al sensor (para que su ojo pudiera
moverse hacia arriba y hacia abajo) y luego utilicé tachuela azul para colocar
las piezas de Lego alrededor del sensor:
Lo más
importante de los motores es que tienen suficiente par, porque la configuración
de las ruedas de Wall-E necesita bastante fuerza para moverse. Tuve que soldar
los cables a los motores y conectarlos de manera que se conecten de forma
segura al Lego. Así que desarmé sus ruedas, ordené una bolsa llena de alfileres
de Lego Technic, cinta de yeso envuelta (¿así es como se llama? Es como una
cinta suave que puede ir a la piel) alrededor de los ejes del motor, y los
pegué en dos alfileres Eso se convirtió en el eje principal de cada rueda. Esto
funcionó durante unos minutos, pero luego la fricción era demasiado alta para
que el pegamento de la cinta se mantuviera. Afortunadamente, los pines Technic
tienen pequeños surcos en el lateral, por lo que la cinta tenía un lugar donde
agarrarse, lo que hicieron feliz después de haber sido empapados en súper
pegamento.
Este es
un diagrama de circuito para Wall-E. Tiene un Arduino Nano, un protector de
motor, dos motores de CC, una batería de 9V, un LED bicolor, un sensor de infrarrojos
y un timbre piezoeléctrico.
Según la
convención, todos los cables rojos son positivos ("entregar"
electricidad) y todos los cables negros son negativos ("recibir"
electricidad). El cable amarillo en la parte superior derecha lleva la señal
del sensor de infrarrojos; los cables naranja y verde son para el LED bicolor
de tres clavijas, los cables de color púrpura son para indicar al protector del
motor en qué dirección deben girar los motores, y los cables azules le dicen al
protector del motor qué tan rápido los giran.
El
protector del motor tenía un muy buen tutorial que facilitó la conexión y el
uso. Desafortunadamente, la parte Fritzing no tenía los dos pines para ajustar
la velocidad, por lo que los cables azules terminan aleatoriamente en el protector
del motor en el diagrama.
Un
problema más que enfrenté al pegarlo todo fue la falta de pines de voltaje y
tierra. Quería alimentar los motores directamente a través del protector del
motor para que puedan obtener la mayor potencia posible, pero de alguna manera
tuve que alimentar 5V al Arduino y también al sensor de infrarrojos. Así que
hice lo que prácticamente todo el mundo en la web dijo que no debía hacer:
conecté la salida de 5 V del protector del motor al pin de 5 V del Arduino como
entrada. Ahora, con el escudo que estoy usando, puedo estar absolutamente
seguro de que genera 5V regulados sin picos desagradables que podrían dañar mi
Arduino. Si conecta una fuente de alimentación no regulada a ese pin,
probablemente freirá algo. Quería usar el pin Vin al principio, pero ese tiene
un mecanismo incorporado que regula todo hacia abajo, por lo que mi 5V se
habría convertido en 3.8V o menos, lo cual no es suficiente para que el Arduino
funcione correctamente. En su lugar, utilicé el Vin gratuito para alimentar (!)
El sensor de infrarrojos con 5V, porque no tenía ningún divisor de cable, y
sabía que también saldrían 5V de allí. Sí, comenzó a sentirse un poco como
Frankenstein en este punto. ¡Pero funcionó!
quieres aprender mas sobre robotica dale click aqui
No hay comentarios.:
Publicar un comentario