This tutorial shows you how to use a Piezo element to detect vibration, in this case, a knock on a door, table, or other solid surface.
A piezo is an electronic device that generates a voltage when it's physically deformed by a vibration, sound wave, or mechanical strain. Similarly, when you put a voltage across a piezo, it vibrates and creates a tone. Piezos can be used both to play tones and to detect tones.
The sketch reads the piezo output using the analogRead() command, encoding the voltage range from 0 to 5 volts to a numerical range from 0 to 1023 in a process referred to as analog-to-digital conversion, or ADC.
If the sensors output is stronger than a certain threshold, your board will send the string "Knock!" to the computer over the serial port.
Open the serial monitor to see this text.
Step 1: What You Need?
1 x Arduino Board ( Arduino UNO R3 used in this tutorial.)
1 x Piezo Electric Disc (Piezo Buzzer)
1 x 1 Megohm Resistor
Solid Surface
1 x USB Type-B Cable
Female-to-Male Jumper Wires
Optional
Arduino Keyes KY031 Knock Impact Sensor
Don't have components? Don't worry. Just click the component's name. 1 x Piezo Electric Disc (Piezo Buzzer)
1 x 1 Megohm Resistor
Solid Surface
1 x USB Type-B Cable
Female-to-Male Jumper Wires
Optional
Arduino Keyes KY031 Knock Impact Sensor
Step 2: Build Your Circuit.
Piezos are polarized, meaning that voltage passes through them (or out of them) in a specific direction. Connect the Black wire (the lower voltage) to ground and the Red wire (the higher voltage) to analog pin 0. Additionally, connect a 1-megohm resistor in parallel to the Piezo element to limit the voltage and current produced by the piezo and to protect the analog input.It is possible to acquire piezo elements without a plastic housing. These will look like a metallic disc, and are easier to use as input sensors. Piezo sensors work best when firmly pressed against, taped, or glued their sensing surface.
Step 3: Upload The Code.
1. Select the Arduino board type: Select Tools >> Board >> Select your correct Arduino board used.
2. Find the port number by accessing device manager on Windows. See the section Port (COM&LPT) and look for an open port named "Arduino Uno (COMxx)". If you are using a different board, you will find a name accordingly. What matters is the xx in COMxx part. In my case, it's COM3. So my port number is 3.
Select the right port: Tools >> Port >> Select the port number.
3. You can find this code in the example of Arduino IDE.
Select File >> Examples >> 06. Sensors >> Knock
Click press the "upload" button (see the button with right arrow mark).
In the code below, the incoming piezo data is compared to a threshold value set by the user. Try raising or lowering this value to increase your sensor's overall sensitivity.
0 comments:
Post a Comment