Monthly Archives: February 2013

Bark Controller

Device to discourage dogs from barking

Vision:

One or more remote controlled devices(annunciators) which will emit a high frequency audio pulse.  One or more remote transmitters that can trigger all remote annunciators simultaneously.


Principle of operation:

  1. Transmitters will use the 315MHz ISM band.  The transmitters will all use the same address/code.  Matching ISM receivers, all set to the same address/code.
  2. The audio frequency is not critical, and will sweep across a range of 18 – 22 KHz.  
  3. The audio will be generated by a PWM from a microcontroller.  
  4. The audio burst should be 3-5 seconds in duration.
  5. The PWM signal from the microcontroller will be sent through a 2N2222A to a piezo speaker with a parallel inductor to boost the voltage.
  6. The device should be able to run on 5 VDC.
  7. The device does not need to be battery powered, so standby power consumption is not critical.


Components:

  • RF remote transmitter:  keyfob remote from Adafruit.com – based on the PT2262
  • RF receiver:  Simple RF T4 momentary from adafruit.com – based on the PT2272
  • Picaxe-08M2  – why?  had one laying around
  • Speaker:  piezo tweeter
  • Power Supply – 5V USB plug-in

Circuit:

Bark_schm_f

Screenshot of output, note the 50Vpp output:

Bark_scope1Here’s the code:

; Bark Controller
;  initializes LED and Piezo to OFF
;  waits for a signal
;   when a signal is received:
;   turn on LED
;   step through a set of 3 tones, 10 times
;   turn off the LED
;   turn off the sound
;   wait a couple of seconds
;
; Tones to play:
;   frequency 18Khz = pwmout C.2, 55, 111
;   frequency 20Khz = pwmout C.2, 49, 100
;   frequency 22Khz = pwmout C.2, 44, 91

low C.4 ;LED is C.3 = PIN 2
pwmout C.2, off  ;Piezo is C.2 = PIN 5
do  ;input is C.3 = PIN 4

if pin3 = 1 then
 high C.4 ;LED on
  For b0 = 1 to 10
pwmout C.2, 55, 111 ; 18Khz
pause 100  ; play for 0.1 seconds
pwmout C.2, 49, 100 ; 20Khz
pause 100
pwmout C.2, 44, 91 ; 22Khz
pause 100
  next
 low C.4
 pwmout C.2, off  ; turn off the piezo
 pause 2000
endif

loop