Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int uno = 1; // habilita modo automatico (pushpull)
- int run = 2; // Aciona solenoide do gerador
- int pg = 3; // aciona partida do gerador
- int kc = 4; // aciona contator da compania
- int kg = 5; // aciona contator do gerador
- int kca = 6; // aciona contator da carga
- int rs = 7; // entrada botão reset
- int ffg = 8; // entrada falta de fase do gerador
- int ffc = 9; // entrada falta de fase da compania
- int fp = 10; // falha de partida
- //#include <Wire.h>
- //#include <LCD.h>
- //#include <LiquidCrystal_I2C.h> // F Malpartida's NewLiquidCrystal library
- //Download: https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
- // Move original LiquidCrystal library elsewhere, copy this in it's place
- /*-----( Declare Constants )-----*/
- //#define I2C_ADDR 0x27 // Define I2C Address for the PCF8574T
- //---(Following are the PCF8574T pin assignments to LCD connections )----
- // This are different than earlier/different I2C LCD displays
- // #define BACKLIGHT_PIN 3
- // #define En_pin 2
- // #define Rw_pin 1
- // #define Rs_pin 0
- // #define D4_pin 4
- // #define D5_pin 5
- // #define D6_pin 6
- // #define D7_pin 7
- //#define LED_OFF 1 //Those were used to the BackLight LED
- //#define LED_ON 0 //Not needed anymore.
- /*-----(Declare variables)-----*/
- //Declare variables here if needed.
- /*-----( Declare objects )-----*/
- //LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin); //Here you pass-through by parameter the constants of the I2C/LCD breakout
- //controle
- void setup()
- {
- // lcd.begin (16, 2);
- pinMode(uno, INPUT);
- pinMode(run, OUTPUT);
- pinMode(pg, OUTPUT);
- pinMode(kc, OUTPUT);
- pinMode(kg, OUTPUT);
- pinMode(kca, OUTPUT);
- pinMode(rs, INPUT);
- pinMode(ffg, INPUT);
- pinMode(ffc, INPUT);
- pinMode(fp, OUTPUT);
- /*lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
- lcd.setBacklight(HIGH);
- lcd.print(" BEM VINDO");
- delay(3000);
- lcd.clear();
- delay(1000);
- lcd.setCursor(1,1);
- lcd.print("TCC SENAI 2014");
- delay(3000);
- */
- }
- void loop()
- {
- int leitura1 = digitalRead(uno); // habilita modo automatico
- int leitura8 = digitalRead(ffg); // entrada falta de fase do gerador
- int leitura9 = digitalRead(ffc); // entrada falta de fase da compania
- int leitura4 = digitalRead(kc); // aciona contator da compania
- int leitura3 = digitalRead(pg); // aciona partida do gerador
- int leitura10 = digitalRead(fp); // falha de partida
- int leitura7 = digitalRead(rs); // entrada botão reset
- if (leitura1 == HIGH) // modo automatico estiver ligado (pushpull)
- {
- if (leitura9 == HIGH) // Tem de fase da compania
- {
- // lcd.clear();
- // delay(1000);
- digitalWrite(fp, LOW); // desliga falha de partida
- digitalWrite(kg, LOW); // desarma contator do gerador
- digitalWrite(pg, LOW); // Desliga partida do gerador
- delay(1000);
- digitalWrite(run, LOW); // Desarma solenoide do gerador
- delay(1000);
- digitalWrite(kc, HIGH); // Aciona contator da compania
- delay(300);
- digitalWrite(kca, HIGH); // aciona contator da carga
- // lcd.print(" CARGA ");
- // lcd.setCursor(1,1);
- // lcd.print("CPFL");
- }
- else
- {
- if(leitura9 ==LOW && leitura1 == HIGH) // falta de fase da compania
- { // e modo automatico está ligado
- if(leitura8 == LOW && leitura10 == LOW) // falta de fase do gerador
- { // e nao tem falha de partida
- // lcd.clear(); // Limpa o display
- // delay(1000);
- // lcd.print(" ACIONANDO ");
- // lcd.setCursor(1,1);
- // lcd.print("PARTIDA");
- // delay(1000);
- digitalWrite(kg, LOW); // desarma contator do gerador
- digitalWrite(kc, LOW); // desarma contator da compania
- delay(300);
- digitalWrite(kca, LOW); // desarma contator da carga
- digitalWrite(run, HIGH); // Aciona solenoide do gerador
- delay(300);
- if (digitalRead(ffg) == HIGH) {return;} // Se falta de fase do gerador, sai
- digitalWrite(pg, LOW); // Desliga partida do gerador
- delay(300);
- digitalWrite(pg, HIGH); // Liga partida do gerador
- delay(300);
- if (digitalRead(ffg) == HIGH) {return;} // Se falta de fase do gerador, sai
- digitalWrite(pg, LOW); // Desliga partida do gerador
- delay(300);
- digitalWrite(pg, HIGH); // Liga partida do gerador
- delay(300);
- if (digitalRead(ffg) == HIGH) {return;} // Se falta de fase do gerador, sai
- digitalWrite(pg, LOW); // Desliga partida do gerador
- delay(300);
- digitalWrite(pg, HIGH); // Liga partida do gerador
- delay(300);
- if (digitalRead(ffg) == HIGH) {return;} // Se falta de fase do gerador, sai
- digitalWrite(pg, LOW); // Desliga partida do gerador
- delay(300);
- digitalWrite(pg, HIGH); // Liga partida do gerador
- delay(300);
- if (digitalRead(ffg) == HIGH) {return;} // Se falta de fase do gerador, sai
- digitalWrite(pg, LOW); // Desliga partida do gerador
- delay(300);
- digitalWrite(fp, HIGH); // Liga falha de partida
- }
- if(leitura8 == HIGH && leitura9 == LOW) // Tem fase do gerador e falta de fase da compania
- {
- digitalWrite(fp, LOW); // desliga falha de partida
- digitalWrite(pg, LOW); // Desliga partida do gerador
- digitalWrite(kc, LOW); // desarma contator da compania
- delay(300);
- digitalWrite(kg, HIGH); // Arma contator do gerador
- delay(300);
- digitalWrite(kca, HIGH); // aciona contator da carga
- // lcd.clear();
- geradorligado(); // executa a função geradorligado()
- }
- }
- }
- }
- if(leitura1 == LOW) // modo automatico estiver deligado (pushpull)
- {
- digitalWrite(fp, LOW); // desliga falha de partida
- digitalWrite(kca, LOW); // aciona contator da carga
- digitalWrite(kg, LOW); // Desarma contator do gerador
- digitalWrite(run, LOW); // Desarma solenoide
- digitalWrite(kc, LOW); // desarma contator da compania
- }
- if(leitura10 == HIGH) // Se tem falha de partida
- {
- delay(500);
- digitalWrite(pg, LOW); // Desliga partida do gerador
- // lcd.clear(); // Limpa o display
- // delay(500);
- //lcd.print(" MODO FALHA");
- }
- if(leitura7 == HIGH) // entrada botão reset
- {
- digitalWrite(fp, LOW); // desliga falha de partida
- }
- }
- void geradorligado() // funcao geradorligado()
- {
- // Limpa o display
- //lcd.print(" GERADOR ");
- // lcd.setCursor(1,1);
- // lcd.print("LIGADO");
- ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement