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,

Exibições: 201

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço