Advertisement
RuiViana

Untitled

May 14th, 2015
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.32 KB | None | 0 0
  1.  
  2. int uno = 1; // habilita modo automatico (pushpull)
  3. int run = 2; // Aciona solenoide do gerador
  4. int pg = 3; // aciona partida do gerador
  5. int kc = 4; // aciona contator da compania
  6. int kg = 5; // aciona contator do gerador
  7. int kca = 6; // aciona contator da carga
  8. int rs = 7; // entrada botão reset
  9. int ffg = 8; // entrada falta de fase do gerador
  10. int ffc = 9; // entrada falta de fase da compania
  11. int fp = 10; // falha de partida
  12. //#include <Wire.h>
  13. //#include <LCD.h>
  14. //#include <LiquidCrystal_I2C.h> // F Malpartida's NewLiquidCrystal library
  15. //Download: https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
  16. // Move original LiquidCrystal library elsewhere, copy this in it's place
  17.  
  18. /*-----( Declare Constants )-----*/
  19. //#define I2C_ADDR 0x27 // Define I2C Address for the PCF8574T
  20.  
  21. //---(Following are the PCF8574T pin assignments to LCD connections )----
  22. // This are different than earlier/different I2C LCD displays
  23. // #define BACKLIGHT_PIN 3
  24. // #define En_pin 2
  25. // #define Rw_pin 1
  26. // #define Rs_pin 0
  27. // #define D4_pin 4
  28. // #define D5_pin 5
  29. // #define D6_pin 6
  30. // #define D7_pin 7
  31. //#define LED_OFF 1 //Those were used to the BackLight LED
  32. //#define LED_ON 0 //Not needed anymore.
  33.  
  34. /*-----(Declare variables)-----*/
  35. //Declare variables here if needed.
  36.  
  37. /*-----( Declare objects )-----*/
  38. //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
  39.  
  40. //controle
  41.  
  42. void setup()
  43. {
  44. // lcd.begin (16, 2);
  45. pinMode(uno, INPUT);
  46. pinMode(run, OUTPUT);
  47. pinMode(pg, OUTPUT);
  48. pinMode(kc, OUTPUT);
  49. pinMode(kg, OUTPUT);
  50. pinMode(kca, OUTPUT);
  51. pinMode(rs, INPUT);
  52. pinMode(ffg, INPUT);
  53. pinMode(ffc, INPUT);
  54. pinMode(fp, OUTPUT);
  55. /*lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
  56. lcd.setBacklight(HIGH);
  57. lcd.print(" BEM VINDO");
  58. delay(3000);
  59. lcd.clear();
  60. delay(1000);
  61. lcd.setCursor(1,1);
  62. lcd.print("TCC SENAI 2014");
  63. delay(3000);
  64. */
  65. }
  66.  
  67. void loop()
  68. {
  69. int leitura1 = digitalRead(uno); // habilita modo automatico
  70. int leitura8 = digitalRead(ffg); // entrada falta de fase do gerador
  71. int leitura9 = digitalRead(ffc); // entrada falta de fase da compania
  72. int leitura4 = digitalRead(kc); // aciona contator da compania
  73. int leitura3 = digitalRead(pg); // aciona partida do gerador
  74. int leitura10 = digitalRead(fp); // falha de partida
  75. int leitura7 = digitalRead(rs); // entrada botão reset
  76.  
  77. if (leitura1 == HIGH) // modo automatico estiver ligado (pushpull)
  78. {
  79. if (leitura9 == HIGH) // Tem de fase da compania
  80. {
  81. // lcd.clear();
  82. // delay(1000);
  83. digitalWrite(fp, LOW); // desliga falha de partida
  84. digitalWrite(kg, LOW); // desarma contator do gerador
  85. digitalWrite(pg, LOW); // Desliga partida do gerador
  86. delay(1000);
  87. digitalWrite(run, LOW); // Desarma solenoide do gerador
  88. delay(1000);
  89. digitalWrite(kc, HIGH); // Aciona contator da compania
  90. delay(300);
  91. digitalWrite(kca, HIGH); // aciona contator da carga
  92. // lcd.print(" CARGA ");
  93. // lcd.setCursor(1,1);
  94. // lcd.print("CPFL");
  95. }
  96. else
  97. {
  98. if(leitura9 ==LOW && leitura1 == HIGH) // falta de fase da compania
  99. { // e modo automatico está ligado
  100.  
  101. if(leitura8 == LOW && leitura10 == LOW) // falta de fase do gerador
  102. { // e nao tem falha de partida
  103. // lcd.clear(); // Limpa o display
  104. // delay(1000);
  105. // lcd.print(" ACIONANDO ");
  106. // lcd.setCursor(1,1);
  107. // lcd.print("PARTIDA");
  108. // delay(1000);
  109. digitalWrite(kg, LOW); // desarma contator do gerador
  110. digitalWrite(kc, LOW); // desarma contator da compania
  111. delay(300);
  112. digitalWrite(kca, LOW); // desarma contator da carga
  113. digitalWrite(run, HIGH); // Aciona solenoide do gerador
  114. delay(300);
  115. if (digitalRead(ffg) == HIGH) {return;} // Se falta de fase do gerador, sai
  116. digitalWrite(pg, LOW); // Desliga partida do gerador
  117. delay(300);
  118. digitalWrite(pg, HIGH); // Liga partida do gerador
  119. delay(300);
  120. if (digitalRead(ffg) == HIGH) {return;} // Se falta de fase do gerador, sai
  121. digitalWrite(pg, LOW); // Desliga partida do gerador
  122. delay(300);
  123. digitalWrite(pg, HIGH); // Liga partida do gerador
  124. delay(300);
  125. if (digitalRead(ffg) == HIGH) {return;} // Se falta de fase do gerador, sai
  126. digitalWrite(pg, LOW); // Desliga partida do gerador
  127. delay(300);
  128. digitalWrite(pg, HIGH); // Liga partida do gerador
  129. delay(300);
  130. if (digitalRead(ffg) == HIGH) {return;} // Se falta de fase do gerador, sai
  131. digitalWrite(pg, LOW); // Desliga partida do gerador
  132. delay(300);
  133. digitalWrite(pg, HIGH); // Liga partida do gerador
  134. delay(300);
  135. if (digitalRead(ffg) == HIGH) {return;} // Se falta de fase do gerador, sai
  136. digitalWrite(pg, LOW); // Desliga partida do gerador
  137. delay(300);
  138. digitalWrite(fp, HIGH); // Liga falha de partida
  139. }
  140. if(leitura8 == HIGH && leitura9 == LOW) // Tem fase do gerador e falta de fase da compania
  141. {
  142. digitalWrite(fp, LOW); // desliga falha de partida
  143. digitalWrite(pg, LOW); // Desliga partida do gerador
  144. digitalWrite(kc, LOW); // desarma contator da compania
  145. delay(300);
  146. digitalWrite(kg, HIGH); // Arma contator do gerador
  147. delay(300);
  148. digitalWrite(kca, HIGH); // aciona contator da carga
  149. // lcd.clear();
  150. geradorligado(); // executa a função geradorligado()
  151. }
  152. }
  153. }
  154. }
  155. if(leitura1 == LOW) // modo automatico estiver deligado (pushpull)
  156. {
  157. digitalWrite(fp, LOW); // desliga falha de partida
  158. digitalWrite(kca, LOW); // aciona contator da carga
  159. digitalWrite(kg, LOW); // Desarma contator do gerador
  160. digitalWrite(run, LOW); // Desarma solenoide
  161. digitalWrite(kc, LOW); // desarma contator da compania
  162. }
  163. if(leitura10 == HIGH) // Se tem falha de partida
  164. {
  165. delay(500);
  166. digitalWrite(pg, LOW); // Desliga partida do gerador
  167. // lcd.clear(); // Limpa o display
  168. // delay(500);
  169. //lcd.print(" MODO FALHA");
  170. }
  171. if(leitura7 == HIGH) // entrada botão reset
  172. {
  173. digitalWrite(fp, LOW); // desliga falha de partida
  174. }
  175. }
  176.  
  177. void geradorligado() // funcao geradorligado()
  178. {
  179. // Limpa o display
  180. //lcd.print(" GERADOR ");
  181. // lcd.setCursor(1,1);
  182. // lcd.print("LIGADO");
  183. ;
  184. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement