I used James George’s Geometry Helper to call these primatives. The main functions I called are as follows:
CreateCube(pos : Vector3, radius : float) CreateCylinder(pos : Vector3, scale : float) CreateCapsule(pos : Vector3, scale : float) CreateHorizontalPlane(center : Vector3, width : float, depth : float) CreatePointLight(position : Vector3, range : float, intensity : float, color : Color) CreateSpotLight(position : Vector3, direction : Vector3, range : float, angle : float, intensity : float, color : Color) ApplyColor(object : GameObject, c : Color) Camera.main.transform.position = Vector3(x, y, z)
I made the piece with 2 Arduino Uno’s, 1 Wave Shield, 3 servo motors, an accelerometer, a range finder, and an 8ohm speaker. Macho joe has 4 distinguished states of agony. When a viewer first walks by the range sensor the piece comes to life pleading for the viewers help. Once the user picks it up, the piece begins to move a bit differently and it’s head movement is mapped to an accelerometer that gives the illusion of the toy always looking at the viewer in the eye. Lastly, when the user places the toy back on the shelf and leaves, Macho Joe gives his final plead for his life before dying.
Overall it was fairly difficult to get the inputs and outputs to work together. I used two arduinos: 1 to manage the 3 servo movements along with all of the sensors and 1 to manage all of the audio output. In order to avoid issues with the Wire library I created communication between the two Arduino’s by reading and writing directly to their digital pins.





