Wie von Alarmmeldungen an Ihre Arduino Clock Projekt hinzufügen

einen Alarm hinzuzufügen ist die einfachste Hardware-Modifikation für Ihre Arduino Clock Project. Sie müssen nur das piezoelektrische Klopfer zu befestigen. Damit hinzugefügt, erstellen Sie einfach eine Funktion, um den Alarm zu spielen. Fügen Sie den folgenden Code auf der Unterseite des Arduino Skizze:

Leere soundAlarm () {float alarmFrequency = 1400- // Der Wert für den Alarmton in Hzfloat Zeit = (1,0 / alarmFrequency) * 1000000 lange beepDuration = 250000- // die Zeit in Mikrosekunden (0,25 Sekunden) lang elapsedTime = 0- während (elapsedTime lt; beepDuration) {digital (piezoPin, HIGH) -delayMicroseconds (Zeit / 2) -digitalWrite (piezoPin, LOW) -delayMicroseconds (Zeit / 2) -elapsedTime + = (Periode) -} digital (piezoPin, LOW) -delayMicroseconds (beepDuration) - // Hören Sie auf eine der Tasten gedrückt werden, und wenn ja, schalten Sie die alarmint Stunden = digitalRead (incrementAlarmHrsPin) -int Min = digitalRead (incrementAlarmMinsPin) -wenn (Std == HOCH || Minuten == HIGH) {Alarm = false -}}

Dieser Code verwendet die Standardformel der Periode einer frequenz- der Zeit ist, die Dauer eines einzelnen Zyklus in einem wiederkehrenden Ereignis zu erhalten und ist der Kehrwert der Frequenz. Sie geben die Frequenz Ihrer Alarmton in Hertz (Hz) und weisen Sie auf die schweben Variable alarmFrequency.

Ihr Alarm wechselt zwischen einem Ton bei dieser Frequenz zu spielen.

bild0.jpg

Zwei lange ganze Zahlen, beepDuration und verstrichene Zeit, Speichern der der Ton verstrichene Zeit gespielt hat und die Dauer, die Sie es spielen möchten. Das während loopuses diese Zeit die Note gespielt wird auf 0,25 Sekunden (beepduration) zu begrenzen.

Mit der Zeit berechnet, können Sie diesen Wert verwenden, um schnell hohen und niedrigen Werten zu den Schreib piezoPin. Ein Zyklus umfasst sowohl Ein- und Ausschaltzeiten, so dass die Höhe der Zeit zu schreiben, um den Stift HIGH und LOW ist die Hälfte der Gesamtperiode. Dies wird auf die digitalen Stifte geschrieben werden:

digital (piezoPin, HIGH) -delayMicroseconds (Zeit / 2) -digitalWrite (piezoPin, LOW) -delayMicroseconds (Zeit / 2) -

Das delayMicroseconds () Funktion ist die kürzeste Zeit, die Sie die Arduino verzögern kann, und zum Erzeugen eines Ton benötigt. Nachdem der Ton gespielt wurde, schaffen die beiden folgenden Zeilen Stille für die gleiche Dauer, 0,25 Sekunden durch die Halte piezoPin NIEDRIG:

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

Das letzte, was zu tun ist, bieten eine Möglichkeit, um den Alarm abzustellen, wenn Sie eine der Tasten drücken. Die lokalen ganzen Zahlen, hrs und min, Speichern des Wertes der Tasten verwendet, um den Alarm zu programmieren. Wenn die Stunden-Taste oder die Minuten-Taste HOCH geht, weil die Taste gedrückt wurde, wird der Alarmzustand auf false gesetzt. Die vertikalen Balken | | zeigen eine logische OR-Auswertung:

int h = digitalRead (incrementAlarmHrsPin) -int Min = digitalRead (incrementAlarmMinsPin) -wenn (Std == HOCH || Minuten == HIGH) {Alarm = falsch-}}

Puh. Das war eine Menge von Code- aber jetzt ist die Uhr bereit ist, seinen Probelauf zu haben. Im Code die Alarmzeit etwas in der nächsten Minute oder sozi- dann im Code und senden Sie den Code in das Arduino zu sein. Stellen Sie sicher, dass der Schiebeschalter in der Scharfstellung ist und dass Ihr Sternchen angezeigt. Ziemlich bald, sollten Sie Ihren lohn Alarm haben.

Wenn Sie Probleme haben, überprüfen Sie die Verbindungen. Dann überprüfen Sie den Code, um sicherzustellen, es korrekt ist.

Piep! Piep!! Piep!!! Es ist Zeit, sich auf die Schulter klopfen für von Grund auf neu eine voll funktionsfähige Wecker Gebäude!

image1.jpg

Menü