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

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Codebeispiel Raspberry Pi)
 
(3 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 11: Zeile 11:
  
 
==Codebeispiel Arduino==
 
==Codebeispiel Arduino==
Hier bei handelt es sich um ein Beispielprogramm, welches eine LED zum Leuchten bringt, wenn am Sensor ein Signal detektiert wurde. Als LED können z.B. auch unter anderem die Module KY-011, KY-016 oder KY-029 verwendet werden.
+
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
  
<pre class="brush:cpp">int Led = 13 ;// Deklaration des LED-Ausgangspin
 
int Sensor = 10; // Deklaration des Sensor-Eingangspin
 
int val; // Temporaere Variable
 
 
 
void setup ()
 
void setup ()
 
{
 
{
   pinMode (Led, OUTPUT) ; // Initialisierung Ausgangspin
+
   pinMode (buzzer, OUTPUT) ;// Initialisierung als Ausgangspin
  pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin
+
  digitalWrite(Sensor, HIGH); // Aktivierung interner Pull-Up Widerstand
+
 
}
 
}
+
 
 +
 
 
void loop ()
 
void loop ()
 
{
 
{
   val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
+
   unsigned char i;
+
   while (1)
   if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
+
 
   {
 
   {
     digitalWrite (Led, LOW);
+
     // In diesem Programm wird der Buzzer abwechselnd mit zwei verschiedenen Frequenzen angesteuert
  }
+
    // Das Signal hierbei besteht aus einer Rechteckspannung.
  else
+
    // 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
     digitalWrite (Led, HIGH);
+
   
 +
    //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) ;
 +
    }
 
   }
 
   }
 
}
 
}
Zeile 42: Zeile 54:
  
 
{| style="height: 58px; padding-left: 30px;" width="228"
 
{| style="height: 58px; padding-left: 30px;" width="228"
|-
 
||LED +
 
||=
 
||[Pin 13]
 
|-
 
||LED -
 
||=
 
||[Pin GND]
 
 
|-
 
|-
 
||Sensor Signal
 
||Sensor Signal
 
||=
 
||=
||[Pin 10]
+
||[Pin 8]
|-
+
||Sensor +V
+
||=
+
||[Pin 5V]
+
 
|-
 
|-
 
||Sensor -
 
||Sensor -
Zeile 66: Zeile 66:
 
'''Beispielprogramm Download'''
 
'''Beispielprogramm Download'''
  
[[Medium:SensorTest_Arduino.zip|SensorTest_Arduino.zip]]
+
[[Medium:KY-006_Buzzer.zip|KY-006_Buzzer.zip]]
  
 
==Codebeispiel Raspberry Pi==
 
==Codebeispiel Raspberry Pi==
 
Programmierbeispiel in der Programmiersprache Python
 
Programmierbeispiel in der Programmiersprache Python
  
<pre class="brush:py">
+
Das Beispielprogramm nutzt Software-PWM, um am Ausgangspin eine Rechteckspannung mit definierbarer Frequenz zu erstellen. 
# Benoetigte Module werden importiert und eingerichtet
+
 
 +
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
 
import RPi.GPIO as GPIO
 
GPIO.setmode(GPIO.BCM)
 
GPIO.setmode(GPIO.BCM)
Zeile 121: Zeile 124:
 
'''Beispielprogramm Download'''
 
'''Beispielprogramm Download'''
  
[[Medium:SensorTest_RPi.zip|SensorTest_RPi.zip]]
+
[[Medium:KY-006-RPI_PWM.zip|KY-006-RPI_PWM.zip]]
  
 
Zu starten mit dem Befehl:
 
Zu starten mit dem Befehl:
  
<pre class="brush:bash">sudo python SensorTest_RPi.py
+
<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