LK-Buzzer: Unterschied zwischen den Versionen

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Codebeispiel für Raspberry)
(Codebeispiel für Raspberry)
 
Zeile 76: Zeile 76:
 
GPIO.setup(buz, GPIO.OUT)
 
GPIO.setup(buz, GPIO.OUT)
  
#Die Tonhöhe kann mit Variation der Wartezeit (sleep) verändert werden
+
#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

Bild

LK-Buzzer.jpg

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.

Spezifikation

Maße: 25,0 × 25,0 × 10,6mm
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