Advertisement
Guest User

Untitled

a guest
Jun 27th, 2018
495
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.76 KB | None | 0 0
  1. //Configuração EMAIL
  2. #include <SPI.h>
  3. #include <Ethernet.h>
  4. #include <EthernetClient.h>
  5. #define time 1000
  6. IPAddress arduino_ip ( 10, 17, 0, 32);
  7. IPAddress dns_ip ( 8, 8, 8, 8);
  8. IPAddress gateway_ip ( 10, 17, 15, 254);
  9. IPAddress subnet_mask(255, 255, 240, 0);
  10. byte mac[] = { 0xFE, 0xD9, 0x86, 0xFD, 0xF7, 0xBF };
  11. byte server[] = { 200, 147, 99, 132 }; // Colocar o ip do servidor SMTP
  12. EthernetClient client;
  13.  
  14. //Configuração GERADOR
  15. int releignicao = 5; //rele que aciona o solenóide do diesel do gerador
  16. int relepartida = 6; //rele que aciona o motor de arranque do gerador
  17. int relegerador = 7; //rele que aciona a contatora de carga do gerador
  18. int relerede = 8; // rele que aciona a contatora de carga da rede elétrica
  19. int relebateria = 9; //rele que aciona o carregador da bateria do gerador
  20. int analogInput1 = A1; //sensor de tensão DC que reconhece a entrada da rede elétrica
  21. int analogInput2 = A2; //sensor de tensão DC que reconhece a entrada da rede do gerador
  22. float vout1 = 0.0;
  23. float vout2 = 0.0;
  24. float vin1 = 0.0;
  25. float vin2 = 0.0;
  26. float R1 = 30000.0; //Valor do resistor 1 do sensor de tensão DC de 30k ohms
  27. float R2 = 7500.0; //Valor do resistor 2 do sensor de tensão DC de 7.5k ohms
  28. int value1 = 0;
  29. int value2 = 0;
  30.  
  31. int email = 0;
  32.  
  33. void setup()
  34. {
  35. //EMAIL
  36. Ethernet.begin(mac, arduino_ip, dns_ip, gateway_ip, subnet_mask);
  37. Serial.begin(9600);
  38. //GERADOR
  39. pinMode(analogInput1, INPUT);
  40. pinMode (analogInput2, INPUT);
  41. pinMode (releignicao, OUTPUT);
  42. digitalWrite (releignicao, HIGH);
  43. pinMode (relepartida, OUTPUT);
  44. digitalWrite (relepartida, HIGH);
  45. pinMode (relegerador, OUTPUT);
  46. digitalWrite (relegerador, HIGH);
  47. pinMode (relerede, OUTPUT);
  48. digitalWrite (relerede, HIGH);
  49. pinMode (relebateria, OUTPUT);
  50. digitalWrite (relebateria, HIGH);
  51. Serial.begin(9600);
  52. Serial.print("CM SOLULUÇÕES PARA CONDOMÍNIOS");
  53. }
  54.  
  55. void loop(){
  56.  
  57. {
  58. //Calculo do sensor de tensão 1 - Entrada da rede EDP
  59. value1 = analogRead(analogInput1);
  60. vout1 = (value1 * 5.0) / 1024.0;
  61. vin1 = vout1 / (R2/(R1+R2));
  62.  
  63. //Calculo do sensor de tensão 2 - Entrada da rede gerador
  64. value2 = analogRead(analogInput2);
  65. vout2 = (value2 * 5.0) / 1024.0;
  66. vin2 = vout2 / (R2/(R1+R2));
  67.  
  68. Serial.println ("Sensor DC Rede EDP");
  69. Serial.println(vin1,3);
  70. Serial.println ("Sensor DC Rede Gerador");
  71. Serial.println(vin2,3);
  72. delay(100);
  73. }
  74.  
  75. //Rede LIGADA e Gerador DESLIGADO
  76. if (vin1 >=4.9 && vin2 <=4.9)// Se a tensão do sensor 1 for maior que 4.9v e sensor 2 menor que 4.9v deve-se acionar a contatora da rede pelo rele "relerede"
  77. {
  78.  
  79. //enviaedpon();
  80. Serial.println(" REDE LIGADA E GERADOR DESLIGADO");
  81. digitalWrite (relerede,LOW); // Contatora da Rede ligada
  82. digitalWrite (relegerador, HIGH); // Contatora do Gerador desligada
  83. digitalWrite (releignicao, HIGH);// Solenóide do gerador desligado
  84. digitalWrite (relepartida, HIGH); //Motor de arranque do gerador desligado
  85. digitalWrite (relebateria, LOW); //Carregador da bateria ligado
  86. email = 1;
  87. delay(5000);
  88. }
  89.  
  90. //Rede DESLIGADA e Gerador DESLIGADO
  91. if (vin1 <= 4.0 && vin2 <=4.0) // Se as tensões em ambos os sensores forem menores que 4v deve-se iniciar o processo de partida do gerador a diesel
  92. {
  93. //delay(10000);
  94. Serial.println(" REDE DESLIGADA E GERADOR DESLIGADO");
  95. digitalWrite (relerede, HIGH); // Desliga a contatora da Rede
  96. digitalWrite (relegerador, HIGH); // Desliga a contatora do gerador
  97. digitalWrite (relepartida, HIGH); // Desliga o motor de arranque
  98. digitalWrite (relebateria, HIGH); // Desliga o carregador da bateria
  99. digitalWrite (releignicao, LOW); // Aciona o solenóide do gerador
  100. delay(5000); // Aguarda 5 segundos
  101. digitalWrite (relepartida, LOW); // Aciona o motor de arranque do gerador
  102. delay(3000); //por 5 segundos
  103. digitalWrite (relepartida, HIGH); // Desliga o motor de arranque do gerador
  104. email = 2;
  105. delay(5000);
  106. }
  107.  
  108.  
  109. //Rede DESLIGADA e Gerador LIGADO
  110. if (vin1 <=4.0 && vin2 >= 4.9)
  111. {
  112. //delay(10000);
  113. Serial.println(" REDE DESLIGADA E GERADOR LIGADO");
  114. digitalWrite (relerede, HIGH); // Desliga a contatora da REDE
  115. digitalWrite (relebateria, HIGH); // Desliga o carregador da bateria
  116. digitalWrite (relepartida, HIGH); //Desliga o motor de arranque do gerador
  117. digitalWrite (releignicao, LOW); //Mantém o selenóide do gerador ligado
  118. delay(5000); // Aguarda 5 segundos e...
  119. digitalWrite (relegerador, LOW); //Aciona a contatora de carga do gerador
  120. email = 3;
  121. delay(5000);
  122. }
  123.  
  124. //Rede LIGADA e Gerador LIGADO
  125. if (vin1 >=4.9 && vin2 >=4.9)
  126. {
  127. //delay(10000);
  128. Serial.println(" REDE LIGADA E GERADOR LIGADO");
  129. digitalWrite (relerede, HIGH); //Desliga a contatora da Rede
  130. digitalWrite (relebateria, HIGH); // Desliga o carregador da bateria
  131. digitalWrite (relegerador, LOW);//Mantém ligado a contadora do Gerador
  132. digitalWrite (relepartida, HIGH);// Desliga o motor de arranque do gerador
  133. digitalWrite (releignicao, LOW);// Mantém ligado o solenóide do gerador
  134. delay(5000);
  135. digitalWrite (relegerador, HIGH); //Desliga a contatora do gerador...
  136. delay(500); // aguarda 1/2 segundo...
  137. digitalWrite (relerede, LOW); //Liga a contatora da Rede...
  138. delay(5000); // Aguarda 5 segundos e...
  139. digitalWrite (releignicao, HIGH); //Desliga o gerador.
  140. email = 4;
  141. delay(5000);
  142. }
  143.  
  144. if (email == 1)
  145. {
  146. enviaedpon();
  147. }
  148. if (email == 2);
  149. {
  150. enviaedpoff();
  151. }
  152. if (email == 3)
  153. {
  154. enviageradoron();
  155. }
  156. if (email == 4)
  157. {
  158. enviageradoroff();
  159. }
  160. }
  161.  
  162. //EMAIL QUANDO ENERGIA ELETRICA ESTIVER LIGADA
  163. void enviaedpon()
  164. {
  165. delay(time);
  166. Serial.println("conectando...");
  167. if (client.connect(server, 587)) // Porta de conexao do servidor do email.
  168. {
  169. Serial.println("conectado!");
  170. Serial.println();
  171. Serial.println("enviando email...");
  172. Serial.println();
  173. client.println("HELO localhost");
  174. recebe();
  175. delay(time);
  176. client.println("AUTH LOGIN");
  177. recebe();
  178. delay(time);
  179. client.println("Y21hcmR1aW5vQGJvbC5jb20uYnI="); // Email de login em base de 64: http://base64-encoder-online.waraxe.us/
  180. recebe();
  181. delay(time);
  182. client.println("bGRjMTk4MyQ="); // Senha do email em base de 64: http://base64-encoder-online.waraxe.us/
  183. recebe();
  184. delay(time);
  185. client.println("mail from: <cmarduino@bol.com.br>"); //Email remetente
  186. recebe();
  187. delay(time);
  188. client.println("rcpt to: <suporte@cmsolucoes.net.br>"); // Email destinatário
  189. recebe();
  190. delay(time);
  191. client.println("data");
  192. recebe();
  193. delay(time);
  194. client.println("Condominio Delta Energia eletrica normalizada"); // Assunto
  195. recebe();
  196. delay(time);
  197. client.println("Energia eletrica da EDP esta funcionando normalmente"); // Corpo
  198. recebe();
  199. delay(time);
  200. client.println("."); // Indica fim do email.
  201. recebe();
  202. delay(time);
  203. client.println();
  204. recebe();
  205. delay(time);
  206. Serial.println("email enviado!");
  207. delay(time);
  208. if (client.connected()) // Desconecta pra deixar pronto para novo envio.
  209. {
  210. Serial.println();
  211. Serial.println("desconectando...");
  212. client.stop();
  213. Serial.println();
  214. Serial.println();
  215. }
  216. }
  217. else
  218. {
  219. Serial.println("connection failed");
  220. }
  221. Serial.println("Ready. Press 'e' to connect.");
  222. email = 0;
  223. }
  224.  
  225.  
  226. //EMAIL QUANDO ENERGIA ELETRICA ESTIVER DESLIGADA
  227. void enviaedpoff()
  228. {
  229. delay(time);
  230. Serial.println("conectando...");
  231. if (client.connect(server, 587)) // Porta de conexao do servidor do email.
  232. {
  233. Serial.println("conectado!");
  234. Serial.println();
  235. Serial.println("enviando email...");
  236. Serial.println();
  237. client.println("HELO localhost");
  238. recebe();
  239. delay(time);
  240. client.println("AUTH LOGIN");
  241. recebe();
  242. delay(time);
  243. client.println("Y21hcmR1aW5vQGJvbC5jb20uYnI="); // Email de login em base de 64: http://base64-encoder-online.waraxe.us/
  244. recebe();
  245. delay(time);
  246. client.println("bGRjMTk4MyQ="); // Senha do email em base de 64: http://base64-encoder-online.waraxe.us/
  247. recebe();
  248. delay(time);
  249. client.println("mail from: <cmarduino@bol.com.br>"); //Email remetente
  250. recebe();
  251. delay(time);
  252. client.println("rcpt to: <suporte@cmsolucoes.net.br>"); // Email destinatário
  253. recebe();
  254. delay(time);
  255. client.println("data");
  256. recebe();
  257. delay(time);
  258. client.println("Condominio Delta Queda de Energia Eletrica"); // Assunto
  259. recebe();
  260. delay(time);
  261. client.println("Queda de energia eletrica da EDP no Condominio"); // Corpo
  262. recebe();
  263. delay(time);
  264. client.println("."); // Indica fim do email.
  265. recebe();
  266. delay(time);
  267. client.println();
  268. recebe();
  269. delay(time);
  270. Serial.println("email enviado!");
  271. delay(time);
  272. if (client.connected()) // Desconecta pra deixar pronto para novo envio.
  273. {
  274. Serial.println();
  275. Serial.println("desconectando...");
  276. client.stop();
  277. Serial.println();
  278. Serial.println();
  279. }
  280. }
  281. else
  282. {
  283. Serial.println("connection failed");
  284. }
  285. Serial.println("Ready. Press 'e' to connect.");
  286. email = 0;
  287. }
  288.  
  289. //EERGIA ELETRICA DO GERADOR LIGADA
  290. void enviageradoron()
  291. {
  292. delay(time);
  293. Serial.println("conectando...");
  294. if (client.connect(server, 587)) // Porta de conexao do servidor do email.
  295. {
  296. Serial.println("conectado!");
  297. Serial.println();
  298. Serial.println("enviando email...");
  299. Serial.println();
  300. client.println("HELO localhost");
  301. recebe();
  302. delay(time);
  303. client.println("AUTH LOGIN");
  304. recebe();
  305. delay(time);
  306. client.println("Y21hcmR1aW5vQGJvbC5jb20uYnI="); // Email de login em base de 64: http://base64-encoder-online.waraxe.us/
  307. recebe();
  308. delay(time);
  309. client.println("bGRjMTk4MyQ="); // Senha do email em base de 64: http://base64-encoder-online.waraxe.us/
  310. recebe();
  311. delay(time);
  312. client.println("mail from: <cmarduino@bol.com.br>"); //Email remetente
  313. recebe();
  314. delay(time);
  315. client.println("rcpt to: <suporte@cmsolucoes.net.br>"); // Email destinatário
  316. recebe();
  317. delay(time);
  318. client.println("data");
  319. recebe();
  320. delay(time);
  321. client.println("Condominio Delta Gerador de Energia"); // Assunto
  322. recebe();
  323. delay(time);
  324. client.println("O gerador de energia eletrica esta ligado"); // Corpo
  325. recebe();
  326. delay(time);
  327. client.println("."); // Indica fim do email.
  328. recebe();
  329. delay(time);
  330. client.println();
  331. recebe();
  332. delay(time);
  333. Serial.println("email enviado!");
  334. delay(time);
  335. if (client.connected()) // Desconecta pra deixar pronto para novo envio.
  336. {
  337. Serial.println();
  338. Serial.println("desconectando...");
  339. client.stop();
  340. Serial.println();
  341. Serial.println();
  342. }
  343. }
  344. else
  345. {
  346. Serial.println("connection failed");
  347. }
  348. Serial.println("Ready. Press 'e' to connect.");
  349. email = 0;
  350. }
  351.  
  352. //ENERGIA ELETRICA DO GERADOR DESLIGADA
  353. void enviageradoroff()
  354. {
  355. delay(time);
  356. Serial.println("conectando...");
  357. if (client.connect(server, 587)) // Porta de conexao do servidor do email.
  358. {
  359. Serial.println("conectado!");
  360. Serial.println();
  361. Serial.println("enviando email...");
  362. Serial.println();
  363. client.println("HELO localhost");
  364. recebe();
  365. delay(time);
  366. client.println("AUTH LOGIN");
  367. recebe();
  368. delay(time);
  369. client.println("Y21hcmR1aW5vQGJvbC5jb20uYnI="); // Email de login em base de 64: http://base64-encoder-online.waraxe.us/
  370. recebe();
  371. delay(time);
  372. client.println("bGRjMTk4MyQ="); // Senha do email em base de 64: http://base64-encoder-online.waraxe.us/
  373. recebe();
  374. delay(time);
  375. client.println("mail from: <cmarduino@bol.com.br>"); //Email remetente
  376. recebe();
  377. delay(time);
  378. client.println("rcpt to: <suporte@cmsolucoes.net.br>"); // Email destinatário
  379. recebe();
  380. delay(time);
  381. client.println("data");
  382. recebe();
  383. delay(time);
  384. client.println("Condominio Delta Gerador de Energia Desligado"); // Assunto
  385. recebe();
  386. delay(time);
  387. client.println("O gerador de energia eletrica foi desligado"); // Corpo
  388. recebe();
  389. delay(time);
  390. client.println("."); // Indica fim do email.
  391. recebe();
  392. delay(time);
  393. client.println();
  394. recebe();
  395. delay(time);
  396. Serial.println("email enviado!");
  397. delay(time);
  398. if (client.connected()) // Desconecta pra deixar pronto para novo envio.
  399. {
  400. Serial.println();
  401. Serial.println("desconectando...");
  402. client.stop();
  403. Serial.println();
  404. Serial.println();
  405. }
  406. }
  407. else
  408. {
  409. Serial.println("connection failed");
  410. }
  411. Serial.println("Ready. Press 'e' to connect.");
  412. email = 0;
  413. }
  414.  
  415.  
  416.  
  417. void recebe()
  418. {
  419. while (client.available())
  420. {
  421. char c = client.read();
  422. Serial.print(c);
  423. }
  424. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement