As part of a Year 2 module called Gizmo, we were tasked with creating an electro-mechanical device, which contained an engaging physical user interaction. My device was designed to be a visually stimulating, interactive art piece, bringing a new meaning to ‘hands on’ interaction, by totally removing the need for physical engagement. It made use of a Leap Motion VR controller and four concentric LED rings, mounted on parallel axes, which would move laterally under the control of two stepper motors.
Gizmo was one of the first projects where we were given full creative freedom. Provided the devices had an electro-mechanical system that could be controlled by the user, there were no other real restrictions. I took my inspiration from audiovisual installations (for example, those you might find at the Winter Lights in Canary Wharf), and also from Kinetic Sculptures such as those by Reuben Margolin. The main thing that I wanted to achieve in this project was a greater level of confidence and skill in some of the areas that I was weaker in, mainly programming and electronics design.
With a good idea of the effect that I wanted to create, I started thinking in detail about how to physically manufacture and program the device. Some basic development sketches helped to get the idea on to paper, and soon after that I moved into CAD to create, develop and test a more precise version. I learnt quite quickly how to 'prototype' within CAD software, working heuristically to develop the concept. When I reached a problem that couldn't be solved theoretically, I would then use rapid prototyping like 3D Printing or foam modelling to make lo-fi versions of my ideas so they could be tested, evaluated, and improved.
There were some key challenges when writing the code for this project. The hardware I had chosen to use for hand-tracking was a Leap Motion Controller that I bought a few years ago, which came with a helpful SDK for Leap's advanced hand-tracking capabilities. Unfortunately, developer support for this SDK has since been discontinued, and the code only runs in Python 2.
I knew I wanted to use an Arduino to program the LED rings and stepper motor movement, so I had to learn about serial data communication, and modify the SDK so the output data was easily interpreted and by an Arduino.
The video below shows me testing and demonstrating a late-stage lo-fi prototype, containing all the final electronic components.
The final code repository can be found on my GitHub at https://github.com/felixm34/DE2-GIZMO-Final-Project-Code
A full report detailing the whole process can be found here: