Monday, December 31, 2012

I got my BeagleBone a couple of months ago, just as the Cape Design Competition was being launched. Since I planned on building my own cape as I learned my way around the Bone, why not try to enter a design?

I'm an absolute beginner when it comes to embedded Linux and building my own hardware. I ordered the only BeagleBone book that I was able to find, but the release date keeps getting pushed back. I watch and re-watch every video tutorial that I can find (thanks Derek Molloy and Shane B. for your contributions), but progress is painfully slow.

I can't read or draw a schematic diagram and haven't had the time to figure out how, yet. I can't enter the competition, but I would like to ask all you BoneHeads out there to share what you know. Write tutorials and post tips assuming that the reader has very little clue as to what you're talking about.

Explain how to install and run the scripts and libraries that you share. Please give step-by-step instructions, especially when using the command line.

Thursday, October 11, 2012

This is an Arduino-based camera that sends images wirelessly to your computer. In addition to the Grove base shield - used to connect the camera module, a button and an LED light to the Arduino - we need an SD card shield to save the photos we take, and a Bluetooth shield to send the images off.

A Processing sketch on the computer receives the sent picture, saves it to the hard drive and displays it in the program window. In addition to using the hardware button connected to the Arduino, photos can be taken directly from the computer using the on-screen button or the space bar.

This camera will be part of a garden explorer robot that I'm building, inspired by the Mars Curiosity rover. I'll be adding a time-lapse feature and motion trigger.

Make sure your portName in the Processing sketch matches the blueToothName in Arduino. And, please make sure this name sticks out - don't just name them "Bluetooth" - or the automatic selector might open the wrong port.

The Arduino sends out a series of 3-letter commands to let Processing know how to update the on-screen status and when to start and stop saving the received jpeg ("CAM" when the camera has finished taking its picture, "PIC" when it starts sending jpeg data and "EOF" at the end of the file). I plan on having error messages sent this way, too.

Photos are saved sequentially in a folder called "rcamera" on the SD card. The Processing sketch creates a new time-stamped folder for each session. These are also kept in "rcamera" within the remotePhoto sketch folder.

Wednesday, October 10, 2012

I find that using Bluetooth to connect an Arduino with Processing on a MacBook can be frustrating. The serial port number tends to jump around on me as I disconnect and reconnect. Since I want the first port on the serial list with my Arduino's name, I scan the list backwards - counting down in the 'for()' loop - using 'indexOf()' to search each line for the Arduino's name. If the line contains the text I'm looking for, that line number becomes the chosen port number. Once I've checked each port, the last port number assigned is the first Arduino on the list.

Sunday, October 7, 2012

I had a hard time figuring out how to send a jpeg file, over serial, from Arduino's SD card to Processing on my laptop. In the end, I found something called 'createOutput' in Processing and that seems to get the job done:

Ciao. I have been playing with Arduino, the tiny Italian computer, for a few months now, and enjoying it thoroughly. This single-board microcontroller is meant to be easily modified into electronic hardware of your own design. Just plug in a few electronic inputs (buttons, knobs, motion sensors, etc.) and outputs (lights, buzzers, screens). Then, upload a program to the board’s flash memory telling Arduino what to do when a certain button is pressed or sensor reaches a specific reading.

The standard size and placement of the board’s connectors means that anyone can extend the functionality of Arduino by creating a “shield” – another circuit board that fits snugly on top and adds specific input and display options.

More importantly, Arduino is an open-source project with the board’s design and accompanying software given away freely. Anyone may build or program an Arduino clone or shield without risk of patent or copyright infringement.

I decided to begin my hardware adventures with a preassembled Arduino Uno R3 and Seeed Studio’s Grove base shield that makes use of 4-pin JST connectors to simplify the entire process of building a working electronic circuit. This way, I don’t need to bother with a soldering iron to get my prototypes working.

I have been learning a great deal as I struggle with a few projects that I’ll try to share through video and bits of code that I have managed to stitch together.

Tuesday, August 21, 2012

Another Vimeo weekend project - a theme is given on Friday, your creation must be uploaded by Tuesday. The brief this time was 'Wetter is Better', so I created this double moonrise over the Martian Riviera.

Sunday, May 13, 2012

I have uploaded my first Processing sketch over at OpenProcessing.org. It is a 2-channel video mixer with MIDI control, built on lessons learned from Joseph Gray's Processing / Arduino video mixer tutorial.

-Place your video files in the "data/videos/" folder.

-Create a list of the video file names as a simple text file named "videoFileList.txt" and place it in the same "data/videos/" folder.

-Hold down the spacebar to record your mix.

