KY-006 Passives Piezo-Buzzer Modul: Unterschied zwischen den Versionen

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Codebeispiel Raspberry Pi)
 
(4 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 11: Zeile 11:
  
 
==Codebeispiel Arduino==
 
==Codebeispiel Arduino==
<pre class="brush:cpp">//Example Code for KY-006
+
Hier bei handelt es sich um ein Beispielprogramm, welches am Buzzer ein Alarmsignal mittels einer Rechteckspannung erzeugt.
 +
 
 +
<pre class="brush:cpp">int buzzer = 8 ; // Deklaration des Buzzer-Ausgangspin
  
int buzzer = 8 ;// setting controls the digital IO foot buzzer
 
 
void setup ()
 
void setup ()
 
{
 
{
   pinMode (buzzer, OUTPUT) ;// set the digital IO pin mode, OUTPUT out of Wen
+
   pinMode (buzzer, OUTPUT) ;// Initialisierung als Ausgangspin
 
}
 
}
 +
 +
 
void loop ()
 
void loop ()
 
{
 
{
   unsigned char i, j ;// define variables
+
   unsigned char i;
 
   while (1)
 
   while (1)
 
   {
 
   {
     for (i = 0; i <80; i++) // Wen a frequency sound
+
    // In diesem Programm wird der Buzzer abwechselnd mit zwei verschiedenen Frequenzen angesteuert
 +
    // Das Signal hierbei besteht aus einer Rechteckspannung.
 +
    // Das an- und ausmachen am Buzzer generiert dann einen Ton, der in etwa der Frequenz entspricht.
 +
    // Die Frequenz definiert sich dadurch, wie lang jeweils die An- und Ausphase sind
 +
   
 +
    //Frequenz 1
 +
     for (i = 0; i <80; i++)  
 
     {
 
     {
       digitalWrite (buzzer, HIGH) ;// send voice
+
       digitalWrite (buzzer, HIGH) ;
       delay (1) ;// Delay 1ms
+
       delay (1) ;
       digitalWrite (buzzer, LOW) ;// do not send voice
+
       digitalWrite (buzzer, LOW) ;
       delay (1) ;// delay ms
+
       delay (1) ;
 
     }
 
     }
     for (i = 0; i <100; i++) // Wen Qie out another frequency sound
+
    //Frequenz 2
 +
     for (i = 0; i <100; i++)  
 
     {
 
     {
       digitalWrite (buzzer, HIGH) ;// send voice
+
       digitalWrite (buzzer, HIGH) ;
       delay (2) ;// delay 2ms
+
       delay (2) ;
       digitalWrite (buzzer, LOW) ;// do not send voice
+
       digitalWrite (buzzer, LOW) ;
       delay (2) ;// delay 2ms
+
       delay (2) ;
 
     }
 
     }
 
   }
 
   }
 
}
 
}
 +
</pre>
 +
 +
'''Anschlussbelegung Arduino:'''
 +
 +
{| style="height: 58px; padding-left: 30px;" width="228"
 +
|-
 +
||Sensor Signal
 +
||=
 +
||[Pin 8]
 +
|-
 +
||Sensor -
 +
||=
 +
||[Pin GND]
 +
|}
 +
 +
'''Beispielprogramm Download'''
 +
 +
[[Medium:KY-006_Buzzer.zip|KY-006_Buzzer.zip]]
 +
 +
==Codebeispiel Raspberry Pi==
 +
Programmierbeispiel in der Programmiersprache Python
 +
 +
Das Beispielprogramm nutzt Software-PWM, um am Ausgangspin eine Rechteckspannung mit definierbarer Frequenz zu erstellen. 
 +
 +
Durch das An- und Ausschalten wird am Buzzer ein Ton erzeugt, der in etwa der Frequenz der Rechteckspannung entspricht.
 +
 +
<pre class="brush:py"># Benoetigte Module werden importiert und eingerichtet
 +
import RPi.GPIO as GPIO
 +
GPIO.setmode(GPIO.BCM)
 +
 +
 +
# Hier wird der Ausgangs-Pin deklariert, an dem der Buzzer angeschlossen ist.
 +
GPIO_PIN = 24
 +
GPIO.setup(GPIO_PIN, GPIO.OUT)
 +
 +
# Das Software-PWM Modul wird initialisiert - hierbei wird die Frequenz 500Hz als Startwert genommen
 +
Frequenz = 500 #In Hertz
 +
pwm = GPIO.PWM(GPIO_PIN, Frequenz)
 +
pwm.start(50)
 +
 +
# Das Programm wartet auf die Eingabe einer neuen PWM-Frequenz vom Benutzer.
 +
# Bis dahin wird der Buzzer mit der vorher eingegebenen Freuqenz betrieben (Startwert 500Hz)
 +
try:
 +
while(True):
 +
print "----------------------------------------"
 +
print "Aktuelle Frequenz: %d" % Frequenz
 +
Frequenz = input("Bitte neue Frequenz eingeben (50-5000):")
 +
pwm.ChangeFrequency(Frequenz)
 +
 +
# Aufraeumarbeiten nachdem das Programm beendet wurde
 +
except KeyboardInterrupt:
 +
GPIO.cleanup()
 +
 +
</pre>
 +
'''Anschlussbelegung Raspberry Pi:'''
 +
 +
{| style="height: 58px; padding-left: 30px;" width="228"
 +
|-
 +
||Signal
 +
||=
 +
||GPIO24
 +
||[Pin 18]
 +
|-
 +
||+V
 +
||=
 +
||3,3V
 +
||[Pin 1]
 +
|-
 +
||GND
 +
||=
 +
||Masse
 +
||[Pin 6]
 +
|}
 +
'''Beispielprogramm Download'''
 +
 +
[[Medium:KY-006-RPI_PWM.zip|KY-006-RPI_PWM.zip]]
 +
 +
Zu starten mit dem Befehl:
 +
 +
<pre class="brush:bash">sudo python KY-006-RPI_PWM.py
 
</pre>
 
</pre>

Aktuelle Version vom 22. März 2016, 14:21 Uhr

Bild

ky-006.jpg

Technische Daten / Kurzbeschreibung

Mit PWM-Signalen verschiedener Frequenzen angesteuert, können mit dem passiven Piezo-Buzzer verschiedene Töne erzeugt werden.


Pin-Belegung

3 G V S.png

Codebeispiel Arduino

Hier bei handelt es sich um ein Beispielprogramm, welches am Buzzer ein Alarmsignal mittels einer Rechteckspannung erzeugt.

int buzzer = 8 ; // Deklaration des Buzzer-Ausgangspin

void setup ()
{
  pinMode (buzzer, OUTPUT) ;// Initialisierung als Ausgangspin
}


void loop ()
{
  unsigned char i;
  while (1)
  {
    // In diesem Programm wird der Buzzer abwechselnd mit zwei verschiedenen Frequenzen angesteuert
    // Das Signal hierbei besteht aus einer Rechteckspannung.
    // Das an- und ausmachen am Buzzer generiert dann einen Ton, der in etwa der Frequenz entspricht.
    // Die Frequenz definiert sich dadurch, wie lang jeweils die An- und Ausphase sind
    
    //Frequenz 1
    for (i = 0; i <80; i++) 
    {
      digitalWrite (buzzer, HIGH) ;
      delay (1) ;
      digitalWrite (buzzer, LOW) ;
      delay (1) ;
    }
    //Frequenz 2
    for (i = 0; i <100; i++) 
    {
      digitalWrite (buzzer, HIGH) ;
      delay (2) ;
      digitalWrite (buzzer, LOW) ;
      delay (2) ;
    }
  }
}

Anschlussbelegung Arduino:

Sensor Signal = [Pin 8]
Sensor - = [Pin GND]

Beispielprogramm Download

KY-006_Buzzer.zip

Codebeispiel Raspberry Pi

Programmierbeispiel in der Programmiersprache Python

Das Beispielprogramm nutzt Software-PWM, um am Ausgangspin eine Rechteckspannung mit definierbarer Frequenz zu erstellen. 

Durch das An- und Ausschalten wird am Buzzer ein Ton erzeugt, der in etwa der Frequenz der Rechteckspannung entspricht.

# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)


# Hier wird der Ausgangs-Pin deklariert, an dem der Buzzer angeschlossen ist. 
GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.OUT)

# Das Software-PWM Modul wird initialisiert - hierbei wird die Frequenz 500Hz als Startwert genommen 
Frequenz = 500 #In Hertz
pwm = GPIO.PWM(GPIO_PIN, Frequenz)
pwm.start(50)

# Das Programm wartet auf die Eingabe einer neuen PWM-Frequenz vom Benutzer.
# Bis dahin wird der Buzzer mit der vorher eingegebenen Freuqenz betrieben (Startwert 500Hz)
try:
	while(True):
		print "----------------------------------------"
		print "Aktuelle Frequenz: %d" % Frequenz
		Frequenz = input("Bitte neue Frequenz eingeben (50-5000):")
		pwm.ChangeFrequency(Frequenz)
		
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
	GPIO.cleanup()

Anschlussbelegung Raspberry Pi:

Signal = GPIO24 [Pin 18]
+V = 3,3V [Pin 1]
GND = Masse [Pin 6]

Beispielprogramm Download

KY-006-RPI_PWM.zip

Zu starten mit dem Befehl:

sudo python KY-006-RPI_PWM.py