Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned long delay2 = 0;
- unsigned long delay1 = 0;
- #include <DHT.h>
- #include <LiquidCrystal_I2C.h>
- int led =3 ;
- #define DHTPIN 7 // Pino conectado ao pino de dados do sensor
- #define DHTTYPE DHT22 // Sensor DHT 22 (AM2302)
- DHT dht(DHTPIN, DHTTYPE);
- byte grau[8] ={ B00001100,
- B00010010,
- B00010010,
- B00001100,
- B00000000,
- B00000000,
- B00000000,
- B00000000,};
- byte humidade[8] = {
- 0b00100,
- 0b00100,
- 0b01010,
- 0b01010,
- 0b10001,
- 0b10001,
- 0b10001,
- 0b01110
- };
- LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7,3, POSITIVE);
- #include <Wire.h> //Biblioteca para manipulação do protocolo I2C
- #include <DS3231.h> //Biblioteca para manipulação do DS3231
- DS3231 rtc; //Criação do objeto do tipo DS3231
- RTCDateTime dataehora; //Criação do objeto do tipo RTCDateTime
- void setup()
- {
- lcd.begin(20,4);
- pinMode(3,OUTPUT);
- analogWrite(3,100);
- // Serial.begin(9600); //Inicialização da comunicação serial
- rtc.begin(); //Inicialização do RTC DS3231
- //rtc.setDateTime(__DATE__, __TIME__); //Configurando valores iniciais apos atualizar a hora,
- //do RTC DS3231
- lcd.createChar(0, grau); // Informacoes iniciais no display
- lcd.setCursor(18,0);
- lcd.write(byte(0));
- lcd.setCursor(19,0);
- lcd.print("C");
- lcd.createChar(1, humidade); // Informacoes iniciais no display
- lcd.setCursor(19,1);
- lcd.write(byte(1));
- lcd.setCursor(0,3);
- //lcd.print("Umid.");
- //lcd.setCursor(18,1);
- //lcd.print("%");
- dht.begin();
- }
- void loop()
- {
- if ((millis() - delay1) >= 1000)
- {
- dataehora = rtc.getDateTime(); //Atribuindo valores instantâneos de
- //data e hora à instância dataehora
- lcd.setCursor(0,0);
- if(dataehora.day < 10){
- lcd.print("0");
- }
- lcd.print(dataehora.day); //Imprimindo o dia
- lcd.print("-");
- lcd.print(dataehora.month); //Imprimindo o Mês
- lcd.print("-");
- lcd.print(dataehora.year); //Imprimindo o Ano
- lcd.setCursor(0,1);
- lcd.print(" ");
- if(dataehora.hour < 10){
- lcd.print("0");}
- lcd.print(dataehora.hour); //Imprimindo a Hora
- lcd.print(":");
- if(dataehora.minute < 10){
- lcd.print("0");}
- lcd.print(dataehora.minute); //Imprimindo o Minuto
- lcd.print(":");
- if(dataehora.second < 10){
- lcd.print("0");}
- lcd.print(dataehora.second); //Imprimindo o Segundo
- lcd.print("");
- lcd.setCursor(0,2);
- lcd.print(" Analise & Desenv.");
- lcd.setCursor(8,3);
- lcd.print("De Sistemas");
- //delay(1000); //Tempo p atualização do valor enviado pela porta
- //serial
- /* delay1 = millis();
- }
- void imprime_dia_da_semana(int dia)
- {
- switch (dia)
- case 1:
- Serial.print("Domingo");
- break;
- case 2:
- Serial.print("Segunda");
- break;
- case 3:
- Serial.print("Terca");
- break;
- case 4:
- Serial.print("Quarta");
- break;
- case 5:
- Serial.print("Quinta");
- break;
- case 6:
- Serial.print("Sexta");
- break;
- case 7:
- Serial.print("Sabado");
- break;
- }*/
- if ((millis() - delay2) >= 10000){
- // Aguarda 2 segundos entre as medicoes
- // delay(2000);
- // Leitura da umidade
- float h = dht.readHumidity();
- // Leitura da temperatura (Celsius)
- float t = dht.readTemperature();
- // Verifica se o sensor esta respondendo
- if (isnan(h) || isnan(t))
- {
- Serial.println("Falha ao ler dados do sensor DHT !!!");
- return;
- }
- // Mostra a temperatura no serial monitor e no display
- //Serial.print("Temperatura: ");
- //Serial.print(t);
- lcd.setCursor(12,0);
- lcd.print(t);
- //Serial.print(" *C ");
- // Mostra a umidade no serial monitor e no display
- // Serial.print("Umidade : ");
- // Serial.print(h);
- // Serial.println(" %");
- lcd.setCursor(12,1);
- lcd.print(h);
- delay2 = millis();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement