"Make a Time-Lapse Movie Using a TI89 Calculator"

Jan 5, 2008 2:46pm | 75 comments
UPDATE: If you are having trouble getting the code to work right, make sure you have the most recent firmware installed on your ti89 (Thanks Colin).
I recently came across this post on Instructables that gave instructions on how to turn a TI83 calculator into a basic intervalometer for a Canon EOS Rebel Camera. For those of you that don't know, an intervalometer is a remote control that you can hook up to your camera that will snap photos at a specified time-interval. It is how you make time-lapse videos. I was stoked to see this because I was about to purchase the Canon TC80N3 for about $120!
While the instructable post worked great for the TI-83, it did not work for my TI-89 Titanium so I wrote a little program based on the original, but enhanced. I spent my time doing the coding through the calculators program editor, but later I found the TI Connect software that can be used to transfer files to/from the calculator, as well as do backups and screenshots, etc...

Example Time-Lapse Movie

This short movie was made in 45 minutes. Every 15 seconds a picture would snap, for a total of 180 pictures. Using a framerate of 15 frames per second (or in this case, photos per second), those 180 pictures combine to make a 12 second movie.

Necessary Components

For this to work you need a TI89 calculator (it may work on other calculators with a little code tweaking), a male-to-male mini-jack connection cable (it came with your calculator), and a camera with a mini-jack remote switch (such as the Canon Digital Rebel XTi). There is only 1 file you need to get on your calculator, in the "main" folder:
Download as TIProgram (for the TIConnect software)
or
Download as Text File (for inspection / manual input)
Like I said before, you can use either a transfer utility from your computer of just code it by hand... it's not too long.

Setup

Obviously you need to make sure you have fresh batteries in the calculator and the camera. I would use it on a tripod to keep it stable, and set you camera up so that the shots are consistent. This means that you should NOT use autofocus, autoflash, or auto-anything! Keep your camera on the manual setting, adjust the aperture, iso, and focus before hand. Most time-lapse movies span hours if not days, so making sure you are setup right is crucial in saving time. Take many test shots until you are hapy, and monitor the program at first to make sure things are going as planned.
I would keep the photos named in a numerical, sequential organization. This way, when you use Quicktime or another movie making software, you will have a much easier time. Also, you will not be making a movie that is 3888x2592 pixels. Turn the quality setting to the lowest one (1936x1288 on my XTi) to save space and time.

Execution

Simply type camera() into your calculator and answer the setup questions

Screenshots

Combining into a Movie

After all the photos have been taken, you should have many files all in numerical sequence. I'm sure there are plenty of programs out there to make time-lapse movies, but I use Quicktime Pro. All you have to do is goto File => Open Image Sequence... or press Shift-Command-O
Next you want to select the first picture in your sequence, select our frame rate, and Quicktime Pro will do the rest! This will usually produce a really big file so you might want to scale it down for online viewing. Save the movie and you are done!

Code

Maybe you just want to look at the code?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
camera()
Prgm
ClrIO
Disp "Interval in seconds?"
Prompt interval
Disp "Number of pictures?"
Prompt quantity
quantity*intervaltotal
timeCnv(total)list
Disp "This will run for…"
Disp list
Disp "{days hrs min secs}"
Pause "Ready to start?"
Disp "Running…"
For i,quantity,0,1
  startTmr()time
  checkTmr(time)t
  While tinterval
    checkTmr(time)t
  EndWhile
  Try
    Send {1}
  Else
    ClrErr
  EndTry
  Disp i
EndFor
Disp done
EndPrgm
  • Lines 3-14: Get input and calculate time
  • Line 15: Run a loop starting at "quantity" and counting down to 0
  • Lines 16-20: Make the program stall for "interval" seconds
  • Lines 21-25: Send the command to the camera, ignore the error about the camera not being a calculator.

Comments Subscribe to Recent Comments

Avatar
Jan 13, 2008 10:49am

I think this program actually takes one more picture than is wanted. I fixed that by changing the for loop to:
For i,quantity,1,-1

Avatar
Jan 14, 2008 12:29am

Thanks for the fix... those boundary conditions always elude me in these quick jobs.

Avatar
Jan 19, 2008 4:21pm

This post is fantastic (in theory) :) i'm making a time-lapse video for a class and was looking for a way to avoid standing in the closet with a stopwatch.

I'm running into trouble with the program though, and i believe it's happening between lines 7-10. Although i coded everything identically to the example, when i run the program, it doesn't display the time as "{0 0 0 50}" but rather as "timecnv(50)", and subsequently gives me an error - "a test did not resolve to TRUE or FALSE"

I'm using a TI-89 and a Canon Rebel XT

Any thoughts?

Avatar
Jan 19, 2008 4:47pm

Without seeing your code, it looks like you typed timecnv(50) instead of timeCnv(50)... note the capitalization of the "C". Thanks for the kind words

Avatar
Jan 19, 2008 5:03pm

Thank you for the feedback.

The capitalization was my instinct as well, buti doublechecked and the command is written correctly in the code. my code says timeCnv, but displays timecnv.

is there any way to simplify?

Avatar
Jan 19, 2008 5:19pm

Also, i'm using a regular TI-89, not the Titanium. Could that be the culprit? perhaps that's a function it doesn't support?

Avatar
Jan 19, 2008 5:30pm

The code in question is only used to help you figure out how long its going to run for in days, hours, minutes and seconds. Try changing lines 8-12 to:

quantity*interval→total
Disp "This will run for…"
Disp total
Disp "Seconds"

Then you can just figure out how long it runs yourself

Avatar
Jan 21, 2008 11:33am

Thanks for the update to the code. I also have a non-Titanium TI-89, and I'm having similar issues. I had already tried just removing lines 8-12 since it wasn't crucial to me. Now I have another problem though, at line 16. It seems like the checkTmr function might now work right (or at all) on my TI-89. I can use startTmr() out on the home screen, and it returns a value like you would expect. I can even use the startTmr() and store the value to a variable correctly, just not checkTmr. (I get an argument error, without any other details)

Has anyone else had a similar problem? I figured I'd have to write the code in a different way to get around this if I can't get checkTmr to work, but the original design here seemed much cleaner than something I would write...

Avatar
Jan 21, 2008 3:35pm

Bad news... after some guidebook research (here), it seems as though the ti89 does not support the same time based commmands as the ti89 titanium. Perhaps the original instructable article is better for you... you can experiment with the time it takes to get through a while loop. Or maybe pick up a used ti89 from ebay. Sorry

Avatar
Jan 21, 2008 4:20pm

I had read through the manual too, so I knew it wasn't explained very well, but the functions did exist in the catalog, so I kept trying. I got your code to work, exactly as it should too, thanks for writing it and all your help. To get it to work I flashed the OS to the newest version. It didn't make any sense, because I had v2.09 before, and I flashed it to the same (2.09, the newest out for the TI-89, dated 3/27/2003) version using TI-Connect, but whatever it did fixed what was wrong with my calculator.

Be careful when upgrading because it does wipe your memory clean in the process, but I backed up my RAM and Archive beforehand, then restored it back to get this result.

Avatar
Jan 21, 2008 8:13pm

Thanks Colin, you probably just figured out the solution to most peoples problems regarding this post. Kudos

Avatar
Feb 28, 2008 6:16am

I can't find the cable that came with the TI-89 so I need to get a new one. Are you using a mono or stereo cable? Got any sources??

Avatar
Feb 28, 2008 9:13am

try this one

Avatar
Mar 3, 2008 11:00am

I get an "Argument Error" when I input the "number of pictures quantity".

I simply copy and pasted the code you provided into a notefolio file, then copied that info while in the notefolio app, and pasted it into a program. Hit enter, and then opened it up via "camera()".

Any idea what I could have done wrong? I'm not a programmer by any means, so I don't know this calculator very well. Just happened to have it on hand and thought I'd give your tutorial a shot.

Thanks.

Avatar
Mar 6, 2008 3:51pm

@James

I would just manually type in the program in the calculator. I am unfamiliar with notefolio and it might be adding some formatting or something to the text. You need to open the program editor and try there.

Avatar
Mar 8, 2008 6:42pm

I don't undertand how the functions work while programming with the TI-89 Calc. Can someone help me? Here is the erro message I get when I execute the code, "ERROR: A test did not resolve to TRUE or FALSE" It seems to me as my arguments aren't getting passed to the function. Please someone help...

Avatar
Mar 8, 2008 6:50pm

I have the newer version of the TI-89, aka Titanium.

Avatar
Mar 8, 2008 9:55pm

@Didum, on your TI-89, go to HOME -> ProgramEditor -> Open camera(), and send me an email with everything inside (exactly as you typed) by clicking on my pic (top right side of this comment)

Avatar
Mar 13, 2008 8:26pm

Coneybeare, I have emailed you the code. In the email, I had the main program written first and followed by the function, namely, fctn(mach,beta). Both of these programs are written separately. When I execute the program, the same error keeps coming up: A test did not resolved to TRUE or FALSE. Thanks for your time.

Avatar
Mar 14, 2008 3:28pm

@Didum, The code you sent me was for another program... If you are having trouble with the camera() prgram, please email the code for camera(). Otherwise, I suggest getting generic TI89 programming help here

Avatar
Mar 14, 2008 5:36pm

The code I sent you is the one I'm having problems with. I have gotten it to work, but not in the same fashion I had it programmed in MATLAB and that is where I'm trying to get to. When you look the code I sent you, is there anyway you can tell me why I'm getting "A test did not resolved to TRUE or FALSE" even though this program is not same as camera()? Will it be the expression I had in the while loop or what could be a possible explanation?
Thanks for your time.

Avatar
Mar 27, 2008 8:53pm

Hi, First off, Great Code. Second, I keep getting a "syntax error" on line 14 at "-1". Any help will be appreciated. Thanks.

Avatar
Apr 12, 2008 9:26am

For other applications with the calculator-camera combination I've built a site. It's Dutch and for many other TI calculators. I link to your site (and will use some info of it, translated to Dutch) for the TI-89 PRGM. Thanks!

Avatar
mee
Jun 9, 2008 5:33am

Doesn't seem to do anything with my SONY R1, does anyone tried it on other than Canon?
I didnt try the whole code
just

Try
Send {1}
Else
ClrErr
EndTry

can anyone help please

Avatar
Jun 9, 2008 3:41pm

If its not working checkTmr() function try to change from approximate to auto mode - then its workingè Thanks for the code! (Tryed on a Voyage 200)

Avatar
Jul 25, 2008 10:25pm

Hi, thanks for this code! I'm very excited to start using it. However, whenever I try to run the program, I get a syntax error. It brings me to Line 15 and puts the cursor between the - and 1. Do you have any suggstions?

Thanks again!

Avatar
Jul 26, 2008 11:26am

Is it possible that the - you entered in is a dash and not a negative sign?

Avatar
Jay
Jul 26, 2008 4:14pm

I feel like an idiot now. I put in a minus sign instead of a dash. Sorry for the confusion and thanks for the response.

Avatar
Jul 31, 2008 10:43am

Avatar
Jul 31, 2008 10:14pm

Avatar
Aug 1, 2008 3:06pm

Avatar
Aug 1, 2008 4:08pm

Avatar
Aug 5, 2008 6:16am

Avatar
Aug 6, 2008 3:34pm

Avatar
Dan
Aug 8, 2008 12:25am

Avatar
Aug 11, 2008 5:19pm

Avatar
Ron
Aug 13, 2008 11:16am

Avatar
Aug 14, 2008 8:08am

Avatar
Aug 15, 2008 10:42pm

