Posted by SainSmart on

‘Knock Back’ – A Knock Echoing Arduino

This is a simple Arduino sketch that was originally designed to experiment with arrays and the built-in timing functionality. I based it on the tutorial sample code
The system consists of a piezo sensor connected to an analog pin that listens for a knock from the user. The Arduino then stores the time the knock occurred in an array.
After a predefined time without further knocks occurring, the Arduino will ‘play back’ the knocks on a buzzer and LED in time to the original knocking pattern.

The device could be expanded to include a stepper motor or similar suitable output that would recreate the knocks exactly, just replace the output buzzer.
You could also use the piezo input sensor as the output buzzer by altering the code.

Step One: Materials
You will need:
  1. An Arduino UNO or compatible board.
  2. An LED and appropriate resistor (I used 220R).
  3. A piezo sensor.
  4. A 1M pull-down resistor.
  5. A piezo buzzer or alternative output device (see page one notes).
  6. A breadboard and wires.

Step Two: Assemble

The configuration of the device is fairly simple.

  1. Connect the LED to pin 9 (via the resistor) and GND.
  2. Connect the output buzzer to pin 8 and GND.
  3. Connect the knock senzor to analog pin 0 AND GND.
  4. Connect your 1M resistor to the positive wire of the knock sensor and GND. This is used as a pull-down resistor.

Note: Be sure to check that my resistor recommendations are correct for the components you are using, including the lack of resistors on the two piezo buzzers.

Step Three: The Sketch

Upload the following to your Arduino.

Knock Back Sketch

Step Four: Knock it ’till you’ve tried it”

If everything went well, your “Knock Back” device should be ready to test. Simply tap a pattern into the knock sensor, wait 2 seconds and watch it replay the pattern.See the video below for an example.

Older Post Newer Post