Some years ago I fixed up a radio-
My first thought was what to use as a “bell push”. Having used a capacitive touch switch in a previous project, I hoped to be able to use the same type of switch behind a single thickness of 4mm glass in a window adjacent to the door. The unit produces a high output when triggered and interfaces very easily with something like an Arduino.
Unfortunately, it proved difficult to make work reliably. The touch module turned on permanently when fixed right up against the glass. When set away from the glass a couple of mm it would trigger when a finger was pressed on the other side of the glass but would not turn off. Using an Adafruit Feather microcontroller to momentarily turn off the touch module when it had been triggered sort of solved the problem but after several prods of the finger it refused trigger again until the module had been separated from the glass and then refitted. Perhaps a charge was building up on the glass? (Like an electrophorus?)
Posts on the relevant forums seemed to suggest that fiddling with the component values on the touch sensor module might get over this problem but I was worried that given that the glass might be subject to rain and condensation (on the outside only, hopefully), I would never get it to work reliably.
I then wondered about some sort of optical sensor. A reflective sensor involves and LED and a photo detector arranged so that bring an object close to them causes light to be reflected into the detector off the object (a finger, say). The light source could be modulated so that the detector could distinguish between stray daylight and reflected light from the source. This could just involve switching the LED on and off at, say, 100 Hz and coupling the output of the detector with a capacitor to block the effect of stray daylight. Sensors are available which block daylight.
Another optical sensor might involve a small matrix of light detectors (perhaps just two would do?) so that the output of the detectors would change relative to each other when a finger was brought up to them. It might be difficult to avoid accidental shadows triggering the sensors without some sophisticated processing of the sensor outputs. For this reason, I discounted this possibility at an early stage. (Although it might have proved an interesting exercise!)
I was also interested in detecting knocking at the door (a lot of visitors don't spot the door bell) and thought of using a piezoelectric transducer glued to the glass or the door frame. I quickly realized that the sensor would trigger each time the door was opened and closed which was not what was wanted. If everyone could be guaranteed to knock with the dit-
I then changed tack. What if the piezo transducer was triggered by a door knocker. I would surely be possible to transmit the force of the knock though the door frame by means of a thin rod which would bear more or less directly on the transducer. This would be quite a strong force which would be much greater than that resulting from random rattles of the door and with the sensitivity of the sensor dialled down, should eliminate false triggering (in theory!)
or, possibly, electronic knocker
Next, developing a circuit to respond to the transducer.
Adafruit momentary touch sensor.
50mm piezoelectric transducer.