Advertisement
rogerin

Untitled

Nov 6th, 2015
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.55 KB | None | 0 0
  1. int menu = 0;
  2.  
  3. int temp;
  4.  
  5. bool acionaBomba = false;
  6. bool ok = false;
  7.  
  8. int botaoEsquerda;
  9. int botaoCima;
  10. int botaoDireita;
  11. int botaoOk;
  12. int botaoBaixo;
  13.  
  14. /*
  15.     tempoSelecionado = 0  Faz nada
  16.     tempoSelecionado = 1  10000 miles
  17.     tempoSelecionado = 2  20000 miles
  18.     tempoSelecionado = 3  20000 miles
  19. */
  20. int tempoSelecionado = 1;
  21.  
  22. int pinBotaoEsquerda = A0;
  23. int pinBotaoCima     = A1;
  24. int pinBotaoDireita  = A2;
  25. int pinBotaoBaixo    = A3;
  26. int pinBotaoOk       = A4;
  27. int pinBomba = 13;
  28.  
  29.  
  30. #include <LiquidCrystal.h>
  31.  
  32. // initialize the library with the numbers of the interface pins
  33. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  34.  
  35. void setup() {
  36.  
  37.   lcd.begin(16, 2);
  38.   lcd.print("hello, world!");
  39.  
  40.   Serial.begin(9600);
  41.  
  42.   pinMode(pinBotaoEsquerda,  INPUT);
  43.   pinMode(pinBotaoCima,      INPUT);
  44.   pinMode(pinBotaoDireita,   INPUT);
  45.   pinMode(pinBotaoBaixo,     INPUT);
  46.   pinMode(pinBotaoOk,        INPUT);
  47.   pinMode(pinBomba,          OUTPUT);
  48.  
  49.  
  50.   digitalWrite(pinBotaoEsquerda,  LOW);
  51.   digitalWrite(pinBotaoCima,      LOW);
  52.   digitalWrite(pinBotaoDireita,   LOW);
  53.   digitalWrite(pinBotaoBaixo,     LOW);
  54.   digitalWrite(pinBotaoOk,        LOW);
  55.   digitalWrite(pinBomba,        LOW);
  56.  
  57.  
  58.   Serial.println('Inicando projeto');
  59.  
  60.   delay(1000);
  61. }
  62.  
  63. void loop() {
  64.  
  65.  
  66.   botaoEsquerda  = digitalRead(pinBotaoEsquerda);
  67.   botaoCima      = digitalRead(pinBotaoCima);
  68.   botaoDireita   = digitalRead(pinBotaoDireita);
  69.   botaoBaixo     = digitalRead(pinBotaoBaixo);
  70.   botaoOk        = digitalRead(pinBotaoOk);
  71.  
  72.   //Serial.println(botaoEsquerda);
  73.   //Serial.println(botaoDireita);
  74.   // temp - analogREad(3)
  75.  
  76.   if(botaoEsquerda){
  77.     delay(200);
  78.     if(menu == 0) {
  79.         menu = 3;
  80.       } else {
  81.         menu = menu - 1;
  82.       }
  83.   }
  84.    
  85.    
  86.   if(botaoDireita){
  87.     delay(200);
  88.     if(menu == 3) {
  89.       menu = 0;
  90.     } else {
  91.       menu = menu + 1;
  92.     }
  93.   }
  94.  
  95.   temp = analogRead(A5);
  96.  
  97.   switch(menu){
  98.     case 0:
  99.       MostraMenu0();
  100.     break;
  101.     case 1:
  102.       MostraMenu1();
  103.     break;
  104.     case 2:
  105.       MostraMenu2();
  106.     break;
  107.     case 3:
  108.       MostraMenu3();
  109.     break;
  110.     default:
  111.       MostraMenuDefault();
  112.   }
  113.  
  114. }
  115.  
  116. void MostraMenu0() {
  117.   lcd.clear();
  118.   lcd.setCursor(0, 0);
  119.   lcd.print("Sistema ligado a: ");
  120.   lcd.setCursor(0, 1);
  121.   lcd.print(millis() / 1000);
  122.   lcd.setCursor(6, 1);
  123.   lcd.print("segundos");
  124. }
  125.  
  126. void MostraMenu1() {
  127.   lcd.clear();
  128.   lcd.setCursor(0, 0);
  129.   lcd.print("Selec. o tempo:");
  130.   lcd.setCursor(15, 0);
  131.   lcd.print(tempoSelecionado);
  132.   lcd.setCursor(0, 1);
  133.   lcd.print("1-10;2-20;3-30");
  134.  
  135.   if(botaoCima){
  136.     Serial.println('botao precionado');
  137.     delay(200);
  138.     if(tempoSelecionado == 3) {
  139.       tempoSelecionado = 1;
  140.     } else {
  141.       tempoSelecionado = tempoSelecionado + 1;
  142.     }
  143.   }
  144.  
  145.   if(botaoBaixo){
  146.     delay(200);
  147.     if(tempoSelecionado == 1) {
  148.       tempoSelecionado = 3;
  149.     } else {
  150.       tempoSelecionado = tempoSelecionado - 1;
  151.     }
  152.   }
  153.  
  154.   if(botaoOk) {
  155.       lcd.clear();
  156.       lcd.setCursor(0, 0);
  157.       lcd.print("Tempo Selecionado:");
  158.       ok = true;
  159.   }  
  160.  
  161.   if(ok) {
  162.     switch(tempoSelecionado) {
  163.       case 1:
  164.         delay(10000);
  165.         break;
  166.       case 2:
  167.         delay(20000);
  168.         break;
  169.       case 3:
  170.         delay(30000);
  171.         break;  
  172.     }
  173.    
  174.     digitalWrite(pinBomba, HIGH);
  175.     ok = false;
  176.    
  177.  
  178.   }
  179.  
  180.    
  181.  
  182. }
  183.  
  184. void MostraMenu2() {
  185.   Serial.println(2);
  186. }
  187.  
  188. void MostraMenu3() {
  189.   Serial.println(3);
  190. }
  191.  
  192. void MostraMenuDefault(){
  193.   Serial.println(4);
  194. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement