At the time when I designed the first version I broke the coconut by how to detect the buzzer so I could treat it as a 0-off 5V-on signal. I came up with several ways:
- Current transformer, using the cable itself that feeds the bell.
- ACS712 current sensor, which I ended up discarding, because as I calculated then, the current that feeds the bell just reaches 100mA I remember, and the sensor measured 0-30A or -15-15A, a bit useless right?
- A piezo stuck to the bell housing, this alternative was not tested.
- Effect Hall, and with this one, I ran out of ideas for a non-invasive sensor, I did not try it either.
Finally I used an AC814 optocoupler with a few 1 / 4W resistors to limit the current to 5mA. Having no higher power resistances, I made calculations, and putting 2 of 62k no dissipated more than 0.25W or Vpico.
See the circuit.
It consists of a capacitor to filter the network 50Hz and an inverter stage npn, in order to have the desired signal. The cables called Timbre, it is understood that they go in parallel to the phase and neutral that reach the timbre.
For this device I have also used an ESP01, because with one pin it is enough for me. In the end I ended up using an inverter stage npn more at the output of the circuit above because if the reset of the ESP01 GPIO2 is grounded, the module does not run the code it has loaded but it enters another mode.
The code of this module, the truth is that it does not have greater importance. However, I leave it here for the curious. This code can be used for UDP notification of any binary sensor, pushbutton, etc.
Anecdotally, I played it a bit when I placed the laptop like this, leaning against the open door … my sister comes at that moment … LOL. Luckily, nothing happened.
The red button is a reset, because there are times when the ESP01 goes crazy and loses the connection.