I tried this using a TI-92. My camera is currently borked - nothing operates the shutter now, not the button, wireless remote, or the calculator. So don't try it with a TI-92! If anyone has any ideas of how to fix my camera, please let me know.

Avatar
Dan
Aug 16, 2008 9:35pm

Avatar
Aug 22, 2008 6:13am

Avatar
Aug 25, 2008 12:58am

Avatar
Aug 25, 2008 12:09pm

Avatar
Aug 30, 2008 4:28am

Avatar
Aug 30, 2008 9:40am

Avatar
Sep 9, 2008 6:57pm

Make sure that you also clear out your a-z variables, namely "t" before trying to run the program. I think that was Colin's issue. It worked! Now I just need to buy or make a cable to try it out.

Avatar
Sep 11, 2008 2:37pm

Avatar
Sep 12, 2008 7:00am

so i put the code in my ti-89 titanium, cleared my vars and set the mode to auto, however the camera only wants to pop the flash and focus. it refuses to fire at all. its a canon rebel xt. any help would be greatly appreciated.

Avatar
Ben
Sep 19, 2008 3:22pm

I also cant ge tthe camera to fire. The code is running jsut fine, but the camera wont actually take a shot. Anyone know whats going on?

Avatar
Oct 10, 2008 1:49pm

Avatar
Oct 22, 2008 12:22pm

I have a new problem. The camera won't stop firing. I think it is the calculator trying to send signals instead of the camera. The reason I think this is because the calculator will not turn off if the linking cable is in. And if it is off when I plug the linking cable in, the calculator turns itself back on.


@Ben and Woody
It sounds to me like your problem is with the camera settings. You should have the camera set to manual in every possible way. Try changing the mode dial to "M" and turning off auto focus.

Avatar
Oct 22, 2008 2:40pm

I solved my own problem. The camera must be in Single Shooting mode to work with the calculator. ALSO, I need to plug my camera into the link cable and turn on the CAMERA, then the calculator must be OFF as I plug the link cable into the calculator.

This is the solution that works for me. I am using a modification of this program because I have an Original TI-89 which does not have the Time Functions used. Even though I am a special case, I figured I would post my findings here incase it helps others.

Avatar
Oct 24, 2008 3:26am

Avatar
Oct 24, 2008 5:45pm

I have a G10 and a Ti-89 Titanium. The camera focus and beeps, but the shutter never actually snaps. Help!

Avatar
Oct 25, 2008 4:30pm

@ Goedhart

ya, i figured out that everything had to be manual and i came back here to post but the site had been down so i forgot to until now.

Avatar
Nov 20, 2008 1:18pm

I am buying a new ti 89 T and I would like to run this program but I am concerned that it will hurt my new calc. If you could claify on how this works it would be a great help. thanks

Avatar
Jan 11, 2009 9:19pm

Has anyone created a code for the Ti-89 "non-titanium" yet??? I've looked everywhere and have not been successful.

I love time-lapse and want to make this work soooo bad. Thanks...

Avatar
Jan 13, 2009 12:22pm

Hi, I have a G10 too, and the smae problem as Scott. The camera only wants to focus (+bleep).

what can we do?
has it something to do about "Send {1}"?

Avatar
Jan 13, 2009 12:25pm

You can try sending other values. I don't think it will mess up the camera at all. That being said, I am not responsible...

Avatar
Jan 13, 2009 12:36pm

I tried values from 0 to 10, still nothing.
I also tried this:

Send{1}
Send{1}
Send{1}

still nothing

Avatar
Jan 13, 2009 1:52pm

You can try sending a second parameter to the function: send{1, 2}, I think I remember there being a duration arg

Avatar
Jan 13, 2009 1:52pm

You can try sending a second parameter to the function: send{1, 2}, I think I remember there being a duration arg

Avatar
Jan 13, 2009 2:34pm

it looks like it needs an extra push...

Avatar
Jan 15, 2009 9:45pm

