Camera Dolly

A friend of mine has a camera dolly that he made, but wanted it remote controlled so i took a microcontroller, some other electronic parts, a broken servo and a old DVD players IR remote (DVD player quit working).

PartsUsed:

  • Teensy USB 2.0  microcontroller
  • 5V 7805 voltage regulator
  • X2 TIP3055 NPN Transistor
  • X2 TIP42G PNP Transistor
  • X6 1k ohm Resistor
  • Red Blinking LED
  • Momentary push button
  • 5V reed relay
  • 9V battery connector
  • 9V battery
  • Broken servo
  • An old DVD player remote
  • General-Purpose IC PC Board

You can see the h-bridge in the top right, lower left is the power regulator and the power on reed relay, to the right of that is the power on LED and the Power on button. To turn the box off you use the power button the the IR remote. I used an h-bridge I made because the broken servo that I used did not work with PWM, so I soldered to leads directly on the servo motor and removed the potentiometer.

Here is the code I used on the teensy:

/*
 * Version 1.0 Nov, 2011
 * Copyright 2011 Elijah Cochran
 * http://www.elijahcochran.com
 * Open a Serial Monitor for new IR code retrieval in HEX
 */

#include

int RECV_PIN = 2;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn();        // Start the receiver
      // initialize the digital pins as outputs.
  pinMode(8, OUTPUT);         // "Motor lead 1"
  pinMode(9, OUTPUT);         // "Motor lead 2"
  pinMode(1, OUTPUT);         // Power Relay Pin
  pinMode(11, OUTPUT);        // Stats LED
}

int step = 1;
void loop() {
  digitalWrite(1, HIGH);      // Power Relay On
  if (irrecv.decode(&results)) {
    switch (results.value) {
    case 0xDEB92:             // left
      digitalWrite(11, HIGH); // Stats LED On
      digitalWrite(8, LOW);   // resets pins
      digitalWrite(9, LOW);
      digitalWrite(8, HIGH);  // begin motion
      digitalWrite(9, LOW);
      delay(5000);            // wait for five second
      digitalWrite(8, LOW);   // stop motion
      digitalWrite(11, LOW);  // led off
      break;
    case 0x3EB92:             // right
      digitalWrite(11, HIGH); // Stats LED On
      digitalWrite(8, LOW);   // resets pins
      digitalWrite(9, LOW);
      digitalWrite(8, LOW);   // begin motion
      digitalWrite(9, HIGH);
      delay(5000);            // wait for five second
      digitalWrite(9, LOW);   // stop motion
      digitalWrite(11, LOW);  // led off
      break;
    case 0x68B92:             // open / close
      digitalWrite(11, HIGH); // Power Stats LED On
      delay(50);
      digitalWrite(11, LOW);  // Power Stats LED Off
      delay(50);
      break;
    case 0xA8B92:             // off
      digitalWrite(1,LOW);    // Power System Off
      delay(5000);            // Wait five seconds to confirm its off
      break;
    default:
    Serial.print("Received 0x");
    Serial.println(results.value, HEX);
    }
    irrecv.resume();           // Receive the next value
  }
}

What you do is you turn on the unit by holding down the power button, until the LED start blinking. Then the code turns on the reed relay to keep the power on. Then it starts looking for a IR code to come in. Here is the schematic.

4 thoughts on “Camera Dolly

  1. Thank you for your internet site! I really treasure what you’re providing here.

Comments are closed.