Introduction: Adding Arduino Web Based Remote OSD Button Control to the SuperCircuits PC165DNR Camera
The Super Circuits PC165DNR camera is a very low light color video camera that is excellent for use with a telescope or for allsky meteor capture. It has buttons that allow the user to set various exposure times and hot pixel blocking. BUT, the buttons are on the side of the camera and when using it with a telescope or mounted in an outdoor housing. Make it very hard to make changes to it as needed.
In this instructable I plan to show how I added remote control breakout box and arduino web based control capability to the PC165DNR Camera.
Actually this project could be used to control almost any device that uses a momentary on type of button.
I use this camera to observe lightning and meteors and occasionally I needed to change the settings on it.
With the camera being at the top of a 30 foot tower it was rather hard to make changes, What I needed was a way to control it remotely!
It's also handy when using this camera on a telescope because it allows changes to the camera settings without having to touch the camera and cause shaking or missalignment of the scope.
Thus this project was born.
Of course you must know that modifying your camera in this way will VOID any warranty it may have! Just FYI!
Step 1: Tools Needed
To get started we first need to get the camera opened up so we can get to the OSD buttons.
For this you'll need a small phillips screwdriver and a small allen wrench to remove the CS lens adaptor (If installed)
You'll also need a soldering iron, solder and a length of cat-5 ethernet cable with an RJ-45 connector on one end and a nibble tool or a small wirecutter to cut a notch in the case for the remote control cable to extend from,
Step 2: Opening the Camera Case
On each side of the case there are 4 screws. Also there are 2 additional screws. One on the top and one on the bottom of the case under the model number sticker. remove these screws and the case slides apart in 2 pieces. You may have to use a small flathead screwdriver to start the sides moving apart. With the side off you'll see 4 circuit boards. One on each side and one front and one back.
Step 3: Dissasembling the Boards
The 4 circuit boards are just plugged into each other with pins and plugs.
The front board is the CCD.
One side board contains power regulation and the Lens Iris port.
The other side board is the one we're interested in. The OSD (ON SCREEN DISPLAY) control board.
This board contains the buttons. Each button is marked on the board as to it's function.
Our plan is to wire a series of parallel connections to these buttons so we can extend their electrical links outside the case
and allow remote manipulation of the switches via hardware or software control.
Step 4: Attach Remote Control Wires to the Buttons
We now need to attach the external wires to the buttons on the board in parallel so that either a button push from the onboard button or by shorting the appropriate external wire to ground we can simulate a button press.
We first break out the cat-5 cables into pairs. Because there are 5 button signals and they all use a common ground. We'll need 3 pairs or (6) wires to control the board.
For my example I'm using the green, orange and blue pairs.
in the first button we wire to both sides. (I used the green pair.) the green wire is soldered to the bottom (signal side) of the first button
and the green/white wire is soldered to the top (common ground) side of the button. Since all buttons are connected to the same ground. This will be the only ground side connection we'll need. The rest of wires are soldered one to each of the remaining bottom button connections. (My diagram is shown in the photo but you can wire any color you prefer. Make sure to document what colors you wire to each button! It'd be a pity to get this all wired up and put back together and not remember what wires do what.
Step 5: Modify the Case to Accomodate the Remote Cable
Using a small pair of wirecutters I cut a small notch above the OSD button access hole in the top side of the case to make room for the remote cable to extend out of the case.
I put an RJ45 connector on this end so I could easily unplug the camera if needed from the arduino.
Step 6: Completed Modification
Re-seat the case and secure the screws and you're finished with the modification of the camera.
The buttons on the camera will still function as before with the addition of allowing a series of parallel buttons to be added at a distance from the camera.
You can now connect the rj-45 cable to a small rj-45 wall mount breakout box. from it you can set up either a remote hardware button box.
Or interface the connections with an arduino, raspberry-pi or some other software controllable switching solution.
Step 7: Building the Control Interface for the Arduino
To control the buttons via the wires we just added we need some way to electronicly "press" them. There are two ways to do this.
Either with a relay or with a transistor acting as a switch. The transistor is the easier and cheaper way to do this and it also saves space.
For this project I used some NPN switching transistors I got from RadioShack. They sell a bag of various little transistors for around $5
The transistors I used in this case are 2n2222, 2n4401, 2n3904. The specs on these are roughly the same and they'll all serve my purpose in this project. Basicly I want to be able to have the Arduino send a control signal to the base of the transistor and have it "connect" the signal side of the button to the ground and thus simulate a press of the button on the camera itself.
I've included an image that I hope explains how this process works and also the pinouts of the transistors I used.
Step 8: Control Circuit Schematic
Here's a sinple schematic showing the transistor connections between the Arduino and the Camera breakout wires we added to the switches.
Step 9: Hooking It All Up!
To test my newly created camera remote control I breadboarded the transistors to the camera and arduino.
(please forgive the nasty looking breadboard. Its the only one I had handy and its on an old basic stamp experiment board.
(Im only using the breadboard on the basic stamp board)
It was in a box and some cola spashed on it and I just never wiped it off. =)
Step 10: Getting the Arduino to Control the Camera.
Now that we have the hardware side of this project set up. We need to wite some code to control the pins that control the buttons on the camera and also come up with some way to interface the human to the machine. (Resistance is Futile!)
In my case. The camera is going to be outside and up on a 30 foot pole so I really needed it to be controlable via a network connection.
I decided to add an ethernet shield and create a web interface with simulated buttons to control the camera from afar!
Here's the sketch that does the magic!