G10+ 89 ti and same problem, tried
Send {1}
Pause
Send {1}
still no luck, any ideas?

Avatar
Feb 2, 2009 4:29pm

I'm trying to take 3 exposures for an HDR timelapse.How can I modify this so that it takes 3 consecutive shot every interval with the auto-bracketing on the camera?

Thank you so much for this code, it's brilliant! I apologize for being a noob at coding though =(

Avatar
Feb 2, 2009 4:33pm

The command that triggers the exposure is Send {1} so you will have to put that in 3 times. I am not sure what auto bracketing is or how to do it, but if it truly auto... then you should only have send the Send command. The calculator is probably going to be faster than the camera though so you would have to include a sleep inbetween the 3 sends. Please see some online docs at the TI sites to see how to do this.

Avatar
Feb 13, 2009 4:09pm

will this work with my rebel xsi?

Avatar
Feb 13, 2009 4:30pm

@patrick It certainly wont hurt to try it out!

Avatar
Feb 14, 2009 11:53am

Ill let you guys know if it works!

Avatar
May 25, 2009 2:39am

@patrick riley

have you news about the auto-bracketing ?


regards

Avatar
May 27, 2009 12:34am

I got this to work with a Canon G10, but had some problems. First I did not have a cable so I used two headphone 3.5mm to 2.5mm (has 4 connections)and a 3.5 stereo patch cable. this did not work, it only focused. When I used one 3.5mm to 2.5mm stereo (has 3 connections)adapter instead on either side of the patch cable the camera fired. I have ordered a 2.5 stereo patch cable hoping that will also work. The problem i have now is that the shutter is always "hot" or pressed. Not a big deal but forces the last image to show on the LCD till the next shot. This wasted batteries, any way around this?

Avatar
May 27, 2009 6:19pm

I watch this guy for year, yea he do a lot of crazy stuff, but I know he is a really good and nice person. My boyfriend got his all best fights and we probably going to pray today and watch his in ring - so sad love you Mike.

Avatar
May 29, 2009 3:19pm

Hi! Does anybody know which value I have too send to my EOS 450D? {1} doesnt work...

Avatar
Jun 7, 2009 10:36pm

Скучаеш по женскому телу, хочеш секса,хочеш познакомиться для секса? ТОГДА ТЕБЕ СЮДА
Тех двух женщин втолкнули в процедурную минуту спустя. Наталья и ее дочь Нина. Бледные, осунувшиеся. Здесь, на свету особенно видно. Допрос начался. Любка не очень понимала о чем речь и что именно интересует полицая. Мелькали слова ;оружие;, ;листовки;, ;пароль;, какието еще Ясно было лишь то, что полицай Георгий Крамарюк ждал признаний. А их не было. Вспотевший от злобы, он тупо смотрел в лицо молодой женщины, испуганно поправлявшей сбившиеся на лоб пряди волос.
Молодец теперь отлижи мне . у тебя это неплохо получается –сказала она и оттолкнула ногой Валерию , я встал на колени и начал лизать моей богине её прекрасную киску проникая языком так глубоко как только мог я наслаждался каждой секундой этого действа
И я ныряю в теплое урчащее чрево машины, подобрав длинные полы шубы.

анна семенович миньет
миньет посмотреть
миньет скрытой камерой
миньет в москве
анна семенович миньет

Avatar
Jun 19, 2009 2:42pm


"7"]Buy Viagra online
"5"]Still looking for Viagra?
The best way is to visit our online store!
Cheapest website to buy Viagra online.
We provide only HIGH QUALITY Viagra.
Discreet shipping worldwide.

"5"]NO PRESCRIPTION REQUIRED!
"5"]Save your money and time, choose only the best!
Cheap Viagra online is guaranteed!

buy Tamiflu
buy Carisoprodol online
buy Levitra
buy Cialis
buy Ultram onlin
buy Ephedraxin
"7"]Buy Viagra - CLICK HERE!

Add A New Comment

Name
Email
Website

Notify me about future comments