//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); }