RESOLVIDO - Alguem pode me ajudar com este código? Não consigo que funcione a função if do alarme

#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);
}

Exibições: 406

Responder esta

Respostas a este tópico

Olá,

Procure não escrever codigos na área de texto, siga as regras para postar. VEJA AQUI

Anexo meu código no pastebin, que sei que funciona veja vídeo no meu canal AQUI

Código AQUI

Abs.

CK

Desculpe-me Carlos, entrei na comunidade ontem e como todo brasileiro, não procurei saber das regras. Perdoe-me.

Então, esse modelo que eu uso é o RTC DS3231 e a biblioteca dele é diferente dessa do ds1307, pois isso não consigo com aquele seu código, inclusive esse é uma alteração do seu para o ds3231.

Grato

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!

http://pastebin.com/kUP2tByS

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"

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço