Advertisement
Guest User

QTA Arduino

a guest
Jun 27th, 2018
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.33 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. void setup()
  32. {
  33. //EMAIL
  34. Ethernet.begin(mac, arduino_ip, dns_ip, gateway_ip, subnet_mask);
  35. Serial.begin(9600);
  36. //GERADOR
  37. pinMode(analogInput1, INPUT);
  38. pinMode (analogInput2, INPUT);
  39. pinMode (releignicao, OUTPUT);
  40. digitalWrite (releignicao, HIGH);
  41. pinMode (relepartida, OUTPUT);
  42. digitalWrite (relepartida, HIGH);
  43. pinMode (relegerador, OUTPUT);
  44. digitalWrite (relegerador, HIGH);
  45. pinMode (relerede, OUTPUT);
  46. digitalWrite (relerede, HIGH);
  47. pinMode (relebateria, OUTPUT);
  48. digitalWrite (relebateria, HIGH);
  49. Serial.begin(9600);
  50. Serial.print("CM SOLULUÇÕES PARA CONDOMÍNIOS");
  51. }
  52.  
  53. void loop(){
  54.  
  55. {
  56. //Calculo do sensor de tensão 1 - Entrada da rede EDP
  57. value1 = analogRead(analogInput1);
  58. vout1 = (value1 * 5.0) / 1024.0;
  59. vin1 = vout1 / (R2/(R1+R2));
  60.  
  61. //Calculo do sensor de tensão 2 - Entrada da rede gerador
  62. value2 = analogRead(analogInput2);
  63. vout2 = (value2 * 5.0) / 1024.0;
  64. vin2 = vout2 / (R2/(R1+R2));
  65.  
  66. Serial.println ("Sensor DC Rede EDP");
  67. Serial.println(vin1,3);
  68. Serial.println ("Sensor DC Rede Gerador");
  69. Serial.println(vin2,3);
  70. delay(100);
  71. }
  72.  
  73. //Rede LIGADA e Gerador DESLIGADO
  74. 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"
  75. {
  76.  
  77. //enviaedpon();
  78. Serial.println(" REDE LIGADA E GERADOR DESLIGADO");
  79. digitalWrite (relerede,LOW); // Contatora da Rede ligada
  80. digitalWrite (relegerador, HIGH); // Contatora do Gerador desligada
  81. digitalWrite (releignicao, HIGH);// Solenóide do gerador desligado
  82. digitalWrite (relepartida, HIGH); //Motor de arranque do gerador desligado
  83. digitalWrite (relebateria, LOW); //Carregador da bateria ligado
  84. delay(5000);
  85. }
  86. }
  87.  
  88. //EMAIL QUANDO ENERGIA ELETRICA ESTIVER LIGADA
  89. void enviaedpon()
  90. {
  91. delay(time);
  92. Serial.println("conectando...");
  93. if (client.connect(server, 587)) // Porta de conexao do servidor do email.
  94. {
  95. Serial.println("conectado!");
  96. Serial.println();
  97. Serial.println("enviando email...");
  98. Serial.println();
  99. client.println("HELO localhost");
  100. recebe();
  101. delay(time);
  102. client.println("AUTH LOGIN");
  103. recebe();
  104. delay(time);
  105. client.println("Y21hcmR1aW5vQGJvbC5jb20uYnI="); // Email de login em base de 64: http://base64-encoder-online.waraxe.us/
  106. recebe();
  107. delay(time);
  108. client.println("bGRjMTk4MyQ="); // Senha do email em base de 64: http://base64-encoder-online.waraxe.us/
  109. recebe();
  110. delay(time);
  111. client.println("mail from: <cmarduino@bol.com.br>"); //Email remetente
  112. recebe();
  113. delay(time);
  114. client.println("rcpt to: <suporte@cmsolucoes.net.br>"); // Email destinatário
  115. recebe();
  116. delay(time);
  117. client.println("data");
  118. recebe();
  119. delay(time);
  120. client.println("Condominio Delta Energia eletrica normalizada"); // Assunto
  121. recebe();
  122. delay(time);
  123. client.println("Energia eletrica da EDP esta funcionando normalmente"); // Corpo
  124. recebe();
  125. delay(time);
  126. client.println("."); // Indica fim do email.
  127. recebe();
  128. delay(time);
  129. client.println();
  130. recebe();
  131. delay(time);
  132. Serial.println("email enviado!");
  133. delay(time);
  134. if (client.connected()) // Desconecta pra deixar pronto para novo envio.
  135. {
  136. Serial.println();
  137. Serial.println("desconectando...");
  138. client.stop();
  139. Serial.println();
  140. Serial.println();
  141. }
  142. }
  143. else
  144. {
  145. Serial.println("connection failed");
  146. }
  147. Serial.println("Ready. Press 'e' to connect.");
  148. }
  149.  
  150.  
  151. //EMAIL QUANDO ENERGIA ELETRICA ESTIVER DESLIGADA
  152. void enviaedpoff()
  153. {
  154. delay(time);
  155. Serial.println("conectando...");
  156. if (client.connect(server, 587)) // Porta de conexao do servidor do email.
  157. {
  158. Serial.println("conectado!");
  159. Serial.println();
  160. Serial.println("enviando email...");
  161. Serial.println();
  162. client.println("HELO localhost");
  163. recebe();
  164. delay(time);
  165. client.println("AUTH LOGIN");
  166. recebe();
  167. delay(time);
  168. client.println("Y21hcmR1aW5vQGJvbC5jb20uYnI="); // Email de login em base de 64: http://base64-encoder-online.waraxe.us/
  169. recebe();
  170. delay(time);
  171. client.println("bGRjMTk4MyQ="); // Senha do email em base de 64: http://base64-encoder-online.waraxe.us/
  172. recebe();
  173. delay(time);
  174. client.println("mail from: <cmarduino@bol.com.br>"); //Email remetente
  175. recebe();
  176. delay(time);
  177. client.println("rcpt to: <suporte@cmsolucoes.net.br>"); // Email destinatário
  178. recebe();
  179. delay(time);
  180. client.println("data");
  181. recebe();
  182. delay(time);
  183. client.println("Condominio Delta Queda de Energia Eletrica"); // Assunto
  184. recebe();
  185. delay(time);
  186. client.println("Queda de energia eletrica da EDP no Condominio"); // Corpo
  187. recebe();
  188. delay(time);
  189. client.println("."); // Indica fim do email.
  190. recebe();
  191. delay(time);
  192. client.println();
  193. recebe();
  194. delay(time);
  195. Serial.println("email enviado!");
  196. delay(time);
  197. if (client.connected()) // Desconecta pra deixar pronto para novo envio.
  198. {
  199. Serial.println();
  200. Serial.println("desconectando...");
  201. client.stop();
  202. Serial.println();
  203. Serial.println();
  204. }
  205. }
  206. else
  207. {
  208. Serial.println("connection failed");
  209. }
  210. Serial.println("Ready. Press 'e' to connect.");
  211. }
  212.  
  213. //EERGIA ELETRICA DO GERADOR LIGADA
  214. void enviageradoron()
  215. {
  216. delay(time);
  217. Serial.println("conectando...");
  218. if (client.connect(server, 587)) // Porta de conexao do servidor do email.
  219. {
  220. Serial.println("conectado!");
  221. Serial.println();
  222. Serial.println("enviando email...");
  223. Serial.println();
  224. client.println("HELO localhost");
  225. recebe();
  226. delay(time);
  227. client.println("AUTH LOGIN");
  228. recebe();
  229. delay(time);
  230. client.println("Y21hcmR1aW5vQGJvbC5jb20uYnI="); // Email de login em base de 64: http://base64-encoder-online.waraxe.us/
  231. recebe();
  232. delay(time);
  233. client.println("bGRjMTk4MyQ="); // Senha do email em base de 64: http://base64-encoder-online.waraxe.us/
  234. recebe();
  235. delay(time);
  236. client.println("mail from: <cmarduino@bol.com.br>"); //Email remetente
  237. recebe();
  238. delay(time);
  239. client.println("rcpt to: <suporte@cmsolucoes.net.br>"); // Email destinatário
  240. recebe();
  241. delay(time);
  242. client.println("data");
  243. recebe();
  244. delay(time);
  245. client.println("Condominio Delta Gerador de Energia"); // Assunto
  246. recebe();
  247. delay(time);
  248. client.println("O gerador de energia eletrica esta ligado"); // Corpo
  249. recebe();
  250. delay(time);
  251. client.println("."); // Indica fim do email.
  252. recebe();
  253. delay(time);
  254. client.println();
  255. recebe();
  256. delay(time);
  257. Serial.println("email enviado!");
  258. delay(time);
  259. if (client.connected()) // Desconecta pra deixar pronto para novo envio.
  260. {
  261. Serial.println();
  262. Serial.println("desconectando...");
  263. client.stop();
  264. Serial.println();
  265. Serial.println();
  266. }
  267. }
  268. else
  269. {
  270. Serial.println("connection failed");
  271. }
  272. Serial.println("Ready. Press 'e' to connect.");
  273. }
  274.  
  275. //ENERGIA ELETRICA DO GERADOR DESLIGADA
  276. void enviageradoroff()
  277. {
  278. delay(time);
  279. Serial.println("conectando...");
  280. if (client.connect(server, 587)) // Porta de conexao do servidor do email.
  281. {
  282. Serial.println("conectado!");
  283. Serial.println();
  284. Serial.println("enviando email...");
  285. Serial.println();
  286. client.println("HELO localhost");
  287. recebe();
  288. delay(time);
  289. client.println("AUTH LOGIN");
  290. recebe();
  291. delay(time);
  292. client.println("Y21hcmR1aW5vQGJvbC5jb20uYnI="); // Email de login em base de 64: http://base64-encoder-online.waraxe.us/
  293. recebe();
  294. delay(time);
  295. client.println("bGRjMTk4MyQ="); // Senha do email em base de 64: http://base64-encoder-online.waraxe.us/
  296. recebe();
  297. delay(time);
  298. client.println("mail from: <cmarduino@bol.com.br>"); //Email remetente
  299. recebe();
  300. delay(time);
  301. client.println("rcpt to: <suporte@cmsolucoes.net.br>"); // Email destinatário
  302. recebe();
  303. delay(time);
  304. client.println("data");
  305. recebe();
  306. delay(time);
  307. client.println("Condominio Delta Gerador de Energia Desligado"); // Assunto
  308. recebe();
  309. delay(time);
  310. client.println("O gerador de energia eletrica foi desligado"); // Corpo
  311. recebe();
  312. delay(time);
  313. client.println("."); // Indica fim do email.
  314. recebe();
  315. delay(time);
  316. client.println();
  317. recebe();
  318. delay(time);
  319. Serial.println("email enviado!");
  320. delay(time);
  321. if (client.connected()) // Desconecta pra deixar pronto para novo envio.
  322. {
  323. Serial.println();
  324. Serial.println("desconectando...");
  325. client.stop();
  326. Serial.println();
  327. Serial.println();
  328. }
  329. }
  330. else
  331. {
  332. Serial.println("connection failed");
  333. }
  334. Serial.println("Ready. Press 'e' to connect.");
  335. }
  336.  
  337.  
  338.  
  339. void recebe()
  340. {
  341. while (client.available())
  342. {
  343. char c = client.read();
  344. Serial.print(c);
  345. }
  346. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement