Electronic – arduino – Detecting when an illuminated AC doorbell is pushed

arduinocircuit-designloadshort-circuit

I have an 8VAC (can be switched to 12VAC if required) pushbutton bell which is in series with two "ding dong" chimes. The button is illuminated with an incandescent bulb, also in series. Pushing the bell "short circuits" (and so puts out) the bulb, causing the chime hammers to pull back for a ding – releasing the button swings them back for the dong.

I want to smarten this system. To make it as flexible as possible, the idea is to split the sensing of the button from the firing of the chime (controlled with an esp32 or whatever), ie keep the two circuits separate and link them via software as required. I have been advised to use triacs and drivers to control the AC chime circuit and am exploring that idea separately.

Detecting the illuminated button seems a little trickier to do. A similar question on this site suggests using a current sensor which seems an elegant solution, however the circuit there is a regular open/closed one, with the chimes still in series:

Doorbell Press for MCU

  1. Since my button circuit is always closed (for the bulb to illuminate), current is always flowing. Can such a sensor be made to work here? Even though there is always current flowing, I presume the current changes when the button is pushed and that's what I would aim to detect with the sensor.
  2. I understand that that chimes are necessary in the original circuit to provide some load. Since they're no longer in series with the button, would I need to replace them with resistors or something?
  3. If we assume the micro-controller can provide 5V, would it be a better idea to convert the button circuit to a DC one connected to a GPIO pin? I'll still have a closed circuit at all times, so I'm not sure this actually solves anything – unless the low current when the button isn't pressed can be made to be seen as a LOW on the pin somehow? The ESP32 for instance has an ADC pin that can read varying voltages along with this: http://www.vwlowen.co.uk/arduino/current/current.htm

Best Answer

Just use an ordinary relay, whose coil is rated for the 8 or 12 VAC of the chime — but won't pull in on the amount of current the bulb uses — and connect its coil in place of the chime coil. Now you have an independent contact closure you can use any way you like.