The challenge with creating life-like behaviors using Arduinos, sensors and actuators is that the final product usually look industrial and the behaviors robotic rather than natural and organic.
Our interdisciplinary team from the Interactive Environments Minor at the Delft University of Technology in the Netherlands was able to overcome this challenge by hiding the NeoPixels behind wooden panels laser cut into organic shapes combined together into the Voronoi Installation pictured below.
In its idle state, Voronoi’s hidden servos make the wooden panels move in a relaxing breathing pattern. The NeoPixels light in a crawling pattern reminiscent of fireflies or the firing of neurons. When the infrared sensor detect that someone is near, the behavior changes into a reactive state where the NeoPixels’ color change and the panels move in sync with the person’s movement. This YouTube playlist showcases these behaviors in action and prototyping that led to their discovery.
Each Voronoi triangle comprises: an Arduino, 3 servo motors, 1 infrared sensor, 3 chains of 4 NeoPixels each – all hooked to a common external power source and grounding. To manage the complexity of fabrication and assembly, we followed a detailed Fabrication Manual which you can download.
For the Outside Insights Exhibition we made two Voronoi installations with 9 triangles each. As each triangle was independently controlled by its own Arduino, it was a challenge to make the 9 triangles behave together as if they were one organism.
A fellow team member worked on programming to have the Arduinos talk to each other using the I2C protocol while I programmed autonomous breathing, light pulsing and reactive behaviors. The linking of the Arduinos did not work in the end because there was too much noise generated by the servos which interfered with the I2C signal.
Although each triangle behaved autonomously, I was able to make it appear that they were centrally coordinated by carefully tweaking the timing of servo movements and lighting of NeoPixels, and using a median function to smoothen values from the infrared sensor. I started by writing small functions to control the basic capabilities of the infrared sensor, NeoPixel chains, and servos. I then combined these functions using millis( ) for timing to create the life-like behavior patterns. These behavior patterns were in turn combined into a listener function to be called continuously by the loop( ) function. You can download a copy of the program to see how it all works.
Voronoi is a six-month project by an interdisciplinary group of students in psychology, computer science, aerospace and mechanical engineering, and industrial engineering doing the Interactive Environments Minor. Using an iterative, user-centered experience design process; ubiquitous computing technologies; interactive design prototyping; and digital fabrication techniques, the group responded to a brief to design a break space from TU Delft for the Pulse Building – the first energy-neutral education building being built on the campus.
The key design insight of the group is that instead of designing a dedicated space where students can hang out to take a break, why not create microbreak experiences distributed throughout the building in the form of interactive art installations designed to reset the mind. You can read more about the group’s design process here.