I spent a day or two hacking a Bescor MP-101 Motorized Pan / Tilt head to respond to messages from a computer via usb / arduino. Here is the first day in a series of photos. Captions and titles contain some how-to infos. I also took some notes as I was working. They are re-produced,
unedited, below:
Hotbox Computer Controlled Motorized PanTilt Head 1. Wire Schem Purple - slowest end of speed control (left) Yellow - Move Left Blue - Move Down Black - Movement common grnd note: rx here - gold grey red white grey orange 389 x 10^2 3.89k ohms[?] actual: 3.78k ohms White - Move Up Green - Move Right Red - highest end of speed control (right) 2. power output of pan tilt is roughly 1v (1.005 it seems) to engage servo movement. Measured at DC 3. Arduino code whcih seems to work /* Fading This example shows how to fade an LED using the analogWrite() function. The circuit: * LED attached from digital pin 9 to ground. Created 1 Nov 2008 By David A. Mellis Modified 17 June 2009 By Tom Igoe http://arduino.cc/en/Tutorial/Fading This example code is in the public domain. */ int ledPin = 9; // LED connected to digital pin 9 void setup() { // nothing happens in setup } void loop() { // fade in from min to max in increments of 5 points: for(int fadeValue = 0 ; fadeValue <= 55; fadeValue +=5) { // sets the value (range from 0 to 255): analogWrite(ledPin, fadeValue); // wait for 30 milliseconds to see the dimming effect delay(30); } // fade out from max to min in increments of 5 points: for(int fadeValue = 55 ; fadeValue >= 0; fadeValue -=5) { // sets the value (range from 0 to 255): analogWrite(ledPin, fadeValue); // wait for 30 milliseconds to see the dimming effect delay(30); } } 4. 255 pwm output == 5v == broken pantilt head. seems 55 fade value is about right, providing a max output of about 1.006v 6. Aruino code which outputs correct voltage for controlling the pantilt head int ledPin = 9; // LED connected to digital pin 9 int fadeValue = 51; // pwm output for triggering "button pushes" for the pantilt head void setup() { // nothing happens in setup } void loop() { analogWrite(ledPin, fadeValue); }