Prof_Carvalho icon

Untitled

Prof_Carvalho | PRO | 03/09/22 11:46:55 PM UTC (Edited) | 0 ⭐ | 562 👁️ | Never ⏰ | []
C++ |

1.38 KB

|

None

|

0 👍

/

0 👎

//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