Hello! Long time lurker, first time poster; I tried searching for information and found some tangentially related things, but nothing that really helped with my issue.
I built a chime using a metallophone, solenoids, and an Ardunio. It worked well in my tests using a regular three-leg button, but I am having trouble using my existing doorbell button as an input because it only has two legs. Below is a schematic of the doorbell button; normally power flows through the lightbulb/resistor, pressing the button bypasses the resistor so the full power goes to solenoid in the chime.

To be clear, in my setup the doorbell button is no longer connected to the mains power supply or the solenoid. I connected one leg of the doorbell to the 5v supply and the other leg to pin 11 ("button" in my sketch). Here is the part of my sketch that waits for a button press:
void loop() {
//wait for button press
val = digitalRead(button);
if (val == HIGH) {
tune = random(1,5);
However, it is sensing that the button is pressed all of the time, I assume that enough power is flowing through the resistor to cause the pin to read HIGH. I tried a few other things, like using the 3.3v supply instead of the 5v and connecting a resistor to pin 11 and ground, but with the same result. I know the code is good because it reads LOW and stops playing if I connect pin 11 directly to ground.
How can I connect this doorbell button and configure my code so that it reads LOW until the button is pressed? Super bonus points if the light on the button works, too. Thanks in advance for your input.