Comment ajouter une alarme à votre projet d'horloge Arduino

Ajout d'une alarme est la modification du matériel plus facile pour votre projet Arduino Horloge. Vous avez seulement besoin d'attacher la sirène piézoélectrique. Avec cette ajouté, vous créez simplement une fonction à jouer l'alarme. Ajoutez le code suivant au fond de votre croquis Arduino:

soundAlarm void () {float alarmFrequency = 1400- // La valeur de la tonalité d'alarme en période Hzfloat = (1,0 / alarmFrequency) * 1000000 long beepDuration = 250000- // le temps en microsecondes (0,25 secondes) à long elapsedTime = 0- while (elapsedTime lt; beepDuration) {digitalWrite (piezoPin, -delayMicroseconds élevé) (période / 2) -digitalWrite (piezoPin, LOW) -delayMicroseconds (période / 2) -elapsedTime + = (période) -} digitalWrite (piezoPin, faible) -delayMicroseconds (beepDuration) - // Ecoute soit bouton pour être pressée et si oui, éteindre la heures de alarmint = digitalRead (incrementAlarmHrsPin) -int minutes = digitalRead (incrementAlarmMinsPin) -Si (h == == HIGH || minutes HIGH) {alarme = false -}}

Ce code utilise la formule standard pour obtenir la période d'un en fréquence de la période est la durée d'un seul cycle dans un événement récurrent et est l'inverse de la fréquence. Vous spécifiez la fréquence de votre tonalité d'alarme en Hertz (Hz) et l'affecter à la flotteur variable alarmFrequency.

Votre alarme alterner entre la lecture d'un ton à cette fréquence.

image0.jpg

Deux entiers longs, beepDuration et temps écoulé, stocker le temps écoulé le ton a joué et la durée que vous voulez jouer. La tandis que boucle les utilise pour limiter le temps de la note est jouée à 0,25 secondes (beepduration).




Avec la période calculée, vous utilisez cette valeur à écrire rapidement des valeurs haut et bas pour le piezoPin. Un cycle comprend à la fois sur et hors reprises, de sorte que la quantité de temps pour écrire la broche HIGH et LOW est la moitié de la durée totale. Ceci est écrit à l'aide des repères numériques:

digitalWrite (piezoPin, HIGH) -delayMicroseconds (période / 2) -digitalWrite (piezoPin, LOW) -delayMicroseconds (période / 2) -

La delayMicroseconds () la fonction est le plus court laps de temps, vous pouvez retarder l'Arduino, et est nécessaire pour générer une tonalité. Après la tonalité a été joué, les deux lignes suivantes créent le silence pour la même durée, à 0,25 secondes, en tenant le piezoPin FAIBLE:

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

La dernière chose à faire est de fournir un moyen de faire taire l'alarme, si vous appuyez sur l'un des boutons. Les entiers locales, heures et mins, stocker la valeur des touches utilisées pour programmer l'alarme. Si le bouton heures ou sur le bouton minutes va vers le haut parce que le bouton a été pressé, la condition d'alarme est réglé sur faux. Les barres verticales | | indiquer une évaluation logique OU:

int h = digitalRead (incrementAlarmHrsPin) -int minutes = digitalRead (incrementAlarmMinsPin) -Si (h == == HIGH || minutes HIGH) {= alarme faussement}}

Ouf. Ce fut beaucoup de code- mais maintenant l'horloge est prêt à avoir son coup d'essai. Dans le code, régler l'heure d'alarme pour avoir quelque chose dans la minute suivante ou so- puis dans le code et envoyer le code à l'Arduino. Assurez-vous que l'interrupteur à glissière est en position armée et que votre astérisque est affiché. Très bientôt, vous devriez avoir votre alarme enrichissante.

Si vous avez le moindre problème, vérifiez vos connexions. Ensuite, vérifiez votre code pour vous assurer qu'il est exact.

Beep! Beep !! Bip !!! Il est temps de vous tape dans le dos pour la construction d'un réveil entièrement fonctionnel à partir de zéro!

image1.jpg

» » » » Comment ajouter une alarme à votre projet d'horloge Arduino