Hola a todos.
Tengo un proyecto que consiste de mover un carro de manera remota, para lo cual estoy usando el modulo Bluetooth y un puente H para mover un motor DC, pero también necesito que a cierta distancia el carro se detenga, para lo cual uso un Sensor ultrasónico, pero resulta que si tengo activo el código del sensor ultrasónico el carro no va a avanzar, pero si lo quito el carro funciona normalmente.
Les comparto el código:
#include <NewPing.h>
#include <SoftwareSerial.h>
const int trigPin1 = 2;
const int echoPin1 = 4;
int in1=8;
int in2=7;
int distance1;
char opcion;
int bluetoothTx = 1;
int bluetoothRx = 0;
SoftwareSerial blue(bluetoothTx, bluetoothRx);
NewPing sonar1(trigPin1, echoPin1);
void setup() {
Serial.begin(9600);
blue.begin(9600);
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
}
void loop() {
distance1 = sonar1.ping_cm();
Serial.print("Distance Sensor 1: ");
Serial.println(distance1);
delay(150);
blue.println(opcion);
if (blue.available() > 0){
opcion = blue.read();
if (opcion=='1'){
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
}
if (opcion=='3'){
if(distance1<=31){
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
}else{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
}
}
if (opcion=='2'){
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
}
}
}
Esperando su ayuda