top of page

Explorer car + app inventor + arduino+bluetooth(parte1).

A continuación se presenta la primera parte del carro explorador.

El carro consiste en conectarse por medio de bluetooth (HC-06) al control, que será un teléfono con una aplicación, donde al iniciar la aplicación debe ingresar una contraseña, luego se mostrará una pantalla de control dónde se encuentra el botón de conectar (conectarse con el carro), Hablar (dar comandos de voz al carro, ejemplo para encender la luces), Foto ( tomar fotos), ac. sensor(activar el acelerópmetro, pero dicho botón va a estar accesible hasta que el carro ya se haya conectado con el teléfono), también va a tener un slider (se va a utilizar para mover un servo motor, lo cual va a tener la cámara) y 2 pantallas, una donde muestra la temperatura del carro y la distancia que detecta el sensor ultrasónico(SDM-IO), dicho sensor va a estar ubicado al frente del carro, y la otra pantalla muestra la dirección del carro.

En esta primera parte el carro tendrá la funcionalidad de conectarse por medio del bluetooth y moverse con el acelerómetro del celular, se utilizará: 1 arduino mega, 1 driver TB6612FNG y 4 motores dc

 

*Diagrama del circuito:

 

*Codigo del arduino:

#define TxD 1 //definir pin TxD #define RxD 0 //definir pin RxD

//enable int STBY = 26; //standby

//Motores derechos int PWM1 = 2; //velocidad motor 1, ruedas derechas int IN11 = 22; //Dirección int IN21 = 23; //Dirección

//Motores izquierdos int PWM2 = 3; //velocidad motor 2, ruedas izquierdas int IN12 = 27; //Dirección int IN22 = 30; //Dirección

//otros int dato = 0; // Asignación de variable, letra leía por el bluetooth

void setup() {

Serial.begin(9600);

pinMode(STBY, OUTPUT);

pinMode(PWM1, OUTPUT); pinMode(IN11, OUTPUT); pinMode(IN21, OUTPUT);

pinMode(PWM2, OUTPUT); pinMode(IN12, OUTPUT); pinMode(IN22, OUTPUT);

}

//****************************cicloprincipal************************************

void loop() {

if (Serial.available() > 0) { dato = Serial.read();

} if (dato == 'a') //al recibir la letra "a" ejecute lo siguiente, carro hacia delante { adelante(); //llama la función }

if (dato == 'k') //al recibir la letra "k" ejecute lo siguiente, carro hacia atras { atras(); //llama la función }

if (dato == 'b') //al recibir la letra "b" ejecute lo siguiente, el carro va a la derecha { derecha(); //llama la función }

if (dato == 'c') //al recibir la letra "c" ejecute lo siguiente, el carro va a la izquierda { izquierda(); //llama la función }

if (dato == 'g') //al recibir la letra "g" ejecute lo siguiente, el carro se detiene { detenerse(); //llama la función }

}

//****************************************Funciones*******************************************

void adelante() { digitalWrite(STBY, HIGH); analogWrite(PWM1, 255); analogWrite(PWM2, 255); digitalWrite(IN11, HIGH); digitalWrite(IN21, LOW); digitalWrite(IN12, LOW); digitalWrite(IN22, HIGH); }

void atras() { digitalWrite(STBY, HIGH); analogWrite(PWM1, 255); analogWrite(PWM2, 255); digitalWrite(IN11, LOW); digitalWrite(IN21, HIGH); digitalWrite(IN12, HIGH); digitalWrite(IN22, LOW); }

void derecha() { digitalWrite(STBY, HIGH); analogWrite(PWM1, 255); analogWrite(PWM2, 255); digitalWrite(IN11, LOW); digitalWrite(IN21, HIGH); digitalWrite(IN12, LOW); digitalWrite(IN22, HIGH); }

void izquierda() { digitalWrite(STBY, HIGH); analogWrite(PWM1, 255); analogWrite(PWM2, 255); digitalWrite(IN11, HIGH); digitalWrite(IN21, LOW); digitalWrite(IN12, HIGH); digitalWrite(IN22, LOW); }

void detenerse() { digitalWrite(STBY, LOW); }

 

Imágenes de la configuración del prog. en app inventor:

Screen 1:

Screen 2:

Configuración del activity starter1, en propiedades, en action agregar lo siguiente:

android.bluetooth.activier.action.REQUEST_ENABLE

 

Video del funcionamiento:

Entradas destacadas
Vuelve pronto
Una vez que se publiquen entradas, las verás aquí.
Entradas recientes
Archivo
Buscar por tags
No hay etiquetas aún.
Síguenos
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page