Showing posts with label how to. Show all posts
Showing posts with label how to. Show all posts

Tuesday, October 6, 2015

Moon Photography!

Moon, mid-eclipse. 200mm lens, ISO 400, f4, 1s shutter speed


Sorry, this is a little late to capture the lunar eclipse, but taking pictures of the full moon can still be fun even when its not being eclipsed.

Before I get started talking about exposure and lenses and such I wanted to explain someone that may not be obvious and understanding this will help you better understand how to take pictures of the moon.  The moon, which you may know is being illuminated by direct light from the sun.  And, the moon is essentially the same color as concrete.  Basically, this means the moon is as bright as a sidewalk on sunny day.  So don't be surprised that you may find that a proper exposure is going to be somewhere in the ballpark of ISO 400, f/16, at 1/250th.

Fun fact - the human eye/brain completely exaggerates the size of the moon and it is always disappointingly small in photos so you will want to use as long a lens as you can.  200-300mm for instance would be much more preferred.

You can shoot a time-lapse of the moon but it moved quite a bit in 30 seconds.  Below you can see two images taken 30 seconds apart and see how much the moon has moved in that interval.



So you can shoot a time-lapse but the moon will move across the frame unless you use some sort of star tracking tripod - which I don't have... yet.  It seems like I do more and more astrophotorgaphy so I may pony up a few hundred dollars to be able to do this.

Below is my off the cuff time lapse that I shot.  Since the moon moves so much I had to adjust the camera every 30 minutes or so.  Also, I had to adjust the exposure not only because of the eclipse but also because of cloud cover.  That is why at times the moon seems to disappear is because I stepped away from the camera and clouds rolled in and obscured the moon.  Also speed at which the moon moves is due to a change in interval timing.  At first I was taking pics every 30 seconds, but toward the end I switched to 15 second intervals.

Enjoy!



Thursday, February 26, 2015

Organizing Your Photos -

Strategies and Tips

Organizing photos has always been a problem even in the age of film though the volume of photos people can generate has magnified significantly with digital.  There are a number of strategies for organizing photos and I will go into some detail what I do and perhaps you can take use this my process or develop your own to help you keep your images sorted.  The key is to figure out your system and then make sure to follow it as you unload photos from your camera onto your computer because once you get behind it can be hard to find the time and/or the motivation to clean up the files.  Then you run the risk of losing photos you treasure either because you accidentally delete them thinking they are stored somewhere else or your computer dies and you don’t get them backed up properly.

Really the only way to organize digital images is to figure out some sort of file structure that you can place your photos into.  It seems that people typically decide to organize by date (ie 2-15-2015), or event name (ie “Christmas at Grandma’s”).  Now there are advantages and disadvantages to both. For instance, you may not remember what date something happened on so you will find yourself spending a decent amount of time searching through folders trying to find the photos you are looking for.  Also, if you don’t use the right date format you will find that your folders won’t be in the order you expect.  For instance, if you use the format 1-7-2015, then all your January dates will be grouped together, then February, etc.  On the other hand, if you list it by event name and you don’t remember what you called the event – for instance you remember is was at Grandma’s house, but you forgot you called it “Christmas at Grandma’s” you will have to read each folder name until you find it.  What I have found that works the best is a combination of the two. 


Here is an example of how I organize my photos.

My top level folder I call “Photography”.  Under that I have a folder for different years 2007, 2008, 2009… etc.  Within each
year I have folders for events “Renaissance Fair”, “4th of July”, and the like.  Since I started I have gotten into Milky Way time lapse which has become quote a large portfolio.  Each shoot yields hundreds of photos and since I didn't want to have to dig through my general photography images to find these I created a new broad category labelled “Time Lapse.”  In this folder I use a slightly different strategy to organize my files since I seem to shoot in the same locations regularly and the date is irrelevant to me, under the main folder I have a folder for different locations.  Those folders are then sub divided into more folders with descriptive names like “Silos with clouds” – which means something to me but probably not anyone else.  I have also created large broad categories to organize photos of local bands I shoot, Infrared photography and one folder dedicated to my daughter.  


This shows how Lightroom is organized .
As you broaden your photography interests you might make other broad categories  as well – such as Weddings or Real Estate or what have you. This works well not only for general file organization, but also works well in Lightroom.  Now each broad category can become its own Lightroom catalog.  The only issue I have had is if you want to transfer images from one catalog to another it can be a little cumbersome – but perhaps this was solved since v2.7( yeah I am a little behind the times…)

Maybe you are just taking pictures of your family and some landscapes or whatnot you could still separate the images into broad categories such as “Kids” or “Dogs.”  My mother-in-law takes pictures of trees.  She could have one folder labelled “Trees”, a folder for “Family” and then “General.”  Really, you can adapt this to you own personal needs.

One note that I would like to stress, if you do choose to label folders by date, is not to use the standard American date format (ie month-day-year).  The folders, which are usually sorted by name, will have all the months grouped together and your folders will be out of chronological sequence.  So, for example, all your January folders will be together, then all your February and so on and so on.  See example below.  The 1/1/2001 then the 1/1/2002 are next to each other.  

Naming Files with month first will group months together as opposed to grouping years together.
My suggestion is to label them year first, then month and day - always using 4 digits for year, 2 digits for month and 2 digits for day.  See below. This standardizes the titles of the folders and makes it easier to find a particular date. 

Name them with year first and they will be in chronological order. 


Backing Up Files:
On a side note, once you have a pretty well established file system, backing up files becomes that much easier.  I am not going to get into to much detail here since this is a whole other topic in itself but I mention it now since you should develop a backup routine because no hard drive or computer is going to last forever.  There are a couple different things you can do now to help protect your files.  One is to back them up onto an external drive on a regular basis.  They have become much more affordable and you can find a 1TB external hard drive for about $60 online.  Another option is to use a "Cloud" backup.  Meaning you upload your images/files to some online service.  This is a great option since internet servers (where your files will be stored ) have a very regimented and robust backup process and its highly unlikely that the data will be lost.  There are a couple disadvantages to this however, one being there is likely a monthly/yearly cost if you want to store more than 5GB of data, and secondly, uploading a lot of large files may take a long time or be impractical if you don't have access to high speed internet.  


Saturday, January 18, 2014

Arduino Time-Lapse Dolly Project Part 3

Arduino Time-Lapse Dolly Project Part 3

Stepper Into Motion

Now that I have tried the relay hooked up to the camera, got a button to fire it, and now its time to test the stepper motor.

First I should briefly explain what a stepper motor is and why I choose to use one.  They are called stepper motors because they move in small incremental steps which is generally measured in degrees.  So a 1.8 degree motor will take 400 little steps per revolution.  Because the motor can move in these small increments, it can (depending on the quality of the motor) make some very precise movements.  That is why I chose such motor for my application since I need the camera to move in consistent, accurate movements between shots.

I am using the Adafruit motor shield.  After I bought it, and started to figure out more about these crazy motor shields they can only handle so much power which means the motors can't draw to much power itself.  The Adafruit ones can handle 1.2A and I found it difficult to find a motor that was less than that. I eventually got one that draws .4A but I am not sure it will be powerful enough to move the camera... we will see!  Regardless it was only $15 so it if doesn't work I can at least use it to test everything out.

The Adafruit website is actually pretty handy and they have a lot of tutorials which is super awesome (see this link here) - though the one for this motor shield was slightly wrong at points, it was right enough that you can figure it out.  First thing first was to download the motor shield library. For instance, the tutorial said once the library is installed it should be accessible through the File/Examples/AFMotor, but that never happened for me.  It does show up under Sketch/Import Library/AFMotor and when you select it you get a "#include " added to the code - I assume always to the top but I haven't done it when there was code present.  Don't let this bother you, keep following the Adafruit tutorial and it has a lot of useful information and some example programming.  I used that example to help with my code below.  

Next step was wiring the sucker up.  For a test, and test only, I used a 9v battery to power the motor.  In real life the battery probably doesn't have enough juice to fully power the stepper motor I am using nor will it have the longevity that I need - 600+ cycles.  I bought a 9v battery hookup and wired it to the board at the Ext. PWR block.  Next to that, there is a jumper. Per the Adafruit tutorial if you want to use an external power supply to run the motor that is separate from the Arduino board, then you remove the jumper.  If you Arduino power supply (ie USB cable) is going to power both then leave the jumper in place.  As a side note, my experience is that even with the jumper removed, when I plugged the Arduino in to the USB to update the program it moved the motor.

Blur block next to the EXT PWR is where you can hook up the power.  The red circle on the right is where the jumper is located.  In this photo, I have already removed the jumper. 

I got a Primopal motor because it was cheap (~$15 shipped), and it was nice that Primopal had data sheets available for all their motors.  Without some sort of tech sheet you will have to figure out how to wire the motor to the board.  Now I am not expert on stepper motors but some are uni-polar and some are bi-polar.  Uni-polar motors have 5 wires and bi-polar have 4.  Either one will work, the shield allowed for both to be hooked up.  There are online resources that will show you how to wire the motor if it doesn't have a data sheet.

To test the motor I used Adafruit's tutorial code with some simple changes.  The motor I have is 1.8 degrees per step, and Adafruit is using a 7.5 degrees per step.  So I changed the steps from 100 to 400 (see red text below).  I also changed the rpm from 10 to 60 just because.

#include


AF_Stepper motor(48, 2);


void setup() {
  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Stepper test!");

  motor.setSpeed(10);  // 10 rpm

  motor.step(100, FORWARD, SINGLE);
  motor.release();
  delay(1000);
}

void loop() {
  motor.step(400, FORWARD, SINGLE);
  motor.step(400, BACKWARD, SINGLE);

  motor.step(400, FORWARD, DOUBLE);
  motor.step(400, BACKWARD, DOUBLE);

  motor.step(400, FORWARD, INTERLEAVE);
  motor.step(400, BACKWARD, INTERLEAVE);

  motor.step(400, FORWARD, MICROSTEP);
  motor.step(400, BACKWARD, MICROSTEP);
}



Now - to tie my camera shutter, and stepper motor together I wrote this code.  A button sets the whole thing in motion.  It will take 20 photos and advance the camera on the track 20 times (see the yellow highlighted section of the code in which this number is set). Keep in mind I have a MEGA board and not the regular Uno board, so I have more pins.  The button and relay are hooked to ports 52 and 53.


#include

AF_Stepper motor(200, 2);  //number of steps per revolution and indicates which port the motor is wired to.

const int buttonpin = 53;  //number of the pin the button is connected too
const int camerapin = 52; //number of the pin the relay to trigger the camera is connected too

int buttonstate = 0;

void setup() {

 pinMode(camerapin, OUTPUT);
 pinMode(buttonpin, INPUT);

 // Setting up the stepper motor
 Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Stepper test!");  //probably not a necessary line....

  motor.setSpeed(60);  // 60 rpm
 }

void loop(){
  buttonstate = digitalRead(buttonpin);

  if (buttonstate == HIGH){
 
    for (int i=0; i<20 span="">; i++) //this will be the stepper motor camera trigger loop, i dictates the number of times the camera shoots
  {
    digitalWrite(camerapin, HIGH);
    delay(3000);
    digitalWrite(camerapin, LOW);
    delay(500);
    motor.step(400, FORWARD, SINGLE);
    delay(1000);
  } //ends the FOR statement
 }  //end IF statement
} //ends LOOP



Next Steps - make a track and dolly for the camera!

Saturday, January 4, 2014

Arduino Time-Lapse Dolly Project Part 2

Arduino Time-Lapse Dolly Project Part 2

Buttons make it go!


For those who have not had much experience with the Arduino, basically what happens is once the board if plugged into a power source the program starts to run - so in this case the relay will start clicking away until you unplug it or upload another program.  So its kind of nice to update the program so that the relay, and therefore the camera will only fire once a button is pressed.

Now I add a button that will trigger the relay and therefore the camera.  The basic button wiring can be found on the Arduino site but I have one here as well:


So I ran a wire from the Arduino +5v pin to the bread board.  Hooked one side to the switch, on the other side of the switch is connected to a digital pin on the Arduino (Pin X), plus a 10K Ohm resistor connected in parallel to ground.

Here is my set up:

Button is the little back square on the white bread board.  The purple wires connect to the relay.  The red, yellow and black wires on the left side go to the camera.  

One thing to consider is that buttons aren't perfect and may "bounce" - meaning they don't make smooth contact and may chatter a bit.  I added a simple debounce code - very simple, maybe even laughably so - but I am a simple guy and I didn't understand the debounce code available online.

Here is my code:

const int buttonpin = 53;  //number of the pin the button is connected too
const int camerapin = 52; //number of the pin the relay to trigger the camera is connected too

int buttonstate = 0;

void setup() {

 pinMode(camerapin, OUTPUT);  //sets pin 52 to output mode
 pinMode(buttonpin, INPUT);  //sets pin 52 to input mode
}

void loop(){
  buttonstate = digitalRead(buttonpin);

  if (buttonstate == HIGH){
    digitalWrite(camerapin, HIGH);  // since I am not sure how much time the relay needs to be on for the camera to register it will keep the relay "on" for .1 seconds. 
    delay(100);
    digitalWrite(camerapin, LOW);
    delay(500); //to help prevent the button from triggering the relay multiple times by accident, this delay prevents the button from being pushed again for .5s
  }
  else{
    digitalWrite(camerapin, LOW);  //in hindsight, I probably don't need an "ELSE" statement
  }
}


Next: Stepper it up!

Saturday, November 23, 2013

Arduino Time-Lapse Dolly Project Part 1

Let me preface this article by saying I am NOT an expert in electronics, or programming or the Arduino... I am pretty confident that I can hack something together, and perhaps my readers can help me along the way if I get stuck.

First I will briefly describe what I have in mind.  I have been taking a lot of Milky Way time-lapse movies recently and to add a little pizzazz to them I would like to have the camera move on a track.  So I can either I can stay up all night and move the camera manually - which sounds like work.  Or I could automate it with some programmable computer thingy.  Option two sounds way better.  The thought is I would have the Arduino trigger the camera for the appropriate amount of time.  When the shutter closes, move the camera on the track a short distance.  Then trigger the camera again and repeat until the sun comes up.  For those who are not aware of what is required to shoot Milky Way time lapse, it takes 300 individual pictures to make 10 seconds of video at 30 frames per second.  For each photo, the shutter is open for 30 seconds.  I prefer to try and shoot all night, which may be 8 hours worth of shooting and equals about 800 shots.  This is why I would like to automate it!  I would rather sleep all night than baby sit the camera. See my first video below:



Now, I am not very electronic savvy - most of my background is in car electronics so I am all about the relays and switches.  To me a transistor is something Harry Potter probably used.  I heard of something called a stepper motor which I think I need to move the camera dolly. After some research I know Arduinos have these shield things to control motors.

Step 1, buy and Arduino.  Check!  Actually I got the Mega because the shield I bought said it worked for the Mega but didn't explicitly say it worked for the Uno so I thought I would just get the Mega for now.

Step 2, buy a stepper motor shield. Check!  I got the SainSmart one off of Amazon.  Hopefully it does everything I need because I don't really know much about stepper motors and such.



The Arduino site suggests installing the "Blink" program.  Well when I plugged it in for the first time the LED was already blinking so that really doesn't help.  So what I did instead was take the standard blink program and change the blink interval.  Uploaded that and it worked great.

Here is the code I used:

int led = 13;

// the setup routine runs once when you press reset:
void setup() {              
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);  
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(250);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(300);
digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(250);
 digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000); // wait for a second
}


I bought a cheap shutter release cable and opened it up to see how it triggered the camera and figure out how to wire it into the Arduino.  I cut the wires to the board (see photo below) and tried connecting different ones together to figure out what combination fired the camera.  What worked was connecting all three together.  If I connected the red and white together nothing happened, but if I connected the white and black it was like a half shutter press, and connecting the red and black did nothing.

See the cut wires in the black connector on the main board. 

With my simplified electronics background the firth thing I thought of was a relay.  Tie the red and white wires together, and use the Arduino to actuate a relay to connect the red and white wires to the black wire. So I wired one up like this:


Hooked up on a bread board it looks like this:


Now one special note - the Arduino can only support 40mA through each pin so you have to pick relay that doesn't draw more than that.  The first relay I got drew 90mA and though it worked, I think it will fry the Arduino over time. How do you figure it out?  Take the voltage, divide it by the resistance.   If its less than .04 then you are OK.  Since the Arduino puts out 5 volts, you take 5 and divide it by the resistance of the coil in the relay (expressed in Ohms).  You need a relay that can be triggered by 5v and has a coil resitance of 125 ohms or more.

As for the code I took the Blink code and changed the pin to 10 and wired the relay up as shown above.  Plugged the Arduino into the computer and listened for the click.  Then I plugged the wires from the shutter release to the camera and did the same thing this time the camere should fire at a regular interval.

Sure enough, it did!  Great success!

Stay tuned for more updates!