0% encontró este documento útil (0 votos)
196 vistas7 páginas

Arduino Control Car V2 by

Este documento describe el código para controlar un auto mediante Bluetooth utilizando un Arduino. Explica la conexión de los motores, módulo Bluetooth, sensor ultrasónico y servo motor. El código permite controlar el movimiento del auto hacia adelante, atrás, izquierda y derecha, así como activar un sensor ultrasónico para evitar obstáculos y un servo motor.

Cargado por

edith
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
196 vistas7 páginas

Arduino Control Car V2 by

Este documento describe el código para controlar un auto mediante Bluetooth utilizando un Arduino. Explica la conexión de los motores, módulo Bluetooth, sensor ultrasónico y servo motor. El código permite controlar el movimiento del auto hacia adelante, atrás, izquierda y derecha, así como activar un sensor ultrasónico para evitar obstáculos y un servo motor.

Cargado por

edith
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

/* Arduino Control Car V2 By: El Profe Garcia

Descargar App:
https://play.google.com/store/apps/details?id=appinventor.ai_el_profe_garcia.Arduino_Control_
Car_V2&hl=es

ARDUINO L293D(Puente H)

5 10

6 15

9 7

10 2

5V 1, 9, 16

GND 4, 5, 12, 13

El motor 1 se conecta a los pines 3 y 6 del Puente H

El motor 2 se conecta a los pines 11 y 14 del Puente H

La fuente de alimentacion de los Motores se conecta a tierra y

el positivo al pin 8 del puennte H.

Conexion del Modulo Bluetooth HC-06 y el Arduino

ARDUINO Bluetooth HC-06

0 (RX) TX

1 (TX) RX

5V VCC

GND GND

!!Cuidado!! Las conexiones de TX y RX al modulo Bluetooth deben estar desconectadas

en el momento que se realiza la carga del codigo (Sketch) al Arduino.

Conexion Sensor Ultrasonido HC-SR04

ARDUINO Ultrasonido HC-SR04


2 Echo

3 Trig

5V VCC

GND Gnd

Conexion Servo SG90

ARDUINO Ultrasonido HC-SR04

11 Signal

5V VCC

GND Gnd

*/

#include <Servo.h> // Incluye la libreria Servo

Servo servo1; // Crea el objeto servo1 con las caracteristicas de Servo

int izqA = 5;

int izqB = 6;

int derA = 9;

int derB = 10;

int vel = 255; // Velocidad de los motores (0-255)

int estado = 'c'; // inicia detenido

int pecho = 2; // define el pin 2 como (pecho) para el Ultrasonido

int ptrig = 3; // define el pin 3 como (ptrig) para el Ultrasonido

int duracion, distancia; // para Calcular distacia

void setup() {

Serial.begin(9600); // inicia el puerto serial para comunicacion con el Bluetooth

pinMode(derA, OUTPUT);
pinMode(derB, OUTPUT);

pinMode(izqA, OUTPUT);

pinMode(izqB, OUTPUT);

pinMode(pecho, INPUT); // define el pin 2 como entrada (pecho)

pinMode(ptrig,OUTPUT); // define el pin 3 como salida (ptrig)

pinMode(13,OUTPUT);

servo1.attach(11,660,1400); // Asocia el servo1 al pin 11, define el min y max del ancho del
pulso

// eso depende del fabricante del servo

void loop() {

if(Serial.available()>0){ // lee el bluetooth y almacena en estado

estado = Serial.read();

if(estado=='a'){ // Boton desplazar al Frente

analogWrite(derB, 0);

analogWrite(izqB, 0);

analogWrite(derA, vel);

analogWrite(izqA, vel);

if(estado=='b'){ // Boton IZQ

analogWrite(derB, 0);

analogWrite(izqB, 0);

analogWrite(derA, 0);

analogWrite(izqA, vel);
}

if(estado=='c'){ // Boton Parar

analogWrite(derB, 0);

analogWrite(izqB, 0);

analogWrite(derA, 0);

analogWrite(izqA, 0);

if(estado=='d'){ // Boton DER

analogWrite(derB, 0);

analogWrite(izqB, 0);

analogWrite(izqA, 0);

analogWrite(derA, vel);

if(estado=='e'){ // Boton Reversa

analogWrite(derA, 0);

analogWrite(izqA, 0);

analogWrite(derB, vel);

analogWrite(izqB, vel);

if (estado =='f'){ // Boton ON, se mueve sensando distancia

digitalWrite(ptrig, HIGH); // genera el pulso de trigger por 10us

delay(0.01);

digitalWrite(ptrig, LOW);

duracion = pulseIn(pecho, HIGH); // Lee el tiempo del Echo

distancia = (duracion/2) / 29; // calcula la distancia en centimetros


delay(10);

if (distancia <= 15 && distancia >=2){ // si la distancia es menor de 15cm

digitalWrite(13,HIGH); // Enciende LED

analogWrite(derB, 0); // Parar los motores por 200 mili segundos

analogWrite(izqB, 0);

analogWrite(derA, 0);

analogWrite(izqA, 0);

delay (200);

analogWrite(derB, vel); // Reversa durante 500 mili segundos

analogWrite(izqB, vel);

delay(500);

analogWrite(derB, 0); // Girar durante 600 milisegundos

analogWrite(izqB, 0);

analogWrite(derA, 0);

analogWrite(izqA, vel);

delay(600);

digitalWrite(13,LOW);

else{ // Si no hay obstaculos se desplaza al frente

analogWrite(derB, 0);

analogWrite(izqB, 0);

analogWrite(derA, vel);

analogWrite(izqA, vel);

}
}

if(estado=='g'){ // Boton SER, activa el Servomotor

servo1.write(30); // Gira el servo a 30 grados

delay(1000); // Espera 1000 mili segundos a que el servo llegue a la posicion

servo1.write(90); // Gira el servo a 90 grados

delay(700); // Espera 700 mili segundos a que el servo llegue a la posicion

servo1.write(150); //Gira el servo a 150 grados

delay(700);

if(estado=='h'){ //Programacion de los botones 13-10-9-6-5

digitalWrite(13,1);

if(estado=='m'){

digitalWrite(13,0);

if(estado=='i'){

digitalWrite(derB,1);

if(estado=='n'){

digitalWrite(derB,0);

if(estado=='j'){

digitalWrite(derA,1);

if(estado=='o'){

digitalWrite(derA,0);
}

if(estado=='k'){

digitalWrite(izqB,1);

if(estado=='p'){

digitalWrite(izqB,0);

if(estado=='l'){

digitalWrite(izqA,1);

if(estado=='q'){

digitalWrite(izqA,0);

También podría gustarte