This sensor will easily detect the distortion of sheet of steel or glass it is attached to.   

What's novel is the simplicity of design thanks to the high sensitivity of the piezo element used as the sensing element. Otherwise a mechanical strain sensor would be done with a Strain Guage which produces a tiny resistance change according to mechanical deformation which requires careful amplification at microvolt levels. 

A piezo sensor instead has a much higher sensitivity and lower part count. In contrast to a conventional resistive strain sensor, the piezo generates a transient signal. 

The microcontroller senses the piezo voltage with its ADC. If the voltage exceeds a set threshold the microcontroller sends alarm messages through a bi-directional serial interface (BusIO), a 16 bit length message. The trigger threshold is programmable through the same BusIO serial interface. Up to 15 sensors may share the bus.  

The bidirectional serial interface is mentioned in my other project "BusIO". It has some similarities with I2C in its operation but it allows the connection of standard RS232 (TTL levels) interfaces to simplify project development and debugging. A completely standard terminal program may be used to create a BusIO environment for monitor BusIO communications and command any sensor.   

The sensor operates as following: 


Stabilisation. The peizo is directly connected to a AtoD input. The peizo is effectively a capacitor referenced to ground and can retain its charge for a considerable time.  To ensure input operates within ADC range the microcontroller stabilises the voltage on the piezo disc at 50% supply voltage. This is with another pin on the microcontroller (3-state via 220 K resistor) to trim the input voltage up or down accordingly to reach the 50% point.  During aquisition of 50% point the sensor sends raw signal level data messages on BusIO to show stabilisation is in progress.

Standby. No BusIO data is sent out by sensor but remains receptive to configuration commands. The microcontroller continually monitors the input for the 50% point and fine tunes with maintanence pulses when needed.  During a trigger this fine tuning is temporarily disabled.  

Trigger. If the input changes by a set threshold, an alarm condition. The last three historical raw sensor values before the trigger occured are sent out on BusIO, followed by ongoing real time raw sensor values.  As the piezo sensor is practically limited to a length of sampling time (a few seconds to a minute) the alarm condition self cancels after sending a set number of raw sensor values. Then returns to the Stabilising.

LED FLash Function.  Redundant feature. Pin 7 connected LED / resistor. Flashing activate/deactivate via command over BusIO. 

The sensor stores configuration data in the microcontroller's flash memory. BusIO address, Trig threshold, NFB control (in beta stage). 

A sensor may be interrogated for raw sensor value while in standby.  

By default the hardware address of the sensor is "F" (one-of-15) this is changed with the appropriate configuration command over the BusIO interface