Proyecto carrito controlado por bluetooth
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