I would like to build a full-featured VJ mixer for live performances, mixing video and audio-reactive Processing sketches. The only problem is that Processing's video library does not allow for continuous looping of video clips at anything other than normal speed. I had to use a convoluted bit of code to pause each frame of the video and re-sequence them at the speed and in the direction I want. This all runs quite slowly and, at lower playback speeds, there is a "hiccup" that happens on my laptop. It looks like the video actually plays a few frames before the pause and next jump, causing the sequence to stutter.

The Processing programming language is in the midst of an extensive update and I mentioned this problem to the creator of the GSVideo library that is being integrated into the code's core package. He says that he has found a fix (something about catching the EOS event (?) from gstreamer and forcing a speed reset) that will be part of the next alpha release of Processing 2.0.

The MIDI channels are from those found on the Numark DJ2GO USB mixer, but they can be reassigned to fit any hardware controller with both buttons and knobs (note and cc output).

There are still a few bugs that I haven't been able to squash:

-I sometimes get a "NullPointerException" when using the control window record button. I don't seem to get it when holding down the spacebar to record the mix. If the first recording in a session is made with the spacebar, the control window button seems to work fine after that. And, sometimes the record button works fine right from the beginning. The most frustrating part is I can't consistently recreate the error message.

-There seems to be a problem with the way that Processing exports this sketch as an applet. I get an "UnsatisfiedLinkError" - something to do with gstreamer 0.10 - so, if you have Processing 1.5.1 already installed, be sure to download the GSVideo, controlP5 and themidibus external libraries (I had to rename the downloaded MIDI library simply "themidibus" for it to work). Then just delete the "code" folder from the sketch and run "SimpleVideoMixer.pde".

Wednesday, March 14, 2012

Tuesday, March 13, 2012

It was 33 years ago today that the New Jewel Movement seized state power on the Caribbean island of Grenada – a textbook cold war revolution, but with several elements that gave it exciting potential.

Grenada is a small island with just over 100,000 people. On this scale, socialist theorists have an opportunity to rethink collective production and ownership without the size burdens of the Soviet model. These are an English-speaking people of African decent. What happens on Grenada can be easily shared with a large African-American and pan-African audience.

We tend to remember the Grenadian Revolution through the historical lens of its tragic demise; but, what lessons are there to be learned from all that was done right during this period?

Cuban Solidarity Poster (1982)
by Rafael Morante Boyerizo

GRENADA: The Future Coming Towards Us
-A documentary on the Grenadian Revolution.

The Grenada Tapes
-John Douglas (one of the "Future Coming Towards Us" filmmakers) has begun digitizing some of the tapes he made while living in Grenada.

The Lost Bishop Photos
-During the invasion, a U.S. paratrooper finds a box of books, pamphlets and unprocessed film in a drainage ditch. A few years later, he develops the film and is surprised to discover photos of Maurice Bishop, Unison Whitman and various scenes from the Revo years.

United States PSYOP in Grenada
-Sergeant Major Herbert A. Friedman (Ret.) outlines some of the Psychological Operations carried out by the U.S military during the invasion.

The Grenada Documents
-A selection from the over five tons of documents collected by US armed forces during the invasion. This collection has been edited and released by the U.S. Department of Defense, ostensibly to show the inner workings of a hostile regime arming itself against the United States. It also makes an interesting read for anti-poverty activists who wish to see some of the activities of a state-run national development plan.

-In October 2011, the Grenada Arts Council hosted an exhibition: "The Grenada Revolution 1979-1983: Artists' Perspective."

Saturday, February 25, 2012

I have set up a new iPhoneArt.com group - iPhone Cinema - for sharing videos, time-lapses, animations, slideshows, animated GIFs, etc. Please join and post your creations, however short or random.

There are quite a few apps that let you record video with various filters and effects, but only two, that I know of - CinemaFXV and GameUrVideo - that allow processing of clips from your library. "Timelapse" is the only app of its kind that can import pictures from your camera roll. With ReelDirector (and iMovie, I believe) you can zoom and pan over still images (the so-called Ken Burns effect).

Consider leaning your phone on something solid or pressing it up against a window for steady shots. You may need to use the "Rotate Video" app to do just that.

If you're not a musician, but still want to create your own soundtrack, consider downloading some of the free drum machines and synthesizers that are out there. Use a 1/8" Male to 1/8" Male audio cable to connect the output of your phone (headphone jack) to the input of your computer (line/mic jack) and record your performance/sequence directly to an audio program, such as Audacity or GarageBand. Sync the exported track in iTunes to make it available for use in a video editing app, such as Vimeo or ReelDirector.

If you decide to invest in a few music-making apps - be warned, they can get quite expensive - try sticking with apps that allow AudioCopy and AudioPaste whenever possible. This will allow you to easily share performances between apps. For the musical novice, I suggest NodeBeat for automatic rhythms and Loopy for audio loops (a la Reggie Watts). ThumbJam is fun, even if you can't play an instrument. And, if you're already familiar with digital audio and multitrack production, NanoStudio is a good option.