source: arduino-1-6-7/trunk/fuentes/arduino-ide-amd64/examples/06.Sensors/Knock/Knock.ino @ 4837

Last change on this file since 4837 was 4837, checked in by daduve, 2 years ago

Adding new version

File size: 1.8 KB
Line 
1/* Knock Sensor
2
3   This sketch reads a piezo element to detect a knocking sound.
4   It reads an analog pin and compares the result to a set threshold.
5   If the result is greater than the threshold, it writes
6   "knock" to the serial port, and toggles the LED on pin 13.
7
8   The circuit:
9        * + connection of the piezo attached to analog in 0
10        * - connection of the piezo attached to ground
11        * 1-megohm resistor attached from analog in 0 to ground
12
13   http://www.arduino.cc/en/Tutorial/Knock
14
15   created 25 Mar 2007
16   by David Cuartielles <http://www.0j0.org>
17   modified 30 Aug 2011
18   by Tom Igoe
19
20   This example code is in the public domain.
21
22 */
23
24
25// these constants won't change:
26const int ledPin = 13;      // led connected to digital pin 13
27const int knockSensor = A0; // the piezo is connected to analog pin 0
28const int threshold = 100;  // threshold value to decide when the detected sound is a knock or not
29
30
31// these variables will change:
32int sensorReading = 0;      // variable to store the value read from the sensor pin
33int ledState = LOW;         // variable used to store the last LED status, to toggle the light
34
35void setup() {
36  pinMode(ledPin, OUTPUT); // declare the ledPin as as OUTPUT
37  Serial.begin(9600);       // use the serial port
38}
39
40void loop() {
41  // read the sensor and store it in the variable sensorReading:
42  sensorReading = analogRead(knockSensor);
43
44  // if the sensor reading is greater than the threshold:
45  if (sensorReading >= threshold) {
46    // toggle the status of the ledPin:
47    ledState = !ledState;
48    // update the LED pin itself:
49    digitalWrite(ledPin, ledState);
50    // send the string "Knock!" back to the computer, followed by newline
51    Serial.println("Knock!");
52  }
53  delay(100);  // delay to avoid overloading the serial port buffer
54}
55
Note: See TracBrowser for help on using the repository browser.