LK-Buzzer: Unterschied zwischen den Versionen
Aus Linkerkit.de
(→Codebeispiel für Raspberry) |
(→Codebeispiel für Raspberry) |
||
Zeile 76: | Zeile 76: | ||
GPIO.setup(buz, GPIO.OUT) | GPIO.setup(buz, GPIO.OUT) | ||
− | #Die | + | #Die Tonhoehe kann mit Variation der Wartezeit (sleep) veraendert werden |
while True: | while True: | ||
GPIO.output(buz, True) | GPIO.output(buz, True) |
Aktuelle Version vom 9. November 2016, 17:05 Uhr
Inhaltsverzeichnis
Bild
Technische Daten / Kurzbeschreibung
Linker Kit Platine mit einem Buzzer.
Dieser Buzzer kann an Digitale Ausgänge angeschlossen werden, um einen Ton zu erzeugen. Alternativ kann es an einem Analogen Impulsbreitenmodulationsausgang angeschlossen werden um unterschiedliche Töne und Effekte zu erzeugen.
Dieser Buzzer kann an Digitale Ausgänge angeschlossen werden, um einen Ton zu erzeugen. Alternativ kann es an einem Analogen Impulsbreitenmodulationsausgang angeschlossen werden um unterschiedliche Töne und Effekte zu erzeugen.
Spezifikation
Maße: 25,0 × 25,0 × 10,6mm
Gewicht: 3g
Betriebsspannung: 4-8V
Lautstärke: ≥85dB
Resonanzfrequenz: 2300±300Hz
Gewicht: 3g
Betriebsspannung: 4-8V
Lautstärke: ≥85dB
Resonanzfrequenz: 2300±300Hz
Codebeispiel Arduino
int speakerPin = 9; int length = 15; // Anzahl der Noten char notes[] = "ccggaagffeeddc "; int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 }; int tempo = 300; void playTone(int tone, int duration) { for (long i = 0; i < duration * 1000L; i += tone * 2) { digitalWrite(speakerPin, HIGH); delayMicroseconds(tone); digitalWrite(speakerPin, LOW); delayMicroseconds(tone); } } void playNote(char note, int duration) { char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' }; int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 }; // zum abspielen der Noten benötigen // Sie die Notennamen for (int i = 0; i < 8; i++) { if (names[i] == note) { playTone(tones[i], duration); } } } void setup() { pinMode(speakerPin, OUTPUT); pinMode(11, OUTPUT); digitalWrite(11, LOW); } void loop() { for (int i = 0; i < length; i++) { if (notes[i] == ' ') { delay(beats[i] * tempo); } else { playNote(notes[i], beats[i] * tempo); } // Eine Pause zwischen den Noten delay(tempo / 2); } }
Codebeispiel für Raspberry
import RPi.GPIO as GPIO from time import sleep buz = 15 GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(buz, GPIO.OUT) #Die Tonhoehe kann mit Variation der Wartezeit (sleep) veraendert werden while True: GPIO.output(buz, True) sleep(0.0005) GPIO.output(buz, False) sleep(0.0005)
Download
Infos: 001267837-da-01-en-LINKER_KIT_PLATINE_MIT_BUZZER.pdf
Schaltung: 001267837-sp-01-en-LINKER_KIT_PLATINE_MIT_BUZZER.pdf