Louder Doorbell Hack

This is a hack I did to make a wireless doorbell loud enough to be heard over loud equipment and to give a visual indication of which door button had been pressed. For the visual indication I used two 4 inch CCFL tubes and for the sound I used a compact Siren. For the doorbell I chose the GE wireless Door Bell with two wireless buttons.OLYMPUS DIGITAL CAMERA

This is what it looks like inside.Inside_Doorbell The 14 pin IC is a 4011. By looking at the outputs of the NAND gates I found that Pin 4 Toggles with any button push and pin 10 toggles when I press the back door button. Scope View I chose to use a MicroChip PIC processor to decode the outputs to keep the parts count down and because I had them on hand. I started by attaching wires to the circuit board in the doorbell to pick up the signals from the CD4011 and provide power to doorbell from the decoder and drivers.ModifyWireless Door Bell DecoderInside

I built the circuit on a perf board and mounted it to a piece of angle aluminum. Every thing gets put into a circuit breaker box I stripped all the guts out of.Completed_Doorbell Function: When Front door button is pressed the siren sounds for a set time leaving the white lamp on for a bit longer. When the Back door button is pressed the Siren sounds for a set time leaving the blue light on for a bit longer.

Results: The unit has performed well since it was connected. Couple changes I would like to make. 1) Install a connector on the Doorbell and the box so that the actual doorbell can be located in a different location than the box. 2) Clean up the program so that white lamp does not flash when the back door button is held down (not been a problem so far). 3) Clean up the power supply design.

Source Code:

;Door bell decoder
;Written for the PIC12C671 running in internal 4mhz mode.
;By W.H.- April 2006
list p=12C671
include p12C671.INC
;Define configuration bits.
__CONFIG _MCLRE_OFF & _CP_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
;Define variables
cblock 0x20
TIC, TEMP, SIGNAL, BEAT, OUTPUT,W_TEMP,STATUS_TEMP
endc
;Define Macros
SWB0 MACRO
BCF STATUS,RP0
ENDM
SWB1 MACRO
BSF STATUS,RP0
ENDM
PUSH MACRO
MOVWF W_TEMP
SWAPF STATUS,W
MOVWF STATUS_TEMP
ENDM
POP MACRO
SWAPF STATUS_TEMP,W
MOVWF STATUS
SWAPF W_TEMP,F
SWAPF W_TEMP,W
ENDM
;Reset vector
ORG 0x000
GOTO START
;Define interupt vector
ORG 0x004
GOTO INTER
;Define code start
ORG 0x008
START CALL CALIBRATION
SWB1
MOVWF OSCCAL
SWB0
NOP
SWB1
MOVLW B’00001100′
MOVWF TRISIO
MOVLW B’10000111′
MOVWF OPTION_REG
MOVLW B’10100000′
MOVWF INTCON
MOVLW B’00000000′
MOVWF PIE1
MOVLW B’00000111′
MOVWF ADCON1
SWB0
MOVLW D’0′
CLRF TMR0
CLRF BEAT
CLRF TEMP
CLRF TIC
LOOP BTFSS GPIO,2
MOVLW B’00010001′
BTFSS GPIO,3
MOVLW B’00010010′
MOVWF OUTPUT
MOVF OUTPUT,F
BTFSS STATUS,Z
GOTO TIMEOUT
CLRF TIC
GOTO LOOP
TIMEOUT NOP
;Check to see if time is up.
MOVLW D’38’
SUBWF TIC,W
BTFSC STATUS,C
BCF OUTPUT,4
MOVLW D’230′
SUBWF TIC,W
BTFSC STATUS,C
GOTO CLEAR
MOVF OUTPUT,W
GOTO LOOP
CLEAR CLRF OUTPUT
CLRF TIC
MOVLW D’0′
GOTO LOOP
;Interupt routine*****interupt every .0653seconds******
INTER PUSH ;Interupt routine
BCF INTCON,7 ;Turn off interupts
BTFSC BEAT,5
INCF TIC,F ;Increment time one
MOVF BEAT,W
MOVWF TEMP
BTFSS TEMP,5 ;Toggle
BSF BEAT,5
BTFSC TEMP,5
BCF BEAT,5
MOVF OUTPUT,W
IORWF BEAT,W
MOVWF GPIO
MOVLW B’10100000′ ;Turn on interupt and clear flag.
MOVWF INTCON
POP
RETFIE
CALIBRATION
END

Advertisements

About wmatl

I graduated from Southern Poly in Marietta in 1989 with a Bachelors in Electrical Engineering. I worked repairing industrial electronics and control systems for over 15 years. Started a document scanning company with a friend in 2006. With the continuing struggling economy my involvement ended with the closing of the Marietta location in 2013. Now I am back to repairing industrial drives.
This entry was posted in Electronics, Hobby and tagged , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s