My doorbell stopped working a couple of days back, I finally stopped procastinating and got down to finding the problem. Replacing the batteries would seem to be the obvious solution, but I thought I would check first. I took out the 4 C sized batteries and measured the voltage with a digital multimeter.
At first I thought the batteries were dead, as the reading was very low, but as the probes were shifted around the terminals, the reading suddenly jumped to 1.5V. I realised that the rust on the batteries were preventing a good contact, so I rubbed all 4 battery terminals with sandpaper and tried again. The bell still wouldn't ring.
I used the multimeter to check the voltages at the metal contacts of the bell with 2 batteries inserted. The readings fluctuated a lot, so I removed the batteries and checked the resistance of the metal contacts. It was quite high. The next step was to spray the contacts with WD-40. I let it dry for a while, but there was little improvement when I checked the resistance again with the multimeter, so I rubbed the contacts with sandpaper. Now the resistances are a lot lower. Ahh, some improvement. I replaced the batteries, making sure that the non-rusty parts had good contact with the metal contacts of the doorbell. Went to test it and it worked!!!
I had a similar experience with my calculator, but after so much effort cleaning the contacts, the LCD screen decided to spoil after 9 years of service. Now my dual line display has become a single line one.