Advertisement
Guest User

Tensao x Distancia

a guest
Oct 17th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.46 KB | None | 0 0
  1. #include "Ultrasonic.h"
  2. #include <LiquidCrystal.h>
  3.  
  4. Ultrasonic ultrasonic(13, 12); // 13 Echo 12 Trig
  5. LiquidCrystal lcd (11, 10, 9, 8, 7, 6);
  6.  
  7. int valor_pwm; //Variável para armazenar o sinal PWM
  8. int entrada_rele1 = 1; //Define o relé 1 no pino 1
  9. int entrada_rele2 = 2; //Define o relé 2 no pino 2
  10. int entrada_rele3 = 3; //Define o relé 3 no pino 3
  11. int entrada_rele4 = 4; //Define o relé 4 no pino 4
  12.  
  13. void setup() {
  14. pinMode(entrada_rele1, OUTPUT);
  15. pinMode(entrada_rele2, OUTPUT);
  16. pinMode(entrada_rele3, OUTPUT);
  17. pinMode(entrada_rele4, OUTPUT);
  18. digitalWrite(entrada_rele1, HIGH); // Deixa o relé desligado
  19. digitalWrite(entrada_rele2, HIGH); // Deixa o relé desligado
  20. digitalWrite(entrada_rele3, HIGH); // Deixa o relé desligado
  21. digitalWrite(entrada_rele4, HIGH); // Deixa o relé desligado
  22.  
  23.  
  24. Serial.begin(9600);
  25. lcd.begin(16, 2);
  26. lcd.setCursor( 0, 0);
  27. lcd.print(" Gerando tensao ");
  28. lcd.setCursor( 0, 1);
  29. lcd.print(" pela distancia ");
  30. delay(3000);
  31. lcd.clear();
  32. }
  33.  
  34. void loop()
  35. {
  36.  
  37. int tensao = valor_pwm; //Define a tensão o valor dado pelo pwm
  38. int distancia = (ultrasonic.Ranging(CM)); //Distancia dada pela leitura do Sensor
  39.             if (distancia < 100) {
  40.               if (distancia < 70) {
  41.                 if (distancia < 50) {
  42.                   if (distancia < 30) {
  43.                     if (distancia < 10) {
  44. analogWrite(valor_pwm, 0);//Ativa 0vcc
  45. lcd.setCursor(0, 0);
  46. lcd.print("Tensao ");
  47. lcd.print(tensao);   //Escreve no display o valor da tensao obtida pelo pwm
  48. lcd.print(" V");    //Escreve V
  49. lcd.setCursor(0, 1);
  50. lcd.print("Distancia ");
  51. lcd.print(distancia);//Escreve no display o valor da distancia em CM.
  52. Serial.print(distancia);
  53. Serial.println();
  54. }
  55.  }
  56. else {
  57.          
  58. analogWrite(valor_pwm, 64);//Ativa ~1,2 vcc
  59. digitalWrite(entrada_rele1, LOW); //Aciona o Relé
  60. lcd.setCursor(0, 0);
  61. lcd.print("Tensao ");
  62. lcd.print(tensao);        //Escreve no display o valor da tensao obtida pelo pwm
  63. lcd.print(" V");    //Escreve V
  64. lcd.setCursor(0, 1);
  65. lcd.print("Distancia ");
  66. lcd.print(distancia); //Escreve no display o valor da distancia em CM.
  67. Serial.print(distancia);
  68. Serial.println();        
  69. }
  70.  }
  71.  
  72. else {
  73. analogWrite(valor_pwm, 127);//Ativa ~2,5 vcc
  74. digitalWrite(entrada_rele2, LOW); //Aciona o relé 2
  75. lcd.setCursor(0, 0);
  76. lcd.print("Tensao ");
  77. lcd.print(tensao);        //Escreve no display o valor da tensao obtida pelo pwm
  78. lcd.print(" V");    //Escreve V
  79. lcd.setCursor(0, 1);
  80. lcd.print("Distancia ");
  81. lcd.print(distancia);//Escreve no display o valor da distancia em CM.
  82. Serial.print(distancia);
  83. Serial.println();
  84. }
  85.  }
  86.  
  87. else {      
  88. analogWrite(valor_pwm, 191);//Ativa ~ 3,7vcc
  89. digitalWrite(entrada_rele3, LOW); //Aciona o Relé 3
  90. lcd.setCursor(0, 0);
  91. lcd.print("Tensao ");
  92. lcd.print(tensao);        //Escreve no display o valor da tensao obtida pelo pwm
  93. lcd.print(" V");    //Escreve V
  94. lcd.setCursor(0, 1);
  95. lcd.print("Distancia ");
  96. lcd.print(distancia);//Escreve no display o valor da distancia em CM.
  97. Serial.print(distancia);
  98. Serial.println();
  99. }
  100.  }
  101.          
  102. else {
  103. analogWrite(valor_pwm, 255); //Ativa 5vcc
  104. digitalWrite(entrada_rele4, LOW); //Aciona o Relé 4
  105. lcd.setCursor(0, 0);
  106. lcd.print("Tensao ");
  107. lcd.print(tensao);        //Escreve no display o valor da tensao obtida pelo pwm
  108. lcd.print(" V");    //Escreve V
  109. lcd.setCursor(0, 1);
  110. lcd.print("Distancia ");
  111. lcd.print(distancia);//Escreve no display o valor da distancia em CM.
  112. Serial.print(distancia);
  113. Serial.println();
  114. }    
  115.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement