Pessoal estou construindo um sensor para deficientes, o pessoal aqui ja me ajudou muito...
Mas falta o ultimo toque, tentei fazer esse código que praticamente deu certo, mas o problema é que quando o sensor desliga ele guarda a última informação coletada e fica jogando isso no motor...
Como posso fazer o motor parar toda vez que o sensor desligar???
const int trigPin = 7;
const int echoPin = 6;
const int motor = 9;
void setup() {
Serial.begin(9600);
pinMode(9, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop()
{
unsigned long duracao;
float distancia;
int valsensor;
int startSensor = 70; // centimetros
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duracao = pulseIn(echoPin, HIGH);
distancia = (float)duracao / 58.2;
if (distancia <= startSensor)
if (distancia > 0) {
valsensor = map(distancia, 0, startSensor, 0, 255);
analogWrite(motor, valsensor);
Serial.println("Distancia: " + String(distancia) + "cm. Potencia: " + String(valsensor) + "PWM");
}
else {
digitalWrite(motor, 0);
}
Grato,