Advertisement
Guest User

Untitled

a guest
Dec 9th, 2017
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.10 KB | None | 0 0
  1. unsigned long delay2 = 0;
  2.  
  3. unsigned long delay1 = 0;
  4.  
  5. #include <DHT.h>
  6. #include <LiquidCrystal_I2C.h>
  7. int led =3 ;
  8. #define DHTPIN 7 // Pino conectado ao pino de dados do sensor
  9. #define DHTTYPE DHT22 // Sensor DHT 22 (AM2302)
  10. DHT dht(DHTPIN, DHTTYPE);
  11.  
  12. byte grau[8] ={ B00001100,
  13. B00010010,
  14. B00010010,
  15. B00001100,
  16. B00000000,
  17. B00000000,
  18. B00000000,
  19. B00000000,};
  20.  
  21.  
  22. byte humidade[8] = {
  23. 0b00100,
  24. 0b00100,
  25. 0b01010,
  26. 0b01010,
  27. 0b10001,
  28. 0b10001,
  29. 0b10001,
  30. 0b01110
  31. };
  32.  
  33. LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7,3, POSITIVE);
  34. #include <Wire.h> //Biblioteca para manipulação do protocolo I2C
  35. #include <DS3231.h> //Biblioteca para manipulação do DS3231
  36.  
  37. DS3231 rtc; //Criação do objeto do tipo DS3231
  38. RTCDateTime dataehora; //Criação do objeto do tipo RTCDateTime
  39.  
  40. void setup()
  41. {
  42.  
  43. lcd.begin(20,4);
  44. pinMode(3,OUTPUT);
  45. analogWrite(3,100);
  46.  
  47. // Serial.begin(9600); //Inicialização da comunicação serial
  48. rtc.begin(); //Inicialização do RTC DS3231
  49.  
  50. //rtc.setDateTime(__DATE__, __TIME__); //Configurando valores iniciais apos atualizar a hora,
  51. //do RTC DS3231
  52.  
  53. lcd.createChar(0, grau); // Informacoes iniciais no display
  54. lcd.setCursor(18,0);
  55. lcd.write(byte(0));
  56. lcd.setCursor(19,0);
  57. lcd.print("C");
  58.  
  59. lcd.createChar(1, humidade); // Informacoes iniciais no display
  60. lcd.setCursor(19,1);
  61. lcd.write(byte(1));
  62. lcd.setCursor(0,3);
  63. //lcd.print("Umid.");
  64. //lcd.setCursor(18,1);
  65. //lcd.print("%");
  66.  
  67. dht.begin();
  68. }
  69.  
  70. void loop()
  71. {
  72. if ((millis() - delay1) >= 1000)
  73. {
  74.  
  75. dataehora = rtc.getDateTime(); //Atribuindo valores instantâneos de
  76. //data e hora à instância dataehora
  77.  
  78. lcd.setCursor(0,0);
  79. if(dataehora.day < 10){
  80. lcd.print("0");
  81. }
  82. lcd.print(dataehora.day); //Imprimindo o dia
  83. lcd.print("-");
  84. lcd.print(dataehora.month); //Imprimindo o Mês
  85. lcd.print("-");
  86. lcd.print(dataehora.year); //Imprimindo o Ano
  87. lcd.setCursor(0,1);
  88. lcd.print(" ");
  89.  
  90. if(dataehora.hour < 10){
  91. lcd.print("0");}
  92. lcd.print(dataehora.hour); //Imprimindo a Hora
  93. lcd.print(":");
  94.  
  95. if(dataehora.minute < 10){
  96. lcd.print("0");}
  97. lcd.print(dataehora.minute); //Imprimindo o Minuto
  98. lcd.print(":");
  99.  
  100. if(dataehora.second < 10){
  101. lcd.print("0");}
  102. lcd.print(dataehora.second); //Imprimindo o Segundo
  103. lcd.print("");
  104.  
  105. lcd.setCursor(0,2);
  106. lcd.print(" Analise & Desenv.");
  107. lcd.setCursor(8,3);
  108. lcd.print("De Sistemas");
  109.  
  110.  
  111.  
  112. //delay(1000); //Tempo p atualização do valor enviado pela porta
  113. //serial
  114.  
  115. /* delay1 = millis();
  116. }
  117.  
  118. void imprime_dia_da_semana(int dia)
  119. {
  120. switch (dia)
  121.  
  122. case 1:
  123. Serial.print("Domingo");
  124. break;
  125. case 2:
  126. Serial.print("Segunda");
  127. break;
  128. case 3:
  129. Serial.print("Terca");
  130. break;
  131. case 4:
  132. Serial.print("Quarta");
  133. break;
  134. case 5:
  135. Serial.print("Quinta");
  136. break;
  137. case 6:
  138. Serial.print("Sexta");
  139. break;
  140. case 7:
  141. Serial.print("Sabado");
  142. break;
  143. }*/
  144.  
  145.  
  146.  
  147. if ((millis() - delay2) >= 10000){
  148.  
  149. // Aguarda 2 segundos entre as medicoes
  150. // delay(2000);
  151.  
  152. // Leitura da umidade
  153. float h = dht.readHumidity();
  154. // Leitura da temperatura (Celsius)
  155. float t = dht.readTemperature();
  156.  
  157. // Verifica se o sensor esta respondendo
  158. if (isnan(h) || isnan(t))
  159. {
  160. Serial.println("Falha ao ler dados do sensor DHT !!!");
  161. return;
  162. }
  163.  
  164. // Mostra a temperatura no serial monitor e no display
  165. //Serial.print("Temperatura: ");
  166. //Serial.print(t);
  167. lcd.setCursor(12,0);
  168. lcd.print(t);
  169. //Serial.print(" *C ");
  170. // Mostra a umidade no serial monitor e no display
  171. // Serial.print("Umidade : ");
  172. // Serial.print(h);
  173. // Serial.println(" %");
  174. lcd.setCursor(12,1);
  175. lcd.print(h);
  176.  
  177. delay2 = millis();
  178. }
  179. }
  180. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement