Mini robot de Arduino: 7 pasos

Mini robot de Arduino: 7 pasos

Tabla de contenido:

Anonim

Todo el mundo juega juegos de movimiento en sus dispositivos móviles y se han preguntado cómo sería controlar cosas con el control de movimiento. En este instructivo, te mostraré cómo construir un robot con control de movimiento de Android que transmita video a través de wifi o VHF. Este robot también puede ser controlado a través de una PC o computadora portátil.

Si te gustó mi proyecto vota por mí en el concurso.

Suministros:

Paso 1: Piezas

1) Arduino uno

2) módulo blutooth barato de ebay

3) Un conjunto de motorreductores.

4) Un juego de ruedas.

5) cámara wifi o una cámara web

6) l293

7) batería recargable 6v

8) batería de 9v

9) PCB

Paso 2: Motor H Bridge

Para el conductor del motor hice mi propio escudo con l293 IC. El IC l293 es un IC de doble puente y funciona hasta una salida de 9v. Para cargas mayores use lm 298 IC. Las salidas 1 y 2 van al motor derecho y las salidas 3 y 4 van al motor izquierdo.

Patas

entrada 1 a arduino 2

entrada 2 a arduino 4

entrada 3 a arduino 5

entrada 4 a arduino 7

chip inhibido para arduino 3

chip inhibido para arduino 6

vss a arduino 5v

vc a + de 6v batería

Conecte los terrenos juntos. Y conecte una tierra a arduino y otra a - 6v batería. Suelde el IC al PCB y agregue algunos pines al final, asegúrese de que los pines entren en el arduino sin dañarlo.

Paso 3: Bluetooth

Todo el mundo juega juegos de movimiento en sus dispositivos móviles y se han preguntado cómo sería controlar cosas con el control de movimiento. En este instructivo, te mostraré cómo construir un robot con control de movimiento de Android que transmita video a través de wifi o VHF. Este robot también puede ser controlado a través de una PC o computadora portátil.

Si te gustó mi proyecto vota por mí en el concurso.

Paso 4: Android

Para la comunicación entre android y el arduino usamos una aplicación llamada amarino que establece una red inalámbrica.

Descargar:

plugin

Los siguientes son los pasos para

descargando el amarino

Solicitud:-

Descarga la aplicación Amarino y el complemento Amarino.

en tu ordenador.

Copia la aplicación Amarino y

Amarino plugin para Android

Tarjeta SD del teléfono.

Instala la aplicación Amarino y la

Amarino plugin en el Android

teléfono.

Encienda el robot Bluetooth.

En el teléfono Android vaya a

"Configuración -> Inalámbrico y

Red -> Configuración de Bluetooth ".

Enciende el bluetooth y busca

para su módulo bluetooth. Una vez

el módulo bluetooth es

descubierto, emparejarlo pero no hacerlo

conectarse a ella

Abre la aplicación Amarino en el

Teléfono Android. Haga clic en "Agregar

Botón "Dispositivo BT". Seleccione el

módulo bluetooth de la lista de

dispositivos

Tu módulo bluetooth ahora

aparece en el amarino

pantalla de inicio.

Seleccione el botón de archivo rojo junto a

El nombre del módulo bluetooth.

Seleccione el botón "Agregar eventos"

y seleccione el "Acelerómetro

Sensor "opción.

Ya ha terminado con la instalación

la parte de software en el Android

Teléfono

Paso 5: Código

Para codigo arduino

#incluir

const int EnablePin1 = 3;

const int EnablePin2 = 6;

const int Motor_1_A = 2;

const int Motor_1_B = 4;

const int Motor_2_A = 5;

const int Motor_2_B = 7;

datos flotantes 3 = {0};

int intdata 3 = {0};

int i = 1;

MeetAndroid meetAndroid (error);

error de anulación (bandera uint8_t, uint8_t

valores)

{

Serial.print ("ERROR:");

Serial.print (bandera);

}

configuración del vacío ()

Serial.begin (9600);

