Proyecto carrito controlado por bluetooth

January 6, 2019 | Author: arturo | Category: Arduino, Sensor, Electronics, Computer Engineering, Electromagnetism
Share Embed Donate


Short Description

proyecto usando sensores arduino y android...

Description

INDICE:

1. Introducción. 2. Marco Teórico. 3. Arduino, sensor y actuador. 4. Programacion

INTRODUCCION

 Arduino es una plataforma código libre basada en una sencilla placa con entradas y salidas (E/S), analógicas y digitales, Su corazón es el microcontrolador Atmega8, un chip sencillo y de bajo coste que permite el desarrollo de múltiples diseños. En este proyecto vamos a realizar el control de un móvil (carro) a distancia por medio del celular, para esto se necesita una conexión bluetooth para enlazar el arduino con el celular. El arduino es perfecto para realizar este proyecto por su forma sencilla de programar y de funcionar con los sensores y actuadores.

MARCO TEORICO Arduino UNO:

 Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.

SENSOR ULTRASONIDO HC-SR04:

El HC-SR04 es un sensor de distancias por ultrasonidos capaz de detectar objetos y calcular la distancia a la que se encuentra en un rango de 2 a 450 cm. El sensor funciona por ultrasonidos y contiene toda la electrónica encargada de hacer la medición. Su uso es tan sencillo como enviar el pulso de arranque y medir la anchura del pulso de retorno. De muy pequeño tamaño, el HC-SR04 se destaca por su bajo consumo, gran precisión.

PUENTE H:

Un Puente en H es un circuito electrónico que permite a un motor eléctrico DC girar en ambos sentidos, avance y retroceso. Son ampliamente usados en robótica y como convertidores de potencia. Los puentes H están disponibles como circuitos integrados, pero también pueden construirse a partir de componentes discretos.

MODULO BLUETOOTH:

El módulo Bluetooth HC-05 es idea para utilizar en todo tipo de proyectos donde necesites una conexión inalámbrica fiable y sencilla de utilizar. Se configura mediante comandos AT y tiene la posibilidad de hacerlo funcionar tanto en modo maestro como esclavo. Eso quiere decir que puedes conectar dos módulos  juntos, conectar tu robot al móvil o incluso hacer una pequeña red de sensores comunicados entre ellos con un maestro y varios esclavos.

MOTORES DC:

El motor de corriente continua (denominado también motor de corriente directa, motor CC o motor DC) es una máquina que convierte la energía eléctrica en mecánica, provocando un movimiento rotatorio, gracias a la acción que se genera del campo magnético.

CARRO CONTROLADO POR CELULAR:

Este proyecto consiste en que un carro sea controlado por un celular mediante una aplicación, el arduino será vinculado con el celular mediante una conexión bluetooth. Que además posee un sensor ultrasónico para evitar obstáculos. MATERIALES: -Arduino UNO -Sensor ultrasónico HC-SR04 -Modulo bluetooth HC-06 -Puente H L293D -Un celular ANDROID -Motores y llantas CONSTRUCCION: 1. Se escribe el código para el arduino, así como también el código de la aplicación para Android. 2. Se carga el programa al arduino y se instala la aplicación en el celular. 3. Se monta todo en un chasis. 4. Luego se procede a conectar todos los l os materiales con el arduino. 5. Tenemos que vincular el modulo bluetooth del arduino con el celular Android. 6. Dentro de la aplicación se comienza a dirigir al arduino.

PROGRAMACION PARA EL ARDUINO: int izquierda1 = 5; int izquierda2 = 6; int derecha1 = 9; int derecha2 = 10; int vel = 255; int estado = 'OFF2'; int pecho = 2; int trig = 3;

// define el pin 2 como (pecho) para el Ultrasonico // define el pin 3 como (trig) para el Ultrasonico

int duracion, distancia; // para Calcular distancia void setup() {

//Todo código se ejecuta solo una vez

Serial.begin(9600); // inicia el puerto puerto serial para comunicación con el Bluetooth Bluetooth pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(derecha1, OUTPUT); pinMode(derecha2, OUTPUT); pinMode(izquierda1, OUTPUT); pinMode(izquierda2, OUTPUT); pinMode(pecho, INPUT); // define el pin 2 como como entrada (pecho) pinMode(ptrig,OUTPUT); // define el pin 3 como salida (ptrig) pinMode(13,OUTPUT); } void loop() { if(Serial.available()>0){ estado = Serial.read();

// lee el bluetooth y almacena en estado

} if(estado=='1'){

// Boton desplazar al Frente

analogWrite(derecha2, vel); analogWrite(izquierda2, vel); analogWrite(derecha1, 0); analogWrite(izquierda1, 0); } if(estado=='2'){

// Boton DER

analogWrite(derecha2, 0); analogWrite(izquierda2, 0); analogWrite(izquierda1, 0); analogWrite(derecha1, vel); } if(estado=='3'){

// Boton Reversa

analogWrite(derecha1, vel); analogWrite(izquierda1, vel); analogWrite(derecha2, 0); analogWrite(izquierda2, 0); } if(estado=='4'){

// Boton IZQ

analogWrite(derecha2, 0); analogWrite(izquierda2, 0); analogWrite(derecha1, 0); analogWrite(izquierda1, vel); } if(estado=='5'){

// Boton Parar

analogWrite(derecha2, 0); analogWrite(izquierda2, 0); analogWrite(derecha1, 0); analogWrite(izquierda1, 0);

} if (estado =='f'){

// Boton ON, se mueve sensando distancia

digitalWrite(ptrig, HIGH); delay(0.01); digitalWrite(ptrig, LOW); duracion = pulseIn(pecho, HIGH); distancia = (duracion/2) / 29;

// Lee el tiempo del Echo // calcula la distancia en centimetros

delay(10); if (distancia =2){ // si la distancia es menor menor de 40cm

analogWrite(derecha2, 0); analogWrite(izquierda2, 0); analogWrite(derecha1, 0); analogWrite(izquierda1, 0); delay (300); // Parar los motores por 300 mili segundos analogWrite(derecha2, vel); analogWrite(izquierda2, vel); delay(200);

// Reversa durante 200 mili segundos

analogWrite(derecha2, vel); analogWrite(izquierda2, 0); analogWrite(derecha1, 0); analogWrite(izquierda1, vel); delay(400); // Girar durante 400 milisegundos

} else{

// Si no hay obstáculos se desplaza al frente

analogWrite(derecha2, vel); analogWrite(izquierda2, vel); analogWrite(derecha1, 0); analogWrite(izquierda1, 0); } } if(estado=='g'){

// Boton OFF, detiene los motores no hace nada

analogWrite(derecha2, 0); analogWrite(izquierda2, 0); analogWrite(derecha1, 0); analogWrite(izquierda1, 0); } } PROGRAMACION APLICACION:

INTERFAZ DE LA APLICACIÓN:

SIMULACION:

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF