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

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
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 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.
  
int buzzer = 8 ;// setting controls the digital IO foot buzzer
+
<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 (buzzer, OUTPUT) ;// set the digital IO pin mode, OUTPUT out of Wen
+
   pinMode (Led, OUTPUT) ; // Initialisierung Ausgangspin
 +
  pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin
 +
  digitalWrite(Sensor, HIGH); // Aktivierung interner Pull-Up Widerstand
 
}
 
}
 +
 
void loop ()
 
void loop ()
 
{
 
{
   unsigned char i, j ;// define variables
+
   val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
   while (1)
+
 +
   if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
 
   {
 
   {
     for (i = 0; i <80; i++) // Wen a frequency sound
+
     digitalWrite (Led, LOW);
    {
+
  }
      digitalWrite (buzzer, HIGH) ;// send voice
+
  else
      delay (1) ;// Delay 1ms
+
  {
      digitalWrite (buzzer, LOW) ;// do not send voice
+
    digitalWrite (Led, HIGH);
      delay (1) ;// delay ms
+
    }
+
    for (i = 0; i <100; i++) // Wen Qie out another frequency sound
+
    {
+
      digitalWrite (buzzer, HIGH) ;// send voice
+
      delay (2) ;// delay 2ms
+
      digitalWrite (buzzer, LOW) ;// do not send voice
+
      delay (2) ;// delay 2ms
+
    }
+
 
   }
 
   }
 
}
 
}
 +
</pre>
 +
 +
'''Anschlussbelegung Arduino:'''
 +
 +
{| style="height: 58px; padding-left: 30px;" width="228"
 +
|-
 +
||LED +
 +
||=
 +
||[Pin 13]
 +
|-
 +
||LED -
 +
||=
 +
||[Pin GND]
 +
|-
 +
||Sensor Signal
 +
||=
 +
||[Pin 10]
 +
|-
 +
||Sensor +V
 +
||=
 +
||[Pin 5V]
 +
|-
 +
||Sensor -
 +
||=
 +
||[Pin GND]
 +
|}
 +
 +
'''Beispielprogramm Download'''
 +
 +
[[Medium:SensorTest_Arduino.zip|SensorTest_Arduino.zip]]
 +
 +
==Codebeispiel Raspberry Pi==
 +
Programmierbeispiel in der Programmiersprache Python
 +
 +
<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:SensorTest_RPi.zip|SensorTest_RPi.zip]]
 +
 +
Zu starten mit dem Befehl:
 +
 +
<pre class="brush:bash">sudo python SensorTest_RPi.py
 
</pre>
 
</pre>

Version vom 22. März 2016, 12:28 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 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.

int Led = 13 ;// Deklaration des LED-Ausgangspin
int Sensor = 10; // Deklaration des Sensor-Eingangspin
int val; // Temporaere Variable
 
void setup ()
{
  pinMode (Led, OUTPUT) ; // Initialisierung Ausgangspin
  pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin
  digitalWrite(Sensor, HIGH); // Aktivierung interner Pull-Up Widerstand
}
 
void loop ()
{
  val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
 
  if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
  {
    digitalWrite (Led, LOW);
  }
  else
  {
    digitalWrite (Led, HIGH);
  }
}

Anschlussbelegung Arduino:

LED + = [Pin 13]
LED - = [Pin GND]
Sensor Signal = [Pin 10]
Sensor +V = [Pin 5V]
Sensor - = [Pin GND]

Beispielprogramm Download

SensorTest_Arduino.zip

Codebeispiel Raspberry Pi

Programmierbeispiel in der Programmiersprache Python

# 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

SensorTest_RPi.zip

Zu starten mit dem Befehl:

sudo python SensorTest_RPi.py