lunes, 17 de junio de 2019


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