#include <Ultrasonic.h>
#include <Servo.h>
#define echoPin 13
#define trigPin 12
Servo servo_objeto;
Ultrasonic ultrasonic(12,13);
int posicao_final_servo = 90;
int posicao_inicial_servo = 0;
int ledPin = 10;
unsigned long tempo;
double distancia;
void setup()
{
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
Serial.begin(9600);
digitalWrite(trigPin, LOW);
pinMode(ledPin, OUTPUT);
servo_objeto.attach(11);
}
void loop()
{
double *pd;
pd = &distancia;
while( pd > 0){
func_distancia_ultrasonico();
servo_objeto.write(posicao_final_servo);
digitalWrite(ledPin, LOW);
if(distancia <=100){
func_controladora();
}
}
}
void func_controladora()
{
func_liga_led();
func_chama_servo();
}
void func_liga_led()
{
digitalWrite(ledPin, HIGH);
}
void func_chama_servo()
{
servo_objeto.write(posicao_inicial_servo);
delay(5000);
}
void func_distancia_ultrasonico()
{
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
tempo = pulseIn(echoPin, HIGH);
distancia = tempo/58;
Serial.println(distancia);
delay(500);
}