Prof_Carvalho

Untitled

Mar 9th, 2022 (edited)
397
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.38 KB | None | 0 0
  1. //Definição dos PINOS
  2. #define POT A0
  3. #define LED1 10
  4. #define LED2 11
  5. #define LED3 12
  6. #define BOTAO 3
  7. #define ECHO 8
  8. #define TRIG 7
  9. #define LIGADO 0
  10. #define DESLIGADO 1
  11.  
  12. void configuraHardware(){
  13.     pinMode(LED1, OUTPUT);
  14.     pinMode(LED2, OUTPUT);
  15.     pinMode(LED3, OUTPUT);
  16.     pinMode(BOTAO, INPUT_PULLUP);
  17.     pinMode(TRIG, OUTPUT);
  18.     digitalWrite(TRIG, LOW);
  19.     pinMode(ECHO, INPUT);
  20. }
  21.  
  22. void setup(){
  23.     configuraHardware();
  24.     Serial.begin(9600);
  25. }
  26.  
  27. void inverterLed(int LED){
  28.     digitalWrite(LED, !digitalRead(LED));
  29.     delay(300);
  30. }
  31.  
  32. void atingiuLimite(int saida, int valor, int limite){
  33.     if(valor > limite)
  34.         digitalWrite(saida, LIGADO);
  35.     else
  36.         digitalWrite(saida, DESLIGADO);
  37. }
  38.  
  39. void escalaPot(int valor){
  40.     atingiuLimite(LED1, valor, 300);
  41.     atingiuLimite(LED2, valor, 600);
  42.     atingiuLimite(LED3, valor, 900);
  43. }
  44.  
  45. void loop(){
  46.     DisparaPulsoUltrassonico();
  47.     float TempoEcho = pulseIn(ECHO, HIGH);
  48.     float distancia_metros = CalculaDistancia(TempoEcho);
  49.     Serial.print("Distancia:");
  50.     Serial.println(distancia_metros, DEC);
  51.     delay(2000);
  52. }
  53. void DisparaPulsoUltrassonico(){
  54.   digitalWrite(TRIG, HIGH);
  55.   delayMicroseconds(10);
  56.   digitalWrite(TRIG, LOW);
  57. }
  58.  
  59.  
  60. float CalculaDistancia(float tempo_us){
  61.     const float VelocidadeSom_mporus = 0.000340;
  62.     return((tempo_us*VelocidadeSom_mporus)/2);
  63. }
Add Comment
Please, Sign In to add comment