ESP8266 - Motion Sensor - Piezo Buzzer
This tutorial instructs you how to use ESP8266 and motion sensor to control piezo buzzer. In detail:
- ESP8266 triggers piezo buzzer to produce sound when motion is detected
- ESP8266 cease sound when motion is not detected
- ESP8266 triggers piezo buzzer play a melody when motion is detected
This can be applied in an automation process that triggers actions upon detecting human presence.
Hardware Preparation
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Additionally, some of these links are for products from our own brand, DIYables.
Overview of Piezo Buzzer and Motion Sensor
If you are unfamiliar with piezo buzzer and motion sensor (including pinout, functionality, and programming), the following tutorials can help:
Wiring Diagram
This image is created using Fritzing. Click to enlarge image
See more in ESP8266's pinout and how to supply power to the ESP8266 and other components.
Initial Setting
Time Delay Adjuster | Screw it in anti-clockwise direction fully. |
Detection Range Adjuster | Screw it in clockwise direction fully. |
Repeat Trigger Selector | Put jumper as shown on the image. |
ESP8266 Code - Simple Sound
Detailed Instructions
To get started with ESP8266 on Arduino IDE, follow these steps:
- Check out the how to setup environment for ESP8266 on Arduino IDE tutorial if this is your first time using ESP8266.
- Wire the components as shown in the diagram.
- Connect the ESP8266 board to your computer using a USB cable.
- Open Arduino IDE on your computer.
- Choose the correct ESP8266 board, such as (e.g. NodeMCU 1.0 (ESP-12E Module)), and its respective COM port.
- Plug a USB cable into the ESP8266 and your computer.
- Launch the Arduino IDE, select the correct board and port.
- Copy the code and open it in the Arduino IDE.
- Click the Upload button in the Arduino IDE to send the code to the ESP8266.
- Wave your hand in front of the sensor.
- Listen to the sound coming from the piezo buzzer.
Code Explanation
Check out the line-by-line explanation contained in the comments of the source code!
ESP8266 Code - Melody
Detailed Instructions
- Wire the components as shown in the diagram.
- Connect the ESP8266 board to your computer using a USB cable.
- Open Arduino IDE on your computer.
- Choose the correct ESP8266 board, such as (e.g. NodeMCU 1.0 (ESP-12E Module)), and its respective COM port.
- Copy the code and open it with the Arduino IDE.
- Create the pitches.h file On Arduino IDE by:
- Either click on the button just below the serial monitor icon and choose New Tab, or use Ctrl+Shift+N keys.
- Give file's name pitches.h and click OK button
- Copy the below code and paste it to the created pitches.h file.
- Click the Upload button on the Arduino IDE to compile and upload the code to the ESP8266.
- Move your hand in front of the sensor.
- Listen to the tune played by the piezo buzzer.
Code Explanation
Read the line-by-line explanation in comment lines of the source code!. Check out the line-by-line explanation in the comments of the source code!. Investigate the line-by-line description in the comments of the source code!. Examine the line-by-line elucidation in the remarks of the source code!
※ NOTE THAT:
The code above utilizes the delay() function. This has the effect of blocking other code while the melody is playing. To prevent this, the ezBuzzer library can be used instead. This library is specifically designed to allow the buzzer to beep or play a melody without blocking other code.