bom dia galera, eu estou querendo movimentar um motor para que ele seja ativado assim que o sensor perceber algo na frente dele, o código ficou assim :

// programa para o sensor ultrassonico

#include <Servo.h>

#define SERVO 6 // Porta Digital 6 PWM

Servo s; // Variável Servo
int pos; // Posição Servo
int ledPin = 13; //configura o pino 13 da Arduino para conexão do LED
int trig = 8;    //configura o pino 8 da Arduino para conexão do Trig do sonar
int echo = 11;    //configura o pino 11 (PWM) da Arduino para conexão do Echo do sonar

void setup( ) {
    pinMode(trig, OUTPUT);   //define o pino 8 como um output (envia sinal do sensor)
    pinMode(echo, INPUT);    //define o pino 7 como um input (recebe sinal do sensor)
    pinMode(ledPin, OUTPUT); //define o pino 13 como um output (aciona o LED)
    Serial.begin(9600);    
    Serial.print("distancia");

    
  s.attach(SERVO);
  Serial.begin(9600);
  s.write(0); // Inicia motor posição zero

}

void loop(){
    float tempo, cm;
    //comandos para enviar um pulso do sonar e armazenar o tempo de resposta
    digitalWrite(trig, LOW);
    delayMicroseconds(2);
    digitalWrite(trig, HIGH); //ativa o sonar por 10 microssegundos
    delayMicroseconds(10);
    digitalWrite(trig, LOW);
    delayMicroseconds(2);
    tempo = pulseIn(echo, HIGH);  // tempo, recebe o tempo de ida e volta do sinal
    cm =  tempo/29/2; //converte duration em centímetros
    Serial.println(cm);
    // Se cm menor ou igual a 30, liga o LED
    if (cm <= 30)
    {

   digitalWrite(ledPin, HIGH);
 
    }
else  {
        digitalWrite(ledPin, LOW);

        for(pos = 0; pos < 90; pos++)
  {
    s.write(pos);
  delay(15);
  }
delay(1000);
  for(pos = 90; pos >= 0; pos--)
  {
    s.write(pos);
    delay(15);
  }
}
}

porém eu queria que o contrário ocorresse , quando coloco esse for dentro do if, é  como se meu sensor estivesse lendo como ativado direto, ou seja, o led fica ligado e o motor fica girando sem parar, como faço para colocar meu for dentro do if ? e fazer com que o motor gire apenas ao detectar algo nessa distância :???

Exibições: 747

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço