Arduino - Geluidssensor

De geluidssensor kan de aanwezigheid van geluid in de omgeving detecteren. Hij kan worden gebruikt voor geluid-gestuurde projecten, zoals met klappen bediende verlichting of een geluid-gestuurde voerautomaat voor huisdieren.

In deze handleiding gaan we leren hoe u met Arduino en een geluidssensor geluid kunt detecteren. Gedetailleerd leert u:

Arduino sound sensor

Daarna kunt u de code aanpassen om bijvoorbeeld een LED of een lamp (via een relais) te activeren wanneer geluid wordt gedetecteerd, of zelfs een servomotor te laten draaien.

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×Digitale Geluidssensor
1×Analoge Geluidssensor
1×Jumperdraden
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de Geluidssensor

De geluidssensor kan gebruikt worden om de aanwezigheid van geluid in de omgeving te detecteren. Er bestaan twee typen geluidssensormodules:

  • Digitale geluidssensormodule: geeft een digitale signaalwaarde (AAN/UIT)
  • Analoge geluidssensormodule: geeft zowel analoge als digitale signaalwaarden

De gevoeligheid van de digitale uitgang kan worden aangepast met een ingebouwde potentiometer.

Pinout van de Digitale Geluidssensor

De digitale geluidssensor heeft drie pinnen:

  • VCC pin: moet verbonden worden met VCC (3,3 V tot 5 V)
  • GND pin: moet verbonden worden met GND (0 V)
  • OUT pin: is een uitgangspin: HIGH (hoog) als het stil is en LOW (laag) als geluid wordt gedetecteerd. Deze pin moet worden aangesloten op een ingangspin van de Arduino.
Sound Sensor Pinout
image source: diyables.io

De geluidssensor heeft ook een ingebouwde potentiometer waarmee u de gevoeligheid kunt instellen. Verder heeft het twee LED-indicatoren:

  • Eén LED-indicator voor voeding
  • Eén LED-indicator voor de geluidstoestand: aan wanneer geluid aanwezig is, uit wanneer het stil is

Pinout van de Analoge Geluidssensor

De analoge geluidssensor heeft vier pinnen:

  • + pin: moet worden aangesloten op 5V
  • G pin: moet worden aangesloten op GND (0V)
  • DO pin: digitale uitgangspin: HIGH als het stil is en LOW als geluid wordt gedetecteerd. Deze pin moet worden aangesloten op een digitale ingangspin op Arduino.
  • AO pin: analoge uitgangspin: geeft de analoge waarde die het geluidsniveau aangeeft. Deze pin moet worden aangesloten op een analoge ingangspin van Arduino.
analog sound sensor Pinout
image source: diyables.io

De analoge geluidssensor beschikt over een handige ingebouwde potentiometer waarmee u eenvoudig de gevoeligheid van de digitale uitgang kunt instellen. Bovendien heeft hij twee LED-indicatoren:

  • Eén LED voor de status van de voeding
  • Eén LED die de geluidstoestand aangeeft: aan wanneer geluid wordt gedetecteerd, uit wanneer het stil is

Hoe Het Werkt

De module heeft een ingebouwde potentiometer om de geluidsgevoeligheid te regelen.

  • Wanneer er geluid wordt gedetecteerd, is de uitgangspin van de sensor LOW
  • Wanneer er géén geluid wordt gedetecteerd, is de uitgangspin van de sensor HIGH

Bedradingsschema

Arduino Sound Sensor Wiring Diagram

This image is created using Fritzing. Click to enlarge image

De daadwerkelijke bedrading:

Arduino Sound Sensor connection

Programmering voor de Geluidssensor

  • Initialiseer de Arduino-pin naar digitale ingang met behulp van de pinMode() functie. Bijvoorbeeld pin 5
pinMode(5, INPUT);
  • Lees de status van de Arduino-pin met behulp van de digitalRead() functie.
int soundState = digitalRead(5);

Arduino Code - Geluid Detecteren

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-sound-sensor */ // Arduino's pin connected to OUT pin of the sound sensor #define SENSOR_PIN 5 int lastState = HIGH; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: currentState = digitalRead(SENSOR_PIN); if (lastState == HIGH && currentState == LOW) Serial.println("The sound has been detected"); else if (lastState == LOW && currentState == HIGH) Serial.println("The sound has disappeared"); // save the the last state lastState = currentState; }

Snelle Stappen

  • Kopieer bovenstaande code en open deze in de Arduino IDE
  • Klik op de Upload knop in Arduino IDE om de code naar Arduino te uploaden
  • Klap in uw handen voor de geluidssensor
  • Bekijk het resultaat in de Seriële 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  

Houd er rekening mee dat als u merkt dat de LED-status continu aan of uit blijft, ook wanneer er geluid is, u de potentiometer kunt afstellen om de geluidsgevoeligheid van de sensor te verfijnen.

Nu kunnen we de code aanpassen om een LED of een licht te activeren wanneer geluid wordt gedetecteerd, of zelfs een servomotor te laten draaien. Meer informatie en stapsgewijze instructies vindt u in de tutorials die aan het einde van deze handleiding worden genoemd.

Problemen Oplossen

Als de geluidssensor niet goed werkt, probeer dan het volgende:

  • Verminder trillingen: De geluidssensor is ook gevoelig voor mechanische trillingen en windgeluid. Bevestig de sensor op een stevige ondergrond om deze trillingen te minimaliseren.
  • Houd rekening met het meetbereik: Deze geluidssensor heeft een korte detectieafstand van ongeveer 25 cm. Om nauwkeurige metingen te krijgen, moet het geluid dichtbij de sensor zijn.
  • Controleer de voeding: Zorg voor een stabiele voeding, omdat de geluidssensor gevoelig is voor ruis op de voedingslijn door het analoge circuit.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten voor het aansluiten en programmeren van de geluidssensor met Arduino.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!