Wednesday, March 17, 2021

Hand Gestures and Brick Building

I have been helping out a friend with an sculpture project.  We met many years ago when I managed a electrical/mechanical group and he managed the software group.  In his retirement he has taken up merging sculptures with electronics.  

One of the items he is implementing is hand gestures that then cause the sculpture to react in some manner.  While I am familiar with gesturing in the context of an Android mobile device, I have not looked into this area at all, until now.  As is the case with me, this exposure started me thinking about how I could implement this.  Unfortunately these "idea storms" come upon me when I am trying to sleep.  This results in a conflict, one part of me is trying to process the flood of ideas while another part is trying to shut it all down so I can sleep.  Sense I am writing this, it is easy to see which part won.

My first thoughts were how to implement this in the train layout.  It would be great if I could swipe my hand over a switch and the switch change direction.  Or the same with a signal and the signal toggle state.  The ultimate would be to make a gesture over an engine, which would cause the engine to perform some operation.  This could also be applied to the lighting in the layout, setting up a track sequence (switches and signals) or an automated scenery display.

Once I had exhausted that line of thinking, I started thinking about how I could control a large Brick display (like my Planetary Space Base build).  Start and stop action, change the lighting conditions, reveal parts that are hidden, start,select,stop the music or any number of other ideas.   

The design my friend is using is a Sparkfun ADSP-9660.  This uses an I2C interface to setup and communicate the gesture information.  The Brick Buddy II has I2C interfaces.  At the present time, they are not exposed to the user.  This is probably something that is going to have to change.  The major issue will be finding space for the connector and what type of connector to use.  

I2C requires 2 lines and a ground connection.  The ADSP-9660 requires a power source for the IC itself and another for the embedded IR LED that is the light source it uses.  This IR LED can require 12mA to 300mA, depending on the implementation conditions, e.g. distance to the human body and the amount of material the IR signal must pass through (plastic or glass).  The connector could be a 2 pin and the ground is acquired through the power source for the ADSP-9660.  Best practice would be to include a signal ground with the I2C signals, though.

Well for now it is just an idea, but I will be talking more with my friend who inspired the sleepless night.  Up til now I have been providing advice on PCB layout and how to supply power to all of the electronics in the sculpture.  Going forward I will be asking a lot more questions on actual implementation and how much success he has had with this concept of using hand gestures to control the sculpture. 

No comments:

Post a Comment