Advertisement
cleberjz

QTA 03_05_2015

May 3rd, 2015
504
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.63 KB | None | 0 0
  1. #include <TimedAction.h>
  2. #include <Timing.h>
  3.  
  4. Timing timing = Timing(0);
  5.  
  6. //#include <Temporizador.h>
  7. //Temporizador Temp1;
  8.  
  9. /* colaborações: Sergio Silva Amigo Lab de Garagem*/
  10.  
  11. //configura o display
  12. #include <LiquidCrystal.h>
  13. LiquidCrystal lcd(4, 3, 8, 7, 6, 5);
  14.  
  15. //declara as variaveis
  16.  
  17. int sensorrede=0;
  18. int sensorgerador=0;
  19. byte rede;
  20. byte gerador;
  21. const int geradorOn = 9;
  22. const int relerede = 10;
  23. const int relepartida = 11;
  24. const int relecargagerador = 12;
  25. const int releparada = 2;
  26. const int comutafasecmd=16;
  27. const int comutaneutrocmd=17;
  28.  
  29.  
  30.  
  31. void setup()
  32. {
  33.    
  34.   lcd.begin(16,2); //inicializa display de 16colunas/2linhas
  35.   pinMode(geradorOn,OUTPUT); //so para ilustrar o gerador ligado
  36.   digitalWrite(geradorOn,HIGH); //so para ilustrar o gerador ligado
  37.   pinMode(relerede,OUTPUT); //define relerede como saida
  38.   digitalWrite(relerede,HIGH); //pullup
  39.   pinMode(relepartida,OUTPUT);// define relepartida como saida
  40.   digitalWrite(relepartida,HIGH);//pullup
  41.   pinMode(relecargagerador,OUTPUT);//define relecargagerador como saida
  42.   digitalWrite(relecargagerador,HIGH);//pullup
  43.   pinMode(releparada,OUTPUT);
  44.   digitalWrite(releparada,HIGH);
  45.   pinMode(comutafasecmd,OUTPUT);
  46.   digitalWrite(comutafasecmd,HIGH);
  47.   pinMode(comutaneutrocmd,OUTPUT);
  48.   digitalWrite(comutaneutrocmd,HIGH);
  49.  
  50.  
  51.  
  52. }
  53.  
  54. void loop()
  55. {
  56.  
  57.  
  58.   sensorrede=analogRead(A0); //sensorrede recebe o sinal no pino analogico A0
  59.   sensorgerador=analogRead(A1); //senssorgerador recebe o sinal no pino analogico A1
  60.  
  61.   //coloquei esse if abaixo porque acho mais facil trabalhar com 0 e 1 para tem energia ou nao.
  62.  
  63.   if ( sensorrede < 300 ){ rede = 0; } else { rede = 1; } //abaixo de 300 falta energia = 0, acima energia ok
  64.   if ( sensorgerador < 300 ){ gerador = 0; } else { gerador = 1; } //abaixo de 300 falta energia = 0, acima energia ok  
  65.  
  66.  
  67.   //rede ok e gerador desligado
  68.   if (rede == 1 && gerador == 0) {
  69.     lcd.setCursor(0, 0);
  70.     lcd.print("ENERGIA DA REDE!");
  71.     digitalWrite(relerede,LOW);
  72.     digitalWrite(relepartida,HIGH);
  73.     digitalWrite(relecargagerador,HIGH);
  74.   }
  75.  
  76.   //rede faltando e gerador desligado
  77.  
  78.   if (rede == 0 && gerador == 0) {
  79.     timing.set(
  80.    
  81.     //Temp1.Iniciar(10000);
  82.     //if (Temp1.Saida==1){
  83.       //Temp1.Reset=1;
  84.      
  85.     if (rede == 0 && gerador == 0) {
  86.     lcd.setCursor(0, 0);
  87.     lcd.print("REDE S/ ENERGIA!");
  88.     digitalWrite(relerede,HIGH);
  89.     delay(3000);
  90.     digitalWrite(relepartida,LOW);
  91.     lcd.setCursor(0, 1);
  92.     lcd.print("Partindo Gerador");
  93.     delay(3500);
  94.     digitalWrite(relepartida,HIGH);
  95.    
  96.     }
  97.     //}
  98.   }
  99.  
  100.  
  101.   //rede faltando e gerador ligado
  102.     if (rede == 0 && gerador == 1) {
  103.     delay(4000);
  104.     digitalWrite(geradorOn,LOW); //so para ilustrar o gerador (liga Led)
  105.     digitalWrite(comutafasecmd,LOW);
  106.     digitalWrite(comutaneutrocmd,LOW);
  107.     delay(4000);
  108.     digitalWrite(relecargagerador,LOW);
  109.     lcd.setCursor(0,0);
  110.     lcd.print("Gerador Ligado!!");
  111.     lcd.setCursor(0, 1);
  112.     lcd.print("Energia Gerador!");
  113.   }
  114.  
  115.   //rede ok e gerador ligado
  116.   if (rede == 1 && gerador == 1) {
  117.     lcd.clear();
  118.     digitalWrite(relecargagerador,HIGH);
  119.     delay(2000);
  120.     digitalWrite(comutafasecmd,HIGH);
  121.     digitalWrite(comutaneutrocmd,HIGH);
  122.     delay(2000);
  123.     digitalWrite(relerede,LOW);
  124.     lcd.setCursor(0,0);
  125.     lcd.print("EsfriandoGerador");
  126.     lcd.setCursor(0, 1);
  127.     lcd.print("ENERGIA DA REDE!");
  128.     delay(10000);
  129.     lcd.clear();
  130.     digitalWrite(releparada,LOW);
  131.     delay(3300);
  132.     digitalWrite(releparada,HIGH);
  133.     digitalWrite(geradorOn,HIGH); //led so para ilustrar o gerador (desliga Led)
  134.   }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement