Tabla de contenido:

ROADRUNNER: 5 pasos
ROADRUNNER: 5 pasos

Video: ROADRUNNER: 5 pasos

Video: ROADRUNNER: 5 pasos
Video: Pasos- Roadrunner Intro (prod.2gproudcedit) 2024, Noviembre
Anonim
CORREDERO
CORREDERO

Roadrunner es un pequeño vehículo automatizado, que tiene la función de transportar latas de bebidas a los usuarios sedientos.

¿Cómo funciona? Se coloca una lata en la base superior del vehículo, y el peso de la lata activa un pequeño botón que le dice al transporte que está listo para trabajar. Para guiarse, Roadrunner sigue un camino en el suelo en forma de línea negra, que indica hacia dónde debe ir, y gracias al uso de fotosensores, es capaz de detectar cuando se sale del camino, corrigiendo su dirección., para permanecer así, siempre dentro de la pista. Una vez que el vehículo llega al usuario, éste recoge la lata de bebida haciendo que el pequeño transporte se detenga en el mismo lugar. No reanudará su marcha hasta que el usuario vuelva a colocar la lata sobre ella, para volver al punto de partida y finalizar su trabajo.

Paso 1: Herramientas y materiales

Herramientas y materiales
Herramientas y materiales
Herramientas y materiales
Herramientas y materiales

Paso 2: Montaje de hardware

Ensamblaje de hardware
Ensamblaje de hardware
Ensamblaje de hardware
Ensamblaje de hardware
Ensamblaje de hardware
Ensamblaje de hardware

1. CUERPO

Para el cuerpo usamos una placa de aluminio, la cual cortamos y doblamos con la forma que queríamos. También hicimos todos los agujeros que serán necesarios para los tornillos.

2. RUEDAS

Usamos 2 ruedas de un juego de Mecano que se ajustan perfectamente a nuestro robot. Los servos van debajo de la placa unida con la ayuda de tornillos. Para la rueda delantera usamos una rueda "libre", por lo que puede ir en cualquier dirección fácilmente.

3. FOTOSENSORES

Para los fotosensores RDL usamos una placa de circuito y le soldamos el circuito, incluye una resistencia, el LDR, positivo, negativo y señal.

4. TABLERO ARDUINO

Adjuntamos la placa Arduino a la placa con tornillos. Luego le conectamos todo el circuito. Para alimentar la placa usamos 2 baterías de 9V, que hemos unido y enchufado al Arduino.

5. PLACA SUPERIOR

Para la placa superior utilizamos una máquina de corte por láser para cortar PMMA. Diseñamos esta forma con AutoCad. Consta de un plato grande, 3 anillos circulares y una pieza circular para encajar en los anillos. Le dimos espacio a la placa para que pudiéramos encajar un botón.

Paso 3: Conexiones eléctricas

Conexiones eléctricas
Conexiones eléctricas

1. Conexión de servomotores:

Los servomotores constan de tres cables; uno amarillo o naranja para señal, rojo para potencia (Vcc) y negro o marrón para tierra (GND). El rojo y el marrón están conectados a los pines correspondientes del Arduino (5V y GND). Un servo está conectado al pin 10 de PWM y el otro al pin 11 de PWM.

2. Botón de conexión:

Los botones electrónicos funcionan de una forma algo peculiar; Permitir pasar la tensión por los pines en diagonal, es decir, si tenemos cuatro pines, debemos conectar la entrada y la salida en solo dos pines, 1-4 o 2-3 para que funcionen. Por ejemplo, si elegimos los pines 1-4, conectaremos la tierra (GND) al pin 4, y la salida se conectará al pin PWM 9 y, a su vez, junto con una resistencia de 1kOhm, lo conectaremos a 5V (Vcc).

3. Conexión de fotosensores:

Para conectar los fotosensores, debemos colocar una de las patas directamente a la fuente de Vcc, y la otra conectarla al mismo tiempo, a un pin analógico (en este caso a los pines A0 y A1) y a la tierra GND junto con una resistencia de 1kOhm.

Nota:

Puede soldar pequeños conectores a los cables si los cables no encajan directamente en el Arduino o utilizar un protoboard para facilitar las diferentes conexiones. En este proyecto hemos utilizado tiras de conexión para diferentes juntas.

Paso 4: Programando Arduino

Programando Arduino
Programando Arduino
Programando Arduino
Programando Arduino

CÓDIGO

#include Servo myservoL;

Servo myservoR;

int inPin = 7;

int buttonVal = 1;

configuración vacía () {

// SERVOMOTORES

myservoL.attach (10);

myservoR.attach (11);

Serial.begin (9600); }

bucle vacío () {

int LDR_L = analogRead (A2);

int LDR_R = analogRead (A1);

buttonVal = digitalRead (inPin);

// PAQUETE IZQUIERDO

si (LDR_L> 590 && buttonVal == 0) {

myservoL.write (180);

//Serial.println(LDR_L); }

demás {

myservoL.write (92);

//Serial.println(LDR_L);

}

// PAQUETE DERECHO

si (LDR_R> 750 && buttonVal == 0) {

myservoR.write (-270);

//Serial.println(LDR_R); }

demás {

myservoR.write (92);

//Serial.println(LDR_R); }

}

Recomendado: