» » X1 – 08.0 Pieper

X1 – 08.0 Pieper

eingetragen in: X1 | 0

 

Pieper

In dieser Lektion werden wir uns mit dem Piezo oder auch Pieper beschäftigen. Mit dem Pieper können wir Töne erzeugen um beispielsweise ein Feedback zu bekommen. Wir können auch ganze Melodien spielen, dies werden wir aber in einer gesonderten Lektion genauer beleuchten.
Der Pieper ist zwar ein analoges Bauteil, der Arduino bietet jedoch eine spezielle Funktion um Frequenzen abzuspielen. Dadurch sparen wir uns 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);
}

 

 

 

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

  delay(100);

  ...
}

 

 

 

 
 
 

Step 1

Um einen Ton abzuspielen verwenden wir den Befehl tone(). In die Klammer kommen dann mit einem Komma getrennt, der Pin, die Frequenz die wir abspielen möchten und wenn man möchte noch die Länge des Tones. Wir lassen die Länge aber aus der Klammer und nutzen stattdessen ein delay. Das vereinfacht uns beispielsweise eine LED genau so lange an zu lassen wie ein Ton spielt.

 

 

 

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

  delay(1000);
}

 

 

 

 
 
 

Step 2

Wenn wir keine Länge für den tone() Befehl nutzen müssen wir den Ton noch nach dem delay ausschalten. Dies machen wir mit dem Befehl noTone. Danach fügen wir noch ein delay ein damit der Ton eine kurze Zeit aus bleibt, vor allem wenn wir den Pieper testen wollen, spielt er sonst durchgängig.

 

 

 

void pieperTest(){
  ...

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

  ...
}

 

 

 

 
 
 

Step 3

Da der Pieper Analog ist können wir ihn auch mit analogWrite ansprechen. Das klingt aber nicht so schön wie mit dem tone Befehl. Versuche einmal die Befehle auszutauschen um den unterschied zu hören.

 

 

 

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

 

 

 

 
 
 

Step 4

Auch hier müssen wir natürlich dem Ausgang noch sagen dass er aufhören soll einen Signal auf den Pin zu senden. Der Analoge Ausgang schaltet sich wie ein Digitaler Ausgang mit 0 aus.

 

Fazit

Was wir in dieser Lektion gesehen haben ist, dass sich einige Bauteile mit verschiedenen Befehlen ansprechen lassen. Wir können sogar mit digitalWrite den Pieper 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 bleiben wir erst einmal auf der Analogen Seite und beschäftigen uns mit dem Lichtsensor. Also ein Analoger Eingang.
 
 
 

Bitte hinterlasse eine Antwort