Arduino Nano - Schallsensor

Der Schallsensor kann die Anwesenheit von Schall in seiner Umgebung erkennen. Er kann verwendet werden, um Projekte zu erstellen, die auf Schall reagieren, wie Lichter, die durch ein Klatschen aktiviert werden, oder ein Tierfutterautomat, der auf Geräusche reagiert.

Dieses Tutorial zeigt dir, wie du den Arduino Nano und einen Schallsensor verwendest, um Geräusche zu erkennen. Wir werden untersuchen:

Arduino Nano Schallsensor

Anschließend haben Sie die Flexibilität, den Code so zu modifizieren, dass eine LED oder ein Lichtsignal (über ein Relais) bei Geräuscherkennung ausgelöst wird, oder sogar die Drehung eines Servomotors zu ermöglichen.

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×Digitaler Schallsensor
1×Analoger Schallsensor
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über den Schallsensor

Der Schallsensor kann verwendet werden, um Schall in der umliegenden Umgebung zu erkennen. Es gibt zwei Arten von Schalldetektormodulen:

  • Digitales Schallsensor-Modul: gibt den digitalen Signalwert (AN/AUS) aus
  • Analoges Schallsensor-Modul: gibt sowohl analoge als auch digitale Signalwerte aus

Die Empfindlichkeit des digitalen Ausgangs kann mithilfe eines eingebauten Potentiometers eingestellt werden.

Die Pinbelegung des digitalen Schallsensors

Der Schallsensor enthält drei Anschlüsse:

  • VCC-Pin: muss mit VCC verbunden werden (3,3 V bis 5 V)
  • GND-Pin: muss mit GND verbunden werden (0 V)
  • OUT-Pin: ist ein Ausgabepin: HIGH, wenn kein Ton vorhanden ist, und LOW, wenn ein Ton erkannt wird. Dieser Pin muss mit dem Eingangspin des Arduino Nano verbunden werden.
Schallsensor-Pinbelegung
image source: diyables.io

Der Schallsensor verfügt über ein praktisches, integriertes Potentiometer, mit dem Sie seine Empfindlichkeit ganz einfach einstellen können. Außerdem verfügt er über zwei LED-Anzeigen:

  • Eine LED zeigt den Stromstatus an.
  • Die andere LED zeigt den Tonstatus an: Sie leuchtet, wenn Ton vorhanden ist, und erlischt, wenn kein Ton vorhanden ist.

Die Pinbelegung des analogen Schallsensors

Der analoge Schallsensor enthält vier Anschlüsse:

  • + Pin: muss mit 5V verbunden werden
  • G-Pin: muss mit GND (0V) verbunden werden
  • DO-Pin: ist ein digitaler Ausgangspin: HIGH, wenn ruhig, und LOW, wenn Geräusch erkannt wird. Dieser Pin muss mit dem digitalen Eingangspin des Arduino Nano verbunden werden.
  • AO-Pin: ist ein analoger Ausgangspin: gibt den gemessenen Schallpegel als analogen Wert aus. Dieser Pin muss mit dem analogen Eingangspin des Arduino Nano verbunden werden.
Pinbelegung eines analogen Schallsensors
image source: diyables.io

Wie es funktioniert

Das Schallsensor-Modul verfügt über ein praktisches integriertes Potentiometer, mit dem Sie die Empfindlichkeit gegenüber Geräuschen einstellen können. So verhält sich der Ausgangspin des Sensors:

  • Wenn Schall erkannt wird, wird der Ausgangspin auf LOW gesetzt.
  • Wenn kein Schall erkannt wird, wird der Ausgangspin auf HIGH gesetzt.

Verdrahtungsdiagramm

Arduino Nano Geräuschsensor-Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Wie programmiert man einen Schallsensor?

  • Initialisiert den Pin des Arduino Nano in den digitalen Eingabemodus durch die Verwendung der pinMode() Funktion. Zum Beispiel Pin D2
pinMode(2, INPUT);
  • Liest den Zustand des Arduino Nano-Pins mithilfe der Funktion digitalRead().
int soundState = digitalRead(2);

Arduino Nano Code - Das Geräusch erkennen

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-sound-sensor */ #define SENSOR_PIN 2 // The Arduino Nano pin D2 connected to the OUT pin of the sound sensor int prev_state = HIGH; // The previous state from the input pin int sound_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the Arduino Nano's input pin sound_state = digitalRead(SENSOR_PIN); if (prev_state == HIGH && sound_state == LOW) Serial.println("The sound has been detected"); else if (prev_state == LOW && sound_state == HIGH) Serial.println("The sound has disappeared"); // save the the last state prev_state = sound_state; }

Schnelle Schritte

  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
  • Klicken Sie auf die Upload-Schaltfläche in der Arduino IDE, um den Code auf den Arduino Nano hochzuladen
  • Klatschen Sie vor dem Schallsensor in die Hände
  • Prüfen Sie das Ergebnis im Serial Monitor
COM6
Send
The sound has been detected The sound has disappeared The sound has been detected The sound has disappeared
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Wenn Ihnen auffällt, dass die LED ständig ein- oder ausgeschaltet bleibt, auch wenn Geräusche vorhanden sind, können Sie das Potentiometer einstellen, um die Empfindlichkeit des Sensors für Geräusche fein abzustimmen.

Jetzt haben wir die Flexibilität, den Code zu personalisieren und ihn so auszulösen, dass eine LED oder eine Leuchte aktiviert wird, wenn Geräusche erkannt werden. Wir können sogar einen Servomotor rotieren lassen. Für detailliertere Informationen und Schritt-für-Schritt-Anleitungen beachten Sie bitte die am Ende dieses Leitfadens bereitgestellten Tutorials.

Fehlerbehebung

Wenn der Schallsensor nicht ordnungsgemäß funktioniert, können Sie diese Schritte zur Fehlerbehebung befolgen:

  • Vibrationen reduzieren: Der Schallsensor ist empfindlich gegenüber mechanischen Vibrationen und Windrauschen. Um diese Störungen zu minimieren, versuchen Sie, den Schallsensor auf einer stabilen Oberfläche zu montieren.
  • Den Erfassungsbereich beachten: Beachten Sie, dass dieser Schallsensor einen begrenzten Erfassungsbereich von ungefähr 10 Zoll hat. Für genaue Messwerte stellen Sie sicher, dass die Schallquelle näher am Sensor liegt.
  • Stromversorgung überprüfen: Stellen Sie sicher, dass die Stromversorgung sauber und frei von Störgeräuschen ist. Der Schallsensor, da er ein analoger Schaltkreis ist, ist empfindlich gegenüber Störungen der Stromversorgung.

Indem Sie diese Schritte befolgen, können Sie häufige Probleme beheben und die Leistung des Schallsensors verbessern.

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.

Funktionsreferenzen

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!