價格:免費
更新日期:2019-03-20
檔案大小:3.4M
目前版本:1.5
版本需求:Android 2.1 以上版本
官方網站:http://www.netandino.com
Email:ventas@netandino.com
聯絡地址:Jr. Victor Velez 339 Ind. Huaraz Ancash Perú
Controlar Arduino mediante bluetooth para cuatro principales movimientos. Puede servir para gruas, carros, Brazos y más.
Datos que envia el APP
Flecha N "Norte" = 'n'
Flecha S "Sur" = 's'
Flecha O "Oeste" = 'o'
Flecha E "Este" = 'e'
Flecha P "Parar" = 'p'
Boton Verde "Encender" = 'h'
Boton Rojo "Apagar" = 'l'
// INICIO DEL CÓDIGO
int Pecho = 4; // define Pecho como (echo) para el Ultrasonido
int Ptrig = 5; // define Ptrig como (trig) para el Ultrasonido
int LaIzAn = 6; // Giro Lado Izquierdo AntiHorario
int LaIzHo = 7; // Giro Lado Izquierdo Horario
int LaDeHo = 8; // Giro Lado Derecho Horario
int LaDeAn = 9; // Giro Lado Derecho AntiHorario
int Mov = 255; // Movimiento de motor (0-255)
int estado = 'l'; // inicia detenido
int duracion, distancia; // Para Calcular distacia
void setup() {
Serial.begin(9600); // inicia el puerto serial para comunicacion con el Bluetooth
pinMode(LaDeHo, OUTPUT);
pinMode(LaDeAn, OUTPUT);
pinMode(LaIzHo, OUTPUT);
pinMode(LaIzAn, OUTPUT);
pinMode(Pecho, INPUT); // define el pin 4 como entrada (echo)
pinMode(Ptrig,OUTPUT); // define el pin 5 como salida (trig)
}
void loop() {
if(Serial.available()>0){ // lee el bluetooth y almacena en estado
estado = Serial.read();
}
if(estado=='n'){ // Desplazar hacia Adelante "Norte"
analogWrite(LaDeAn, 0);
analogWrite(LaIzAn, 0);
analogWrite(LaDeHo, Mov);
analogWrite(LaIzHo, Mov);
}
if(estado=='s'){ // Desplazar hacia Atras "Sur"
analogWrite(LaDeAn, Mov);
analogWrite(LaIzAn, Mov);
analogWrite(LaDeHo, 0);
analogWrite(LaIzHo, 0);
}
if(estado=='o'){ // Desplazar hacia LadDerecha "Oeste"
analogWrite(LaDeAn, 0);
analogWrite(LaIzAn, 0);
analogWrite(LaIzHo, 0);
analogWrite(LaDeHo, Mov);}
if(estado=='e'){ // Desplazar hacia LadIzquierdo "Este"
analogWrite(LaDeAn, 0);
analogWrite(LaIzAn, 0);
analogWrite(LaIzHo, Mov);
analogWrite(LaDeHo, 0);
}
if(estado=='p'){ // Detenerse; Detiene los motores
analogWrite(LaDeAn, 0);
analogWrite(LaIzAn, 0);
analogWrite(LaDeHo, 0);
analogWrite(LaIzHo, 0);
}
if (estado =='h'){ // Boton Verde Modo automatico con sensor Ultrasonido
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
analogWrite(LaDeAn, 0); // Parar los motores por 1/4 de segundo
analogWrite(LaIzAn, 0);
analogWrite(LaDeHo, 0);
analogWrite(LaIzHo, 0);
delay (250);
analogWrite(LaDeHo, 0);
analogWrite(LaIzHo, 0);
analogWrite(LaDeAn, Mov); // Reversa durante 1/2 de segundo
analogWrite(LaIzAn, Mov);
delay(500);
analogWrite(LaDeAn, 0); // Girar durante 1 segundo
analogWrite(LaIzAn, 0);
analogWrite(LaDeHo, 0);
analogWrite(LaIzHo, Mov);
delay(1000);
}
else{ // Si no hay obstaculos se desplaza al frente
analogWrite(LaDeAn, 0);
analogWrite(LaIzAn, 0);
analogWrite(LaDeHo, Mov);
analogWrite(LaIzHo, Mov);
}
}
if(estado=='l'){ // Boton OFF, detiene los motores.
analogWrite(LaDeAn, 0);
analogWrite(LaIzAn, 0);
analogWrite(LaDeHo, 0);
analogWrite(LaIzHo, 0);
}
}
//FIN DEL CÓDIGO
Más Manuales en http://manual.netandino.net
Detalles completos de carro
https://netandino.blogspot.com/2015/02/armar-carro-robot-controlado-por.html