Cómo agregar una alarma para que su proyecto de reloj arduino

Adición de una alarma es la modificación de hardware más fácil para su Project Clock Arduino. Sólo tiene que conectar el zumbador piezoeléctrico. Con ese añadido, sólo tiene que crear una función que desempeñar la alarma. Agregue el código siguiente a la parte inferior de su boceto Arduino:

void soundAlarm () {float alarmFrequency = 1400- // El valor para el tono de alarma en el periodo Hzfloat = (1.0 / alarmFrequency) * 1000000-largo beepDuration = 250000- // el tiempo en microsegundos (0,25 segundos) de largo elapsedTime = 0- while (elapsedTime lt; beepDuration) {digitalWrite (piezoPin, ALTO) -delayMicroseconds (período / 2) -digitalWrite (piezoPin, LOW) -delayMicroseconds (período / 2) -elapsedTime + = (período) -} digitalWrite (piezoPin, LOW) -delayMicroseconds (beepDuration) - // Escuche cualquier botón para presionar y si es así, apague el hrs alarmint = digitalRead (incrementAlarmHrsPin) -INT minutos = digitalRead (incrementAlarmMinsPin), si (h == HIGH || minutos == HIGH) {alarma = false -}}

Este código utiliza la fórmula estándar para obtener el periodo de una en frecuencia el período es la duración de un único ciclo en un evento repetitivo y es el recíproco de la frecuencia. Se especifica la frecuencia de su tono de alarma en Hertz (Hz) y la asigna a la flotador variable alarmFrequency.

Su alarma alternará entre jugar un tono a esta frecuencia.

imagen0.jpg

Dos enteros largos, beepDuration y tiempo transcurrido, almacenar el tiempo transcurrido el tono ha estado jugando y la duración que desea que desempeñe. los mientras lazo las utiliza para limitar el tiempo de la nota se juega a 0,25 segundos (beepduration).

Con el tiempo calculado, utiliza este valor para escribir rápidamente valores altos y bajos a la piezoPin. Un ciclo incluye tanto dentro como fuera de veces, por lo que la cantidad de tiempo para escribir el pasador de alta y baja es la mitad del período total. Esto está escrito a los pines digitales utilizando:

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

los delayMicroseconds () función es la menor cantidad de tiempo que puede retrasar el Arduino, y es necesario para la generación de un tono. Después del tono se ha jugado, las dos líneas siguientes crean silencio durante la misma duración, 0,25 segundos, mediante la celebración de la piezoPin BAJO:

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

La última cosa que hacer es proporcionar una forma de silenciar la alarma, si pulsa cualquiera de los botones. Los enteros locales, hrs y minutos, almacenar el valor de los botones que se utilizan para programar la alarma. Si el botón de hora o el botón minutos pasa a alta ya que el botón se ha pulsado, la condición de alarma se establece en false. Las barras verticales | | indicar una evaluación lógica OR:

int hrs = digitalRead (incrementAlarmHrsPin) -INT minutos = digitalRead (incrementAlarmMinsPin), si (h == HIGH || minutos == HIGH) {alarma = falsos}}

¡Menos mal. Eso fue una gran cantidad de de códigos pero ahora el reloj está listo para tener su periodo de prueba. En el código, establezca la hora de la alarma a ser algo en el próximo minuto o Sø- después en código y enviar el código a la Arduino. Asegúrese de que el interruptor deslizante está en la posición armada y que se muestra el asterisco. Muy pronto, usted debe tener su alarma gratificante.

Si usted tiene algún problema, compruebe las conexiones. A continuación, compruebe el código para asegurarse de que es correcta.

Bip! Beep !! Beep !!! Es hora de palmadita en la espalda por la construcción de un reloj de alarma completamente funcional desde cero!

image1.jpg


» » » » Cómo agregar una alarma para que su proyecto de reloj arduino