Wednesday, May 21, 2014

Intervalometer and the stars

I periodically get an email newsletter from Make Magazine. In a recent issue Ron Risman had an article about how to take time-lapse pictures of the stars. You can find the article here. I thought it would be fun to try, but I don't have a digital SLR camera. As luck would have it, my brother Jim does, and he was coming down to Florida for a long weekend a couple of weeks hence. He brought his camera down and we thought we'd give it a try.

Just to manage expectations, we don't yet have any pictures worth looking at. We followed the guidance in Ron Risman's article, but realized we needed an intervalometer. Now I didn't actually know what that was but Jim educated me, saying that is was a device that could trigger a camera at specified intervals, hence the name. Further he explained that his Olympus camera had an infrared receiver that could be used to trigger the shutter using a hand-held remote, which he didn't own.

We jumped on the internet and found some work by jmknapp that used an Arduino microcontroller and an infrared LED to emulate the remote. That information can be found here. As it turns out, I had an Arduino microcontroller and an IR LED. I quick downloaded jmknapp's software, and made a few little changes so it would trigger the shutter of Jim's camera at intervals we could set.

And here it is. Ok, I know, not much to look at, but this is the proof-of-concept stage. We didn't get this all done until the last evening that Jim was going to be down here. We took a few pictures, changed some settings, took a few pictures, etc. The moon was just into its second quarter so it was bright enough to wash out the pictures, and it took us a while to get the focus right, but we were closing in on it.

Since Jim left I have been working on improving the user interface and functionality and here's what I have.

For testing purposes I have temporarily replaced the IR LED with the red one you can see in the picture so I can see if it's working with the unaided eye.

As you can see I added a Delay feature so Jim can have it wait for a specified number of hours/minutes/seconds before it starts taking pictures. I also let him have it stop taking pictures after a certain amount of time or a certain number of pictures.

I also added another mode. I included a Passive Infrared sensor (PIR). Jim gets lots of deer and other wildlife in his yard, and in PIR mode the camera will be triggered by motion in its field of view.

The semi-circles at the bottom of the screen are indicators of the sensitivity of the PIR, which can be adjusted via a knob.

All that's left to do it put it in some kind of case, but I thought it would be good to test it in the field first. I'll be going up to Chicago in a few weeks and we'll try it out then. I'll post any time-lapse videos that are worth looking at.

Sunday, May 11, 2014

Talking Computer Assistant -- Fail

Some time back there was an article in Make Magazine written by George Tempesta.
Make Magazine Electronic Nag He described building a project that would play pre-recorded reminders. It uses an Arduino's clock and a proximity sensor to know when to play the reminders.

I thought I would like to take it further and have it read my Google Calendar and take the reminders from there. I didn't want to have to record a specific reminder for each event so I wanted to use text-to-speech conversion so it could read me the reminders, and then I thought it would make sense to use voice recognition so I could tell it whether to save the reminder so the next time it detected my presence it would remind me again, or delete it because I had done whatever I wanted to do. I knew that all this text to speech and speech to text stuff would as well as interfacing with my Google Calendar was going to take some extra processing horsepower, so I planned on using a Raspberry Pi which, for those of you not among the cognoscenti, is a single-board Linux computer.

Everything was going along swimmingly. I studied at the University of Google and found a great article by a guy named Dan Fountain on converting text to speech here. It had my Raspberry Pi yacking up a storm in no time. Then I found an article by Dave Conroy on using the Google Speech Recognition interface here. It worked great. I wrote the programs I needed and assembled them into a workable system, albeit version 1.0 with lots more things I wanted to do.

On this past Wednesday I started to write this post and got out my video camera to record a demonstration to show you. Well, it didn't work. I went through it and figured out that Google turned off the version of speech recognition that I (and apparently a lot of other people) were using, and replaced it with a newer version. Unfortunately, the newer version is aimed at professional developers and has a whole charging scheme in place.

I was very pleased with how the system was working and now I'm not sure what I'm going to do. I am looking around for another system, as well as considering joining the Google Developers Network but I haven't yet been able to figure out exactly what that entails. I'm sorry this is so anti-climactic and will report back as soon as I get it working again, but I wanted you to know I haven't been just lolling around.