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 :???
Tags:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por