#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DS3231.h>
int temperature; // Declarada como INTEIRO porque o getTemp() da bilbioteca trata a temperatura como FLOAT.
int buzzer = 8;
// Modulo I2C display no endereco 0x3F
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
// Inicialização do DS3231 utilizando a interface de hardware
DS3231 rtc(SDA, SCL);
void setup()
{
pinMode(rele, OUTPUT);
// Setup Conexão serial
Serial.begin(115200);
// Remova o comentário da próxima linha se você estiver usando um Arduino Leonardo
//while (!Serial) {}
digitalWrite(rele, HIGH);
// Inicialização do display lcd
lcd.clear();
lcd.begin(16, 2);
// Inicializar o objeto RTC
rtc.begin();
// As seguintes linhas podem ser descomentadas para definir a data e hora
//rtc.setDOW(6); // Seta dia da semana para SABADO
//rtc.setTime(22, 06, 50); // Seta a hora para 22:06:50 (formato 24hr)
//rtc.setDate(29, 10, 2016); // Seta ae data para 29 de outubro, 2016
temperature = rtc.getTemp();
}
void loop() {
// Enviar Dia-da-Semana
lcd.setCursor(0, 0);//Seta o dia da semana na 1ª linha 1ª Coluna do LCD
lcd.print(rtc.getDOWStr());
Serial.print(" ");
// Envia data
lcd.setCursor(0, 1);//Seta a data na 2ª linha 1ª Coluna do LCD
lcd.print(rtc.getDateStr());
Serial.print("-- ");
// Envia hora
lcd.setCursor(8, 0);//Seta a hora na 1ª linha 8ª Coluna do LCD
lcd.println(rtc.getTimeStr());
lcd.setCursor(12, 1); //Seta a temperatura na 2ª linha 12ª Coluna do LCD
//lcd.print("Tempo: ");
lcd.print(temperature);
lcd.write(223);//imprime o caracter (°)
lcd.print("C");
// Definicao do alarme.
if (hour == 22 && min == 56 && sec == 0)//Define a hora de tocar o alarme por 1o segundos
{
digitalWrite (buzzer, HIGH);// Eleva tensao pino 13 para 5V
delay (10000);// Atrasa 50ms
}
if (hour == 22 && min == 58 && sec == 30)//Define a hora de tocar o alarme por 1o segundos
{
digitalWrite (buzzer, LOW); //Abaixa tensao pino 13 para 0V
delay (10000);
}
// Espere um segundo antes de repetir :)
delay (1000);
}
Tags:
Bom dia Denilson,
Não ha porque pedir desculpas, minha intenção foi somente chamar sua atenção ao fato, para que tenhamos uma padronização nas postagens que sera beneficiosa a todos.
Quanto ao código, sim, este é um código que fiz a muito tempo, mas veja, a unica alteração que ele tem, é que esta alterado para usar um display LCD do tipo I2C, quanto aos resto deveria funcinar tanto com um como com outro, ja que ambos CI são os mesmos, a diferença entre eles é sua precisão, o DS3XXX é mais preciso que o DSXX.
Eu vou testar seu code para ver o que tem de errado, o nosso colega Romario mandou uma mensagem, e se refere a um anexo, mas pelo que vi não a anexo algum, pode ser porque o site esta com problemas desde ontem para subir arquivos anexados.
PD acho que agora o Romario colou no pastebin, veja se o que ele enviou funciona.Abs.
CK
Bom dia amigo DM, segue o arquivo com seu code modificado, da aquela revisada e bons projetos!
Obrigado meu amigo Romário, este forum precisa de mais pessoas como você, e estarei à disposição quando precisar, se bem que vc está bem mais avançado do que eu em Arduino, kkkk.
PS.: "ss"
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por