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

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Codebeispiel Raspberry Pi)
(Codebeispiel Arduino)
Zeile 13: Zeile 13:
 
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 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.
  
<pre class="brush:cpp">int Led = 13 ;// Deklaration des LED-Ausgangspin
+
<pre class="brush:cpp">
int Sensor = 10; // Deklaration des Sensor-Eingangspin
+
int buzzer = 8 ; // Deklaration des Buzzer-Ausgangspin
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 55:
  
 
{| 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 -

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

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

KY-006-RPI_PWM.zip

Zu starten mit dem Befehl:

sudo python KY-006-RPI_PWM.py