Hi Raspberry Pi Enthusiasts,
I've just completed my first Raspi project, that I affectionately call: 'BlueSkeetPi 1.0'. I used 'Blue' in the name, because I had intended to use a BlueTooth wireless mic originally, but I haven't found one yet which is compatible with ANSA. For now, I'm using a HP USB WebCam microphone for testing. A Samson wireless USB mic. is on order. Not sure yet if it will work with this project.
Overview: I wanted a voice-activated, wireless trap release for the sport of Skeet. A 'Voice-Call' system allows a solo shooter to call for clay targets without a Trap Setter, or Puller, to activate the trap buttons manually. Voice call devices are ubiquitous for the game of Trap now, but not for Skeet. Trap has a single house in front of the competitors, and the targets fly down range from them. Skeet is different. Voice Call solutions are more complex.
Caveats & Disclaimers: My range uses a simple ground loop relay system (Manufacturer: Briley) to control their traps. I am using Raspi relays to close these ground loops for approx. 0.1 seconds and the detected continuity is what triggers the selected trap machine. You should speak with your Range Master, Club Officials, et al, to determine how your Skeet Field and Traps are configured before you embark on this project or one like it. You may need to create a different plug or wiring plan to conform to your local Range's set up.
Note: Do Not use an energized relay circuit, if your range needs a Ground Loop circuit, as sending a voltage through from your Raspberry Pi to the Trap Controller might damage the electronics.
Costs: This project could cost you anywhere from $120 to $400. If you go with a headless Raspi and a wired USB mic (or dig up a used USB WebCam/Mic), you might get the price down considerably.
My project Recipe was as follows:
Raspi 3B,
PiFace 2 Digital,
A USB microphone or WebCam. (Sampson wireless USB mic is on order. $98 shipped from Frys.com).
Optional: 7" Touch Screen Pi Display. This makes BlueSkeetPi capable of operation without VNC connection from your Smart Phone, or allows you to work on it if VNC access is lost.
Other Components:
An enclosure box of some kind, preferably water resistant.
A length of insulated 3 lead (control) cord. Some used extension cord will work fine.
A 3-prong (fe)male plug (depends on how your local skeet field is configured, some fields may use a bayonet plug or custom connector for their standard trap control cable).
Most fields have a standard 3 prong female, so you'd want to make a 3 prong male plug for your control cable in that case. I chose to terminate my control cable with a male, 3 prong plug, so a standard power extension cord may be used. Additional connectors could be made up to suit conditions at other ranges.
A pass-through port for control cable through the enclosure to the terminal bus.
A 3 pole, 11.5mm Pitch, Screw Terminal, 300V, 50A (can be rated for lower voltage/amperage, but it should be sturdy, in case someone kicks your enclosure or controller cable...).
Some double-sided tape to secure components inside your enclosure.
5v batteries with Raspi power connectors to power Raspi3B and Touch-Screen (optional), or wired Raspi power supplies for said.
I am using (2x) APC Mobile Power Pack (M3PMBK) to power this project.
Some bread board leads or insulated wire cut to lengths to connect Relays 0 and 1 Common pole to Ground poles on same side of PiFace. and Relay 0's NO bus to Left Pole of plug, and Relay 1's NO bus to Right Pole of plug (also via the Screw Terminal). Ground pole of plug/control cord is wired via the Terminal to the 'Common' poles of the PiFace Relay 0 and 1. PiFace Output Switch #6 loop drives an external, Flashing LED. (anode w. resistor to #6 output bus, cathode to +5v output bus. This LED will flash outside the enclosure to let you know when BlueSkeetPi is Active and Listening for a Voice Call. A bright (flashing) LED, and LED mount are required. 300ohm resistor in line with the LED anode (short lead) is required by Raspi.
A multi-meter is recommended to check continuity of your relay/ground loops and that they are wired to the Terminal correctly and close the correct ground loop at the correct plug pole.
Note: Leadless solder can make for unreliable contacts between your external LED, the in-line resistor, and wiring. Be prepared to test and rework your soldered connections, if you are a novice, as I am...
Software:
Tight VNC Server running on your Raspi. (comes already installed on Raspi 3B).
Python 3.4.2 ( for the BlueSkeetPi code that drives the PiFace 2 Digital relays. ).
TKinter Included with Python 3.4.2 on Raspi 3B: Used for the BlueSkeetPi GUI.
ANSA/PySound : Connects to USB Mic and listens for sounds.
Non-Raspi Requirements:
A smart phone with Wireless Hotspot capabilities ( I am using the LG V20 with T-Mobile service).
Tight VNC Client (free download) on your cell phone. Your Raspi must connect to your Cell Phone Hot Spot and be assigned an IP Address which VNC Server uses to allow remote desktop sessions inbound from your smart phone.
Note: PiFace 2 Digital isn't mandatory. Any element14 or other Raspi add-on board with at least 2 NC/CO/NO relays which may be controlled via Python 3.4.2 will work.
Any USB microphone which is recognized by ANSA sound utilitiy, but you will need to test it out.
A wireless USB mic (ANSA compatible) is recommended because you can set your BlueSkeetPi enclosure on the ground and control it from your Mobile Phone with VNC, then call for the clay targets remotely, without having to carry the box or a mic cord from station to station on the Skeet field.
SKEET, as you may know, is shot from one of 8 stations, which are positioned in a semi-circle, with a High House on the Left (behind Station 1), and a Low House (behind Station 7) on the Right.
Doubles are shot from Stations 1, 2, 6 and 7 (American Skeet). Doubles are shot from all stations in International Skeet. International Traps also send the clays at 70mph, vs. 50mph for American Skeet. Under International Rules, You must call for your targets with your shotgun in the low mount position, heel of stock below your armpit and touching your waist above the hip bone. International Skeet is much more challenging, and so you may find yourself needing to practice when there is nobody else available to pull the targets for you. BlueSkeetPi to the rescue!!! I built BlueSkeetPi for this purpose.
My TKinter GUI software has 3 configuration settings: 1). American or International 2.) VOX (mic sensitivity) and 3.) Trap Delay.
American Skeet has no delay, but you may want to set a default delay of 0.2 seconds or more, as the targets will otherwise fly when the "P" in "PULL" is detected by BlueSkeetPi.
International Skeet requires a random delay of 0 to 3 seconds, as mentioned above, and BlueSkeetPi has this functionality available, if you need it. .
The BlueSkeetPi GUI has 3 buttons for: High House, Low House or Doubles, and finally, a button to Activate the Listener for your next Voice Call.
Any sound which breaks the VOX (squelch) level you select, will trip the relay you select and send a Clay Target from that house.
If you selected 'Doubles', targets from both High and Low Houses will be sent simultaneously as a 'True Pair'. This is standard for both American and International Skeet.
The Python code is called by the TKinter GUI when the red 'Voice Call' button is pressed. When ANSA is active, the external LED flashes red.
Once a sound is detected, BlueSkeet Pi sends the clay pigeon/target, then disables the microphone receiver, disables the LED, resets its registers and waits for you to select your next target presentation.
If you do not change your previous VOX, DELAY, or TRAP settings, BlueSkeetPi will use the last setting you entered upon pressing 'VOICE CALL' button.
Note: If you accidentally armed the 'Voice Call' button, but wanted to change the settings instead, you must exit out of BlueSkeetPi by using the 'KILL Blue Skeet Pi' icon on your X-Windows Desktop.
BlueSkeet Pi does not interact with your range's trap controller PLC, other than controlling the ground loop relays and triggering the traps to fire. It only serves to replace the manual relay buttons which are currently pressed manually by someone else.
There are two BlueSkeetPi Desktop icons ( BlueSkeet Pi 1.0 requires X-windows to run the TKinter GUI). One icon to Start BlueSkeetPi, and another to GREP and KILL all BlueSkeet Pi processes which may be running.
Note: This project prototype, code named 'BlueSkeetPi' actually took me 3+ months to complete, but you should be able to build it in a weekend, esp. if you use my TKinter and .py scripts.
Check Comments for vids. Thanks!
Copyright 2017 - John G. Bartolucci
Top Comments