Door chime



  • Hi, new member here.

    I may be going about this in a convoluted way, but I revel in creating and undertaking projects.

    The problem: I need an audible signal for when a door is opened.

    My current solution: using an old doorbell where the battery terminal on the push button unit became corroded, I used a 5 volt mains transformer and reduced the voltage to 3 volt which powers the push button unit well.
    I have connected a reed switch to the push button terminals in a normally open configuration.

    What happens: The chime sounds when the door is open, but continues to sound until the door is closed!

    What I would like to happen: one or two chimes only regardless of how long the door is opened for.

    What I think I need: a timed latching circuit.

    I welcome any help in this. Thank you.



  • @Paul-Scarbro There are multitude of solution, but since we are in MySensors Land, let's do a MySensors solution. You'll quickly see that doing that adds a lot of overhead.

    We'll use an Arduino Nano or RF Nano if you're going to go whole hog. It can be run from 3.3V or 5V DC, not AC.

    The reed switch would be connected to an input of the Nano and one of the outputs would drive a relay. The relay would drive the chime.

    Your C++ program would be something like:

    #define inputButton 2;  // connect reed switch here
    #define outputRelay 4;  // connect relay to this pin see MySensors Relay example
    #define RELAY_ON 1  // GPIO value to write to turn on attached relay
    #define RELAY_OFF 0 // GPIO value to write to turn off attached relay
    
    
    void setup() {
      pinmode(inputButton,INPUT);
      pinmode(outputRelay,OUTPUT);
      // put your setup code here, to run once:
    
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      if (digitalRead(inputButton) == 0) {
        digitalWrite(outputRelay,RELAY_ON);
        wait(2000); // wait 2 seconds
        digitalWrite(outputRelay,RELAY_OFF);
    
        // now wait for door to close
        while(digitalRead(inputButton) == 0) ; //does nothing until reed switch opens
        
      }
    
    }
    

    There are some subtleties that I may have glossed over, but this is the gist.

    By looking at the MySensors Relay example, you'll see how to integrate this into a MySensors environment. That's where you'd want to get the RF Nano.

    I've made the assumption you're familiar with the Arduino IDE and you've looked into the MySensors environment.


Log in to reply
 

Suggested Topics

  • 8
  • 5
  • 1
  • 7
  • 3
  • 1

16
Online

11.5k
Users

11.1k
Topics

112.8k
Posts