aha, si es posible que sea eso ya que es precisamente lo que le pasa, que se queda pajara durante un rato, pero el sensor de ultrasonidos funciona todo el rato, Muchisimas gracias vere que puedo hacer
Aquí te dejo el codigo del BT. coguiendo la idea basica (ya k uso la misma app) de www.MOBOTCAR.es
int adelante = 11; // adelante
int atras = 12; // atras
int izquierda = 10; // izquierda
int derecha = 9; // derecha
int luces_cortas = 7; // luces cortas
int luces_largas = 6; // luces largas
int luces_traseras = 5; // luces traseras
int reverse_lights = 4; // Pin 4 - Reverse Lights
int sensor = 8; //receptor y emisor de sañales del sensor por ultrasonidos
int zumbador = 2; // zumbador
int distancia; //guardamos la distancia que nos da el sensor por ultrasonidos
int pausa; // tiempo de espera (sensor ultrasonidos
char val; // Variable to receive data from the serial port
#include <Ping.h>
Ping ultrasonidos = Ping(sensor);
void setup() {
// initialize the digital pins as output
pinMode(adelante, OUTPUT);
pinMode(atras, OUTPUT);
pinMode(izquierda, OUTPUT);
pinMode(derecha, OUTPUT);
pinMode(luces_cortas, OUTPUT);
pinMode(luces_largas, OUTPUT);
pinMode(luces_traseras, OUTPUT);
pinMode(reverse_lights, OUTPUT);
pinMode(zumbador, OUTPUT);
Serial.begin(9600); // Start serial communication at 9600bps
}
// Fordward action
void go_adelante() {
analogWrite(adelante, 190);//PWM
digitalWrite(atras, LOW);
}
// Stop Forward action
void stop_go_adelante() {
digitalWrite(adelante, LOW);
}
// Reverse action
void go_atras() {
digitalWrite(atras, HIGH);
digitalWrite(adelante, LOW);
digitalWrite(reverse_lights, HIGH);
}
// Stop Reverse action
void stop_go_atras() {
digitalWrite(atras, LOW);
digitalWrite(reverse_lights, LOW);
}
// Turbo action
void go_turbo() {
analogWrite(adelante, 255); //PWM
digitalWrite(atras, LOW);
}
// Stop Turbo action
void stop_go_turbo() {
digitalWrite(adelante, LOW);
}
// Left action
void go_izquierda() {
digitalWrite(izquierda, HIGH);
digitalWrite(derecha, LOW);
}
// Right action
void go_derecha() {
digitalWrite(derecha, HIGH);
digitalWrite(izquierda, LOW);
}
// Stop turn action
void stop_giro() {
digitalWrite(derecha, LOW);
digitalWrite(izquierda, LOW);
}
// Stop car
void stop_coche() {
digitalWrite(adelante, LOW);
digitalWrite(atras, LOW);
digitalWrite(derecha, LOW);
digitalWrite(izquierda, LOW);
digitalWrite(reverse_lights, LOW);
}
// Short Lights ON
void luces_cortas_on() {
analogWrite(luces_cortas, 190);
digitalWrite(luces_traseras, HIGH);
}
// Short Lights OFF
void luces_cortas_off() {
digitalWrite(luces_cortas, LOW);
digitalWrite(luces_traseras, LOW);
}
// Long Lights ON
void luces_largas_on() {
digitalWrite(luces_largas, HIGH);
}
// Long Lights OFF
void luces_largas_off() {
digitalWrite(luces_largas, LOW);
}
// Reverse Lights ON
void luces_traseras_on() {
digitalWrite(luces_traseras, HIGH);
}
// Reverse Lights OFF
void luces_traseras_off() {
digitalWrite(reverse_lights, LOW);
}
// Read serial port and perform command
void performCommand() {
if (Serial.available()) {
val = Serial.read();
}
if (val == 'f') { // adelante
go_adelante();
} else if (val == 'z') { // Stop adelante
stop_go_adelante();
} else if (val == 'b') { // atras
go_atras();
} else if (val == 'y') { // Stop atras
stop_go_atras();
} else if (val == 't') { // Turbo
go_turbo();
} else if (val == 'x') { // Stop Turbo
stop_go_turbo();
} else if (val == 'l') { // derecha
go_derecha();
} else if (val == 'r') { // izquierda
go_izquierda();
} else if (val == 'v') { // Stop giro
stop_giro();
} else if (val == 's') { // Stop
stop_coche();
} else if (val == 'a') { // Short luces cortas
luces_cortas_on();
} else if (val == 'c') { // Stop luces cortas
luces_cortas_off();
} else if (val == 'd') { // luces largas
luces_largas_on();
} else if (val == 'e') { // Stop luces largas
luces_largas_off();
}
}
void loop() {
performCommand();
}