Jump to content
43oh

GeoNomad

Members
  • Content Count

    13
  • Joined

  • Last visited

Posts posted by GeoNomad

  1. I would go with a real proximity detector if the object might not be moving, which is a requirement of all motion detectors.

     

    The Sharp GP2Y0A21YK and similar proximity detector are easy to interface and you can set the range you want to detect.

     

    They are available on ebay at a pretty reasonable price.

     

    A couple of PDF spec sheets to get you going: GP2Y0A21YK and GP20A02YK.

     

    Peter

  2. Ham radio is a great hobby and a wonderful community. You will meet fine hams all over the world, on the radio, on the internet, and if you travel, in person.

     

    Start by meeting the local hams in the nearest club(s).

     

    Look for the various hamfests that might be near you. There are small regional ones and large divisional ones, and then there is Dayton.

     

    http://www.arrl.org/hamfests-and-conventions-calendar

     

    And most important, turn on the radio and LISTEN. Listen to HF, listen to 2 meters, listen to some morse code. Find your niche, maybe you will get hooked on digital transmissions (CW was the first digital transmission - it is all ones and zeros). Maybe satellite or moonbounce. Maybe contests. Maybe just having an HT on your belt and a radio in the car. There is something for everyone.

     

    And always something new. BTW, there are now over 700,000 hams in the US. More per capita than at any previous time. It is not a dying hobby. And a surprising number of new hams choose to learn CW, even though it is no longer required. You can do a lot more with a small budget or a small lot using CW.

     

    73 :wave:

    Peter

    AB6WM - VE3SUN - C31LJ

  3. I read you said the high profile one can be use with the case with some dremel work, but does that make hole on the case? It rains a bit here and I need the case sealed

     

    To fit the controller into a completely waterproof case, I use the back that comes with the LED back. That has sufficient extra room for everything with any of the low profile connectors.

     

    I also sealed the top of the LED back cover that has holes in it for sound. That makes a water resistant - i.e. open at the bottom but not at the top enclosure so I can run a cable out the bottom holes for USB power on the bus plug. Good for making very long time lapses.

     

    It has the added advantage of not steaming up when the temperature changes drastically, so I also use it on my helmet when flying. High altitude flights used to steam the lens as the temperature changed rapidly.

     

    Peter

  4. I know this is an old thread but the discussion about surplus electronics outlets got me thinking and I was wondering if there is anyone old enough to remember Poly-Pak

     

    Funny that I came across your post this morning. I was just thinking about Poly-Paks yesterday. I saw a pile of small poly-bags and it triggered that ancient and very satisfying memory.

     

    I am sure I still have lots of parts that came from them back in the 60s - especially in the resistor drawers and places like that.

     

    I have no desire to end my long addiction to buying parts, which only goes back 50 years now, but I would like to know how to remember what I have already bought.

     

    I can't tell you the number of times I have ordered something and a few days later come across one in a drawer or a junk box here.

     

    OTOH, it is a bit like Christmas sometimes, just opening drawers and looking through to find what you come across - always sparks some new old creative thoughts.

     

    Peter

  5. I have the watch from the first release, way back when.

     

    I seem to recall reading that later versions could be reprogrammed wirelessly without disassembly.

     

    Did I dream it? I can't seem to find any reference to that now. And the current TI text confusingly says it "may be disassembled" to reprogram it.

     

    Can someone clarify this for me?

     

    Thanks,

    Peter

  6. Cool 8-) . Where can I get one of those mated connector?

     

    There is a link on my web page to the supplier.

     

    Are you able to squeeze the connector and MSP430 into the GoPro housing case?

     

    Yes, it fits in the waterproof back with the small connector, using the wider backs that comes with the LCD display. The one pictured works with the open back after a little Dremel work.

     

    You can use timerA instead of watch dog timer and you can have a lot better time resolution.

     

    In fact, I just built a second one with a crystal for accurate time resolution and lower power by setting the ports to output.

     

    Peter

  7. The GoPro HD Hero camera does not have a remote shutter input, but it does have an interface bus on the back designed for an add-on LCD display and other accessories not yet available.

     

    I thought it would be interesting to interface an MSP430 to the camera to automate the taking of photos for time-lapse photography, and to add a remote control and motion detection.

     

    The easiest way to do this turned out to be the PWR/MODE button which is brought to the connector on the back. The camera has a one-button mode which will take a photo or start a video recording when the camera is powered on.

     

    I elected to use the EZ430 F2012 because I had one that I got for free a while back.

    controller1.jpg

    The interface to the camera is via two wires - the pullup on the input for the power button provides enough power to run the MSP430. A 1,000 microfarad cap provides power for when the processor grounds the input to turn the camera on and off.

     

    GoProControllerSchematic.gif

     

    The program only has to do a few things. After initializing the output and setting up the watchdog timer to interrupt every 256 mSec, it goes to sleep.

     

    On interrupt, it decides what to do next which depends on where it is in the picture taking cycle. A cycle consists of: Turn on the camera with a 250 mSec low pulse. Wait 3 seconds for the image capture. Turn off the camera with a 3 second low pulse. Flash the LED to show things are working. Wait until it is time to do it all again.

     

    
    //******************************************************************************
    //
    //  GoPro HD Camera Control using BUS connector
    //  for MSP430F2012
    //
    //  Uses PWR/MODE button to wake camera up and take photo in One Button Mode
    //
    //  Set SHOT_RATE for number of seconds between shots
    //  If not using xtal control, time requires CALIBRATION
    //
    //  closes PWR button for 250 mSec to wake up camera
    //  waits  3.75 seconds for snap and store
    //  closes PWR button for 3 seconds to turn camera off
    //  flashes LED to indicate start of next cycle
    //
    //  Peter Jennings  http://benlo.com/msp430
    //
    //******************************************************************************
    
    #include "msp430.h"
    
    #define SHOT_RATE 60    //   seconds between shots
    #define CALIBRATION 7  //   calibration to improve accuracy
    
    
    #define WAITING 0    //   waiting for next cycle
    #define STARTING 1   //   button down to start
    #define WAITING_CAMERA 2  //   waiting for camera to take pic
    #define STOPPING 3   //   button down to stop
    
    static int tick;
    static int state;
    
    static int time;  // seconds since last save
    
    
    void main(void)
     {
     WDTCTL = WDTPW + WDTHOLD;           // Stop watchdog timer
    
     P1SEL |= 0x00;                      // P1.1 option select - just I/O
     P1DIR |= 0x11;                      // Set P1.0 P1.4 to output direction
     P1OUT |= 0x10;                      // LED off, GoPro button off
    
     BCSCTL2 |= DIVS_3;                  // SMCLK/8
     WDTCTL = WDT_MDLY_32;               // WDT Timer interval 32mS
    
     tick = 0;
     time = 10;                       // wait for cap to charge up
     state = WAITING;
    
     IE1   |= WDTIE;                  // Enable WDT interrupt 256 mSec
     _BIS_SR(LPM0_bits + GIE);        // Enter LPM0 with interrupt
     }
    
    // Watchdog Timer interrupt service routine
    
    #pragma vector=WDT_VECTOR
    __interrupt void watchdog_timer(void)
     {
     if ( (state == STARTING) && (tick >= 1 ) )  // start takes .25 seconds
         {
         state = WAITING_CAMERA;
         P1OUT  |= 0x10;           // button up
         }
     if ( tick & 0x03 )            // most of the time
        {
        P1OUT &= ~0x01;            // LED off and go back to sleep
        }
     else                          // about once very 1.024 seconds
        {
        time++;
        if ( (state == WAITING) && (time >= SHOT_RATE+CALIBRATION) )  // time for photo
            {
            P1OUT &= ~0x10;             // button down
            time = 0;
            tick = 0;
            state = STARTING;
            }
        else if ((state == WAITING_CAMERA) && (time >= 4) ) // time to turn off
            {
            state = STOPPING;
            P1OUT &= ~0x10;             // button down
            }
        else if ((state == STOPPING) && (time >= 7)) // should be off now
            {
            state = WAITING;
            P1OUT  |= 0x10;             // button up
            P1OUT  |= 0x01;           // LED flash to indicate done cycle
            }
        }
     tick++;                  // 256 mSec ticks
     }
    
    

     

    I have written no more than a few lines of code for this processor in my life and am basically unfamiliar with it. I would appreciate any pointers from those who are more familiar with the chip, both with regards to the hardware interfacing and the software program. I am sure I am missing some basic details and it would be good to correct them before other users implement these instructions. Feedback is encouraged.

     

    The complete writeup is at http://benlo.com/msp430/GoProController.html

     

    Peter

  8. He geoNomad. Sweet work! Welcome to the forums.

     

    This contest has rolled over to the next month as we need more than 5 entries for the contest to be valid. Also, make sure you make at least 5 posts for your enter to be valid.

     

    Well, I'm not all that worried about the contest, but I would like to get feedback from those more knowledgeable than me. Should that be in a different thread from the contest entry?

     

    Peter

  9. The GoPro HD Hero camera does not have a remote shutter input, but it does have an interface bus on the back designed for an add-on LCD display and other accessories not yet available.

     

    I thought it would be interesting to interface an MSP430 to the camera to automate the taking of photos for time-lapse photography, and to add a remote control and motion detection.

     

    The easiest way to do this turned out to be the PWR/MODE button which is brought to the connector on the back. The camera has a one-button mode which will take a photo or start a video recording when the camera is powered on.

     

    I elected to use the EZ430 F2012 because I had one that I got for free a while back.

    controller1.jpg

    The interface to the camera is via two wires - the pullup on the input for the power button provides enough power to run the MSP430. A 1,000 microfarad cap provides power for when the processor grounds the input to turn the camera on and off.

     

    GoProControllerSchematic.gif

     

    The program only has to do a few things. After initializing the output and setting up the watchdog timer to interrupt every 256 mSec, it goes to sleep.

     

    On interrupt, it decides what to do next which depends on where it is in the picture taking cycle. A cycle consists of: Turn on the camera with a 250 mSec low pulse. Wait 3 seconds for the image capture. Turn off the camera with a 3 second low pulse. Flash the LED to show things are working. Wait until it is time to do it all again.

     

    
    //******************************************************************************
    //
    //  GoPro HD Camera Control using BUS connector
    //  for MSP430F2012
    //
    //  Uses PWR/MODE button to wake camera up and take photo in One Button Mode
    //
    //  Set SHOT_RATE for number of seconds between shots
    //  If not using xtal control, time requires CALIBRATION
    //
    //  closes PWR button for 250 mSec to wake up camera
    //  waits  3.75 seconds for snap and store
    //  closes PWR button for 3 seconds to turn camera off
    //  flashes LED to indicate start of next cycle
    //
    //  Peter Jennings  http://benlo.com/msp430
    //
    //******************************************************************************
    
    #include "msp430.h"
    
    #define SHOT_RATE 60    //   seconds between shots
    #define CALIBRATION 7  //   calibration to improve accuracy
    
    
    #define WAITING 0    //   waiting for next cycle
    #define STARTING 1   //   button down to start
    #define WAITING_CAMERA 2  //   waiting for camera to take pic
    #define STOPPING 3   //   button down to stop
    
    static int tick;
    static int state;
    
    static int time;  // seconds since last save
    
    
    void main(void)
     {
     WDTCTL = WDTPW + WDTHOLD;           // Stop watchdog timer
    
     P1SEL |= 0x00;                      // P1.1 option select - just I/O
     P1DIR |= 0x11;                      // Set P1.0 P1.4 to output direction
     P1OUT |= 0x10;                      // LED off, GoPro button off
    
     BCSCTL2 |= DIVS_3;                  // SMCLK/8
     WDTCTL = WDT_MDLY_32;               // WDT Timer interval 32mS
    
     tick = 0;
     time = 10;                       // wait for cap to charge up
     state = WAITING;
    
     IE1   |= WDTIE;                  // Enable WDT interrupt 256 mSec
     _BIS_SR(LPM0_bits + GIE);        // Enter LPM0 with interrupt
     }
    
    // Watchdog Timer interrupt service routine
    
    #pragma vector=WDT_VECTOR
    __interrupt void watchdog_timer(void)
     {
     if ( (state == STARTING) && (tick >= 1 ) )  // start takes .25 seconds
         {
         state = WAITING_CAMERA;
         P1OUT  |= 0x10;           // button up
         }
     if ( tick & 0x03 )            // most of the time
        {
        P1OUT &= ~0x01;            // LED off and go back to sleep
        }
     else                          // about once very 1.024 seconds
        {
        time++;
        if ( (state == WAITING) && (time >= SHOT_RATE+CALIBRATION) )  // time for photo
            {
            P1OUT &= ~0x10;             // button down
            time = 0;
            tick = 0;
            state = STARTING;
            }
        else if ((state == WAITING_CAMERA) && (time >= 4) ) // time to turn off
            {
            state = STOPPING;
            P1OUT &= ~0x10;             // button down
            }
        else if ((state == STOPPING) && (time >= 7)) // should be off now
            {
            state = WAITING;
            P1OUT  |= 0x10;             // button up
            P1OUT  |= 0x01;           // LED flash to indicate done cycle
            }
        }
     tick++;                  // 256 mSec ticks
     }
    
    

     

    I have written no more than a few lines of code for this processor in my life and am basically unfamiliar with it. I would appreciate any pointers from those who are more familiar with the chip, both with regards to the hardware interfacing and the software program. I am sure I am missing some basic details and it would be good to correct them before other users implement these instructions. Feedback is encouraged.

     

    The complete writeup is at http://benlo.com/msp430/GoProController.html

     

    Peter

×
×
  • Create New...