Pessoal, estou tentando aprender arduino com os tutoriais da internet e sempre pesquiso muito antes de pedir ajudar assim de graça...mas dessa vez eu joguei a toalha rsrsrs
estou montando o projeto de um simples alarme que vai ligar minha cafeteira as 6h da manhã e me acordar as 6:10h.
Quanto ao RTC eu me viro bem estou usando o DS 3231, mas queria colocar um botão, para desligar o alarme, e não ter que esperar o tempo todo de 1 minuto para ele desligar sozinho.
passei ontem o dia todo tentando brincar com isso, esquentei a cabeça, pesquisei muito... mas não deu rsrsr tive que pedi ajuda (uma aula na verdade)
como faço pra inserir esse botão?
em algum momento até cnsegui fazer o botão parar o buzzer, mas quando soltava o botão, o buzzer voltava kkkk
está assim até agora, com um led no lugar do rele da cafeteira.
#include <Wire.h> //Biblioteca para manipulação do protocolo I2C
#include <DS3231.h> //Biblioteca para manipulação do DS3231
DS3231 rtc(SDA, SCL); //Criação do objeto do tipo DS3231
int led = 3;
int buzzer = 7;
int gnd = 12;
int botao = 4;
void setup()
{
rtc.begin(); //Inicialização do RTC DS3231
pinMode (cafe,OUTPUT); //Definindo os 3 pinos de ipuminação como saídas
pinMode (buzzer,OUTPUT);
pinMode (gnd,OUTPUT);
pinMode (botao,INPUT);
digitalWrite (gnd,LOW);
// abaixo, setando o RTC
rtc.setDOW(MONDAY); //dia da semana maiúsc //depois de setar data e hora
rtc.setTime(5,59,59); //hora,minuto,segundo //comentar essas 3 linhas e
rtc.setDate(30, 7,2018); //dia,mês,ano //carregar novamente.
}
void alarme()// se for entre 6:00:00h e 6:01:00h liga buzzer
{
if(rtc.getTime().hour == 6)
if(rtc.getTime().min == 10)
if(rtc.getTime().sec >= 0 && rtc.getTime().sec <= 59){
tone(buzzer,4000,300);
delay(350);
tone(buzzer,4000,300);
delay(350);
tone(buzzer,4000,300);
delay(800);
}
}
void loop()
{
if(rtc.getTime().hour == 6)
if(rtc.getTime().min >= 0 && rtc.getTime().min <= 30)
if(rtc.getTime().sec >= 0 && rtc.getTime().sec <= 59){
digitalWrite(led, HIGH);
} // se for entre 6:00h e 6:30h liga cafeteira
else
{
digitalWrite(led, LOW);
}
alarme();
delay(1000);
}