Arduino - Sound Sensor - Relay
In this tutorial, we'll explore how to utilize the sound sensor to control relay. Specifically, we'll delve into two exciting applications:
- Sound switch: When sound is detected (e.g knock), the Arduino toggles the relay, turning it on if it's off, and off if it's on.
- Sound-activated relay: Upon detecting sound, the Arduino turns on the relay for a specific period of time.
By connecting relay to light bulb, led strip, motor or actuator... We can use the sound sensor to control light bulb, led strip, motor or actuator...
Hardware Required
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Additionally, some links direct to products from our own brand, DIYables.
About Relay and Sound Sensor
If you do not know about relay and sound sensor (pinout, how it works, how to program ...), learn about them in the following tutorials:
Wiring Diagram
This image is created using Fritzing. Click to enlarge image
Arduino Code - Sound Switch toggles Relay
The below code toggles the state of relay each time the sound is detected.
Quick Steps
- Connect Arduino to PC via USB cable
- Open Arduino IDE, select the right board and port
- Copy the above code and open with Arduino IDE
- Click Upload button on Arduino IDE to upload code to Arduino
- Clap your hand in front of the sound sensor
- See the change of the relay's state
Code Explanation
Read the line-by-line explanation in comment lines of source code!
Arduino Code - Sound-activated Relay for a period of time
The below code turns on the relay for a period of time when the sound is detected. After the period of time, the relay is turned off.
Please take note that the code mentioned above utilizes the delay() function for simplicity. However, if you incorporate additional code, it may get blocked during the delay time. To address this, the following code implements a non-blocking approach using the ezLED library. Behind the scenes, the ezLED library employs the millis() function instead of delay to prevent blocking.
Quick Steps
- Connect Arduino to PC via USB cable
- Open Arduino IDE, select the right board and port
- Navigate to the Libraries icon on the left bar of the Arduino IDE.
- Search “ezLED”, then find the led library by ArduinoGetStarted
- Click Install button to install ezLED library.
- Copy the above code and open with Arduino IDE
- Click Upload button on Arduino IDE to upload code to Arduino
- Clap your hand in front of the sound sensor
- See the change of the relay's state
Video Tutorial
We are considering to make the video tutorials. If you think the video tutorials are essential, please subscribe to our YouTube channel to give us motivation for making the videos.