Sensor de impacto con un buzzer y Arduino
Planteamiento: Un disco piezoeléctrico funciona cuando se pasa una corriente eléctrica sobre el material cerámico en el disco, lo que hace que cambie de forma y por lo tanto hacer un sonido. El disco también funciona a la inversa: cuando se golpea el disco, la fuerza sobre el material provoca la generación de una corriente eléctrica que puedes leer con un pin analogico del arduino
obteniendo un sensor de detonación. En este ejemplo usaremos el buzzer como el sensor de golpe, y encenderemos el led en función del valor leído del sensor.
Lista de componentes:
- 1 buzzer
- 1 resistencia de 1M ohm
- 1 led 5mm
- 1 resistencia de 180 ohm
- 1 arduino uno

int ledPin = 11; // LED on Digital Pin 11
int piezoPin = 0; // Piezo on Analog Pin 0
int sensibility = 24; // The sensor value to reach before activation
int sensorValue = 0; // A variable to store the value read from the sensor
int ledValue = 0; // The brightness of the LED
void setup() {
pinMode(ledPin, OUTPUT); // Set the ledPin to an OUTPUT
}
void loop() {
sensorValue = analogRead(piezoPin); // Read the value from the sensor
if (sensorValue >= sensibility) { // If knock detected set brightness to max
ledValue = 255;
}
analogWrite(ledPin, ledValue ); // Write brightness value to LED
if (ledValue > 0) ledValue = ledValue – 1; // Dim the LED slowly
}