Arduino - Schallsensor - Servomotor
In diesem Tutorial werden wir untersuchen, wie man den Schallsensor verwendet, um einen Servomotor zu steuern. Insbesondere befassen wir uns mit zwei spannenden Anwendungen:
- Soundschalter: Wenn ein Geräusch erkannt wird (z. B. Klopfen), dreht der Arduino den Servomotor auf 90 Grad, wenn er sich in 0 Grad befindet, und auf 0 Grad, wenn er sich in 90 Grad befindet.
- Schallgesteuertes Relais: Bei Erkennung eines Tons dreht der Arduino den Servomotor für eine bestimmte Zeit auf 90 Grad und dreht danach wieder auf 0 Grad zurück.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Servomotor und Schallsensor
Wenn du nichts über Servomotoren und Schallsensoren (Pinbelegung, Funktionsweise, Programmierung usw.) weißt, lerne in den folgenden Tutorials mehr darüber:
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino-Code - Sound-Schalter schaltet den Winkel des Servomotors um
Der untenstehende Code schaltet den Winkel des Servomotors zwischen 0° und 90° um, jedes Mal, wenn ein Geräusch erkannt wird.
Schnelle Schritte
- Verbinde Arduino über ein USB-Kabel mit dem PC.
- Öffne die Arduino-IDE, wähle das richtige Board und den richtigen Port.
- Kopiere den oben gezeigten Code und öffne ihn in der Arduino-IDE.
- Klicke in der Arduino-IDE auf die Schaltfläche Hochladen, um den Code auf den Arduino hochzuladen.
- Klatsche mit deiner Hand vor dem Schallsensor.
- Beobachte die Veränderung am Servomotor.
Arduino-Code – schallaktivierter Servomotor für eine bestimmte Zeit
Der unten stehende Code dreht den Servomotor für eine bestimmte Zeit auf 90 Grad, wenn ein Ton erkannt wird. Nach Ablauf dieser Zeit wird der Servomotor wieder auf 0 Grad gedreht.
Bitte beachten Sie, dass der oben erwähnte Code aus Gründen der Einfachheit die delay()-Funktion verwendet. Wenn Sie jedoch zusätzlichen Code einbinden, kann dieser während der Verzögerung blockiert werden. Um dies zu beheben, implementiert der folgende Code einen nicht-blockierenden Ansatz, der die millis()-Funktion statt delay verwendet, um eine Blockierung zu verhindern.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.