Advertisement
Guest User

Codigo

a guest
Jul 21st, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. #include <LiquidCrystal.h>
  2. //Declaração dos pinos
  3. const int pinNivel = 0;
  4. const int pinUmidade = 1;
  5. const int pinLedVerde= 6;
  6. const int pinLedVermelho = 7;
  7. const int pinLedAzul = 8;
  8. const int pinBuzzer = 9;
  9. const int pinRelay = 10;
  10. //Variáveis
  11. boolean motorAtivado = false;
  12. int umidade = 0;
  13. int nivel = 0;
  14. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  15. //Constantes
  16. const int umidadeMinima = 800;
  17. const int nivelMinimo = 400;
  18.  
  19. boolean checarReservatorio(){
  20. lcd.setCursor(3,2);
  21. if(nivel > nivelMinimo){
  22. analogWrite(pinLedVermelho, 255);
  23. analogWrite(pinLedVerde, 255);
  24. analogWrite(pinLedAzul, 0);
  25. tone(pinBuzzer, 200, 500);
  26. lcd.print(nivel);
  27. return true;
  28. } else {
  29. analogWrite(pinLedVermelho, 255);
  30. analogWrite(pinLedVerde, 255);
  31. analogWrite(pinLedAzul,255);
  32. lcd.print(nivel);
  33. return false;
  34. }
  35. }
  36. boolean ligarMotor(){
  37. if(checarReservatorio()){
  38. digitalWrite(pinRelay, HIGH);
  39. } else {
  40. digitalWrite(pinRelay, LOW);
  41. }
  42. }
  43. void checarUmidade(){
  44. lcd.setCursor(5,0);
  45. if(umidade > umidadeMinima){
  46. digitalWrite(pinLedVermelho, 0);
  47. digitalWrite(pinLedVerde, 1);
  48. digitalWrite(pinLedAzul, 1);
  49. // tone(pinBuzzer, 300, 500);
  50. lcd.print(umidade);
  51. } else if (umidade <= umidadeMinima){
  52. digitalWrite(pinLedVermelho,1);
  53. digitalWrite(pinLedVerde,1);
  54. digitalWrite(pinLedAzul,1);
  55. lcd.print(umidade);
  56. }
  57. if(motorAtivado){
  58. analogWrite(pinLedVermelho, 255);
  59. analogWrite(pinLedVerde, 0);
  60. analogWrite(pinLedAzul, 255);
  61. noTone(pinBuzzer);
  62. }
  63. }
  64.  
  65. void setup() {
  66. Serial.begin(9600);
  67. lcd.begin(16,2);
  68. pinMode(pinBuzzer, OUTPUT);
  69. }
  70.  
  71. void loop() {
  72. nivel = analogRead(pinNivel);
  73. umidade = analogRead(pinUmidade);
  74. Serial.print("Nivel: ");
  75. Serial.println(umidade);
  76. lcd.setCursor(0,0);
  77. lcd.print("SOLO: HH:MM");
  78. lcd.setCursor(0,2);
  79. lcd.print("NV: MOTOR: ");
  80. checarReservatorio();
  81. checarUmidade();
  82. delay(1000);
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement