Como adicionar um alarme para seu projeto relógio arduino

Video: RELÓGIO COM RTC DS3231 | Curso de Arduino #094

Adicionando um alarme é o mais fácil modificação de hardware para o seu Project Clock Arduino. Você só precisa anexar a sirene piezoelétrica. Com isso adicionado, você simplesmente criar uma função a desempenhar o alarme. Adicione o seguinte código para o fundo do seu esboço Arduino:

soundAlarm vazio () {flutuar alarmFrequency = 1400- // O valor para o toque do alarme no período Hzfloat = (1,0 / alarmFrequency) * 1.000.000 de comprimento beepDuration = 250000- // o tempo em microssegundos (0,25 segundos) de comprimento elapsedTime = 0- enquanto (elapsedTime lt; beepDuration) {digitalWrite (piezoPin, alto) -delayMicroseconds (período / 2) -digitalWrite (piezoPin, LOW) -delayMicroseconds (período / 2) -elapsedTime + = (período) -} digitalWrite (piezoPin, baixa) -delayMicroseconds (beepDuration) - // Ouça qualquer botão para ser pressionado e se assim for, desligue o hrs alarmint = digitalRead (incrementAlarmHrsPin) -int mins = digitalRead (incrementAlarmMinsPin) -se (hrs == ALTA || minutos == HIGH) {alarme = false -}}

Este código utiliza a fórmula de padrão para se obter o período de um em frequência o período é a duração de um ciclo ico em um evento de repetição e é o recíproco da frequência. Você especificar a freqüência de seu tom de alarme em Hertz (Hz) e atribuí-lo ao flutuador variável alarmFrequency.

Video: Exemplo de controle com RTC no Arduino

O alarme irá alternar entre jogar um tom nesta freqüência.

Video: RELÓGIO DESPERTADOR COM ARDUINO | Projeto do Assinante #016

Dois inteiros longos, beepDuration e tempo gasto, armazenar o tempo decorrido o tom foi jogar ea duração que você quer jogar. o enquanto laço usa-las para limitar o tempo a nota é tocada para 0,25 segundos (beepduration).

Com o período de cálculo, você usa esse valor para escrever rapidamente valores altos e baixos para o piezoPin. Um ciclo inclui dentro e fora vezes, por isso a quantidade de tempo para escrever o pino de alta e baixa é a metade do período total. Isto é escrito para os pinos digitais usando:

digitalWrite (piezoPin, ALTA) -delayMicroseconds (período / 2) -digitalWrite (piezoPin, LOW) -delayMicroseconds (período / 2) -


o delayMicroseconds () função é mais curto espaço de tempo que você pode atrasar o Arduino, e é necessário para a geração de um tom. Após o sinal ter sido reproduzido, as duas linhas seguintes criar silêncio para a mesma duração, 0,25 segundos, mantendo o piezoPin BAIXO:

digitalWrite (piezoPin, LOW) -delayMicroseconds (beepDuration) -

A última coisa a fazer é fornecer uma maneira de silenciar o alarme, se você pressionar um dos botões. Os inteiros locais, hrs e mins, armazenar o valor dos botões usados ​​para programar o alarme. Se o botão de horas ou o botão minutos passa alto porque o botão foi pressionado, a condição de alarme é definida como falsa. As barras verticais | | indicar uma avaliação lógica OR:

int h = digitalRead (incrementAlarmHrsPin) -int min = digitalRead (incrementAlarmMinsPin) -se (hrs == ALTAS || minutos == ALTA) {= alarme falso-}}

Ufa. Isso foi um monte de code-mas agora o relógio está pronto para ter seu funcionamento experimental. No código, defina a hora do alarme ser algo no próximo minuto ou tão- seguida, no código e enviar o código para o Arduino. Verifique se o interruptor estiver na posição armada e que o asterisco é exibido. Muito em breve, você deve ter seu alarme gratificante.

Se você tiver qualquer problema, verifique suas conexões. Em seguida, verifique seu código para ter certeza que é correto.

Bip! Bip!! Bip!!! É hora de dar palmadinhas nas costas para a construção de um despertador totalmente funcional a partir do zero!

Video: Relógio com alarme no Arduíno


Publicações relacionadas