forum.technik-hobby.de

Normale Version: Buzzer-ISR
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hier ein kleines Beispiel, wie man einen aktiven Buzzer per Timer-Interrupt ansteuern kann.
Das hat den Vorteil, dass man keine Delays und Schleifen benutzen muss. Man gibt einfach z.B. "Beep(3, 500, 200);" ein und schon werden drei Toene mit 500ms Puls- und 200ms Pausendauer abgespielt.
Weil das interruptgesteuert ist, kann man danach einfach das eigene Programm weiterlaufen lassen.
Man muss nur aufpassen, bei Programmen oder Bibliotheken, die ebenfalls den Timer1-Interrupt benutzen. Dann muss man auf einen anderen Timer-Interrupt ausweichen.

Hier mal als Fritzing-Platine:
[attachment=125]


Show ContentSourcecode:

Im Anhang (ZIP-Archiv) befindet sich der Sourcecode als Arduino-Sketch.