» » X1 – 08.0 Pieper

X1 – 08.0 Pieper

eingetragen in: X1-lernkurs | 0

 

Pieper

In dieser Lektion wirst du dich mit dem Piezo oder auch Pieper beschäftigen. Mit dem Pieper kannst du Töne erzeugen, um beispielsweise ein Feedback zu bekommen. Du kannst auch ganze Melodien spielen, dies werden wir aber in einer gesonderten Lektion genauer erläutern. Der Pieper ist zwar ein analoges Bauteil, der Arduino bietet jedoch eine spezielle Funktion um Frequenzen abzuspielen. Dadurch sparst du dir unnötiges berechnen von Frequenzen in Schleifen.

Sound-Beispiel

Hier könnt ihr euch anhören, wie sich der Pieper anhört:

Code-Beispiel:

#define pieperPin 6

void setup() {
pinMode(pieperPin, OUTPUT);
}

void loop() {
pieperTest();
}

void pieperTest(){
tone(pieperPin, 1000); //An Pin 6 Ton von 1000Hz
delay(100); //100ms lang
noTone(pieperPin); //Ton aus
delay(100);

delay(1000);
}

 
 
 

Step 1

Um einen Ton abzuspielen, verwendest du den Befehl tone(). In die Klammer kommen dann mit einem Komma getrennt, der Pin, die Frequenz die du abspielen möchtest und wenn du möchtest noch die Länge des Tones. Du lässt die Länge aber aus der Klammer und nutzt satt dessen ein delay. Das vereinfacht dir eine LED genau so lange an zu lassen, wie ein Ton spielt.

 

 

 

void pieperTest(){
  tone(pieperPin, 1000);

  delay(100);

  ...
}

 

 

 

 
 
 

Step 2

Wenn du keine Länge für den tone() Befehl nutzt, musst du den Ton noch nach dem delay ausschalten. Dies machst du mit dem Befehl noTone(). Davor fügst du noch ein delay ein damit der Ton eine kurze Zeit bleibt. Vor allem wenn du den Pieper testen möchtest, denn sonst spielt er durchgängig.

 

 

 

void pieperTest(){
  ...
  noTone(pieperPin);

  delay(1000);
}

 

 

 

 
 
 

Step 3

Da der Pieper Analog ist kannst du ihn auch mit analogWrite ansprechen.

Versuche einmal die Befehle auszutauschen um den unterschied zu hören.

 

 

 

void pieperTest(){
  ...

  analogWrite(pieperPin, 1000);
  delay(100);

  ...
}

 

 

 

 
 
 

Step 4

Auch hier musst du natürlich dem Ausgang noch sagen, dass er aufhören soll ein Signal auf den Pin zu senden. Der analoge Ausgang schaltet sich wie ein digitaler Ausgang mit 0 aus.

 

 

 

void pieperTest(){
  ...
  analogWrite(pieperPin, 0);
  delay(3000);
}

 

 

 

 

Fazit

Was du in dieser Lektion gesehen hast, ist, dass sich einige Bauteile mit verschiedenen Befehlen ansprechen lassen. Du kannst den Pieper sogar mit digitalWrite ansprechen. Das ist aber noch viel komplexer. Genau hier zeigt der Arduino seine Stärken, da er für viele Anwendungen einen einfachen Befehl besitzt.
In der nächsten Lektion bleibst du erst mal auf der analogen Seite und beschäftigst dich mit dem Lichtsensor.

 
 
 

Bitte hinterlasse eine Antwort