//Definição dos PINOS
#define POT A0
#define LED1 10
#define LED2 11
#define LED3 12
#define BOTAO 3
#define ECHO 8
#define TRIG 7
#define LIGADO 0
#define DESLIGADO 1
void configuraHardware(){
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(BOTAO, INPUT_PULLUP);
pinMode(TRIG, OUTPUT);
digitalWrite(TRIG, LOW);
pinMode(ECHO, INPUT);
}
void setup(){
configuraHardware();
Serial.begin(9600);
}
void inverterLed(int LED){
digitalWrite(LED, !digitalRead(LED));
delay(300);
}
void atingiuLimite(int saida, int valor, int limite){
if(valor > limite)
digitalWrite(saida, LIGADO);
else
digitalWrite(saida, DESLIGADO);
}
void escalaPot(int valor){
atingiuLimite(LED1, valor, 300);
atingiuLimite(LED2, valor, 600);
atingiuLimite(LED3, valor, 900);
}
void loop(){
DisparaPulsoUltrassonico();
float TempoEcho = pulseIn(ECHO, HIGH);
float distancia_metros = CalculaDistancia(TempoEcho);
Serial.print("Distancia:");
Serial.println(distancia_metros, DEC);
delay(2000);
}
void DisparaPulsoUltrassonico(){
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
}
float CalculaDistancia(float tempo_us){
const float VelocidadeSom_mporus = 0.000340;
return((tempo_us*VelocidadeSom_mporus)/2);
}
Comments