Serial.println (" t t

t.----------------------. ");

Serial.println (" t t t

bucle de vacío ()

{

meetAndroid.receive ();

}

void floatValues ​​(byte flag, byte

NumOfValues)

{

meetAndroid.getFloatValues

(datos);

para (int i = 0; i <3; i ++)

{

meetAndroid.send (datos i);

}

if (-10 <= data 0 <= 10) //

Esto es para adelante / atrás

{

intdata 0 = int (datos 0);

intdata 0 = intdata 0 * 24;

si (datos 0 <= -2)

{

intdata 0 = abs (intdata)

0);

digitalWrite (Motor_1_A, ALTO);

digitalWrite (Motor_2_A, ALTO);

digitalWrite (Motor_1_B, BAJO);

digitalWrite (Motor_2_B, BAJO);

analogWrite (EnablePin1, intdata 0);

analogWrite (EnablePin2, intdata 0);

}

si no (datos 0> = 2)

{

digitalWrite (Motor_1_A, BAJO);

digitalWrite (Motor_2_A, BAJO);

digitalWrite (Motor_1_B, ALTO);

digitalWrite (Motor_2_B, ALTO);

analogWrite (EnablePin1, intdata 0);

analogWrite (EnablePin2, intdata 0);

}

si no (-1 <= datos 0 <= 1)

{

digitalWrite (Motor_1_A, BAJO);

digitalWrite (Motor_2_A, BAJO);

digitalWrite (Motor_1_B, BAJO);

digitalWrite (Motor_2_B, BAJO);

digitalWrite (EnablePin1, BAJO);

digitalWrite (EnablePin2, BAJO);

}

}

if (-10 <= data 1 <= 10) //

Esto es para girar a la izquierda / girar a la derecha

{

si (datos 1 <= -2)

{

escritura digital

(Motor_1_A, ALTO);

escritura digital

(Motor_2_B, ALTO);

escritura digital

(Motor_1_B, LOW);

escritura digital

(Motor_2_A, LOW);

escritura analógica

(EnablePin1, intdata 0);

analogWrite (EnablePin2, intdata 0);

}

si no (datos 1> = 2)

{

escritura digital

(Motor_1_A, BAJO);

escritura digital

(Motor_2_B, LOW);

escritura digital

(Motor_1_B, ALTO);

escritura digital

(Motor_2_A, ALTO);

escritura analógica

(EnablePin1, intdata 0);

escritura analógica

(EnablePin2, intdata 0);

}

si no (-1 <= datos 1 <= 1)

{

escritura digital

(Motor_1_A, BAJO);

escritura digital

(Motor_2_A, LOW);

escritura digital

(Motor_1_B, LOW);

escritura digital

(Motor_2_B, LOW);

escritura digital

(EnablePin1, LOW);

escritura digital

(EnablePin2, LOW);

}

}

}

Paso 6: Código 2

Para codigo arduino

#incluir

const int EnablePin1 = 3;

const int EnablePin2 = 6;

const int Motor_1_A = 2;

const int Motor_1_B = 4;

const int Motor_2_A = 5;

const int Motor_2_B = 7;

datos flotantes 3 = {0};

int intdata 3 = {0};

int i = 1;

MeetAndroid meetAndroid (error);

error de anulación (bandera uint8_t, uint8_t

valores)

{

Serial.print ("ERROR:");

Serial.print (bandera);

}

configuración de vacío () ");

Serial.println (" t t

t '----------------------' ');

pinMode (EnablePin1, SALIDA);

pinMode (EnablePin2, SALIDA);

pinMode (Motor_1_A, SALIDA);

pinMode (Motor_1_B, SALIDA);

pinMode (Motor_2_A, SALIDA);

pinMode (Motor_2_B, SALIDA);

retraso (1000);

meetAndroid.registerFunction

(valores flotantes, 'A');

bucle de vacío ()

{

meetAndroid.receive ();

}

void floatValues ​​(byte flag, byte

NumOfValues)

{

meetAndroid.getFloatValues

(datos);

para (int i = 0; i <3; i ++)

{

meetAndroid.send (datos i);

}

if (-10 <= data 0 <= 10) //

Esto es para adelante / atrás

{

intdata 0 = int (datos 0);

intdata 0 = intdata 0 * 24;

si (datos 0 <= -2)

{

intdata 0 = abs (intdata)

0);

digitalWrite (Motor_1_A, ALTO);

digitalWrite (Motor_2_A, ALTO);

digitalWrite (Motor_1_B, BAJO);

digitalWrite (Motor_2_B, BAJO);

analogWrite (EnablePin1, intdata 0);

analogWrite (EnablePin2, intdata 0);

}

si no (datos 0> = 2)

{

digitalWrite (Motor_1_A, BAJO);

digitalWrite (Motor_2_A, BAJO);

digitalWrite (Motor_1_B, ALTO);

digitalWrite (Motor_2_B, ALTO);

analogWrite (EnablePin1, intdata 0);

analogWrite (EnablePin2, intdata 0);

}

si no (-1 <= datos 0 <= 1)

{

digitalWrite (Motor_1_A, BAJO);

digitalWrite (Motor_2_A, BAJO);

digitalWrite (Motor_1_B, BAJO);

digitalWrite (Motor_2_B, BAJO);

digitalWrite (EnablePin1, BAJO);

digitalWrite (EnablePin2, BAJO);

}

}

if (-10 <= data 1 <= 10) //

Esto es para girar a la izquierda / girar a la derecha

{

si (datos 1 <= -2)

{

escritura digital

(Motor_1_A, ALTO);

escritura digital

(Motor_2_B, ALTO);

escritura digital

(Motor_1_B, LOW);

escritura digital

(Motor_2_A, LOW);

escritura analógica

(EnablePin1, intdata 0);

analogWrite (EnablePin2, intdata 0);

}

si no (datos 1> = 2)

{

escritura digital

(Motor_1_A, BAJO);

escritura digital

(Motor_2_B, LOW);

escritura digital

(Motor_1_B, ALTO);

escritura digital

(Motor_2_A, ALTO);

escritura analógica

(EnablePin1, intdata 0);

escritura analógica

(EnablePin2, intdata 0);

}

si no (-1 <= datos 1 <= 1)

{

escritura digital

(Motor_1_A, BAJO);

escritura digital

(Motor_2_A, LOW);

escritura digital

(Motor_1_B, LOW);

escritura digital

(Motor_2_B, LOW);

escritura digital

(EnablePin1, LOW);

escritura digital

(EnablePin2, LOW);

}

}

}

Paso 7: Cámara

Puedes usar una cámara wifi de ebay o comprar una cámara web barata desde internet y luego construir un circuito vhf. Si usa una cámara IP, use el wifi de su computadora portátil y encuéntrela o ingrese la IP mencionada en el manual.

Para ver la cámara en tu Android, descarga el pequeño monitor de la Play Store.