Since 1986, Luxo has been a hallmark of one of the most successful animation production companies of all time. Although most people don't know it by name, Luxo has touched all of our hearts at one time or another in our lives. We have decided to make a device that can bring this love and joy into your very own household in the form of Luxo the Pixar lamp.
What it does
Luxo is more than just your regular desktop lamp. It is complete with a full pneumatic system that allows it to aggressively jiggle in the upwards (ish) direction, and look through four degrees of freedom to light up any corner of the room, and your heart. To control your very own Luxo, all you need is an Xbox controller, a Raspberry Pi, and a few foolish engineers to fix the constantly arising issues in our otherwise flawless design.
How I built it
Electronics: Logic is built using Python3 on a Raspberry Pi Zero using the RPi.GPIO, smbus, and evdev libraries. The Raspi receives information from an Xbox controller using bluetooth which then sends instructions to an Arduino. The Arduino then articulates it's instructions to five separate devices, including use of MOSFET's for power control.
Hardware: The system uses three pneumatic cylinders, a car tire pump, and a solenoid to power three pistons. The structure of Luxo is an old lamp frame attached to a metal base, which was bent in the rear to allow for forward motion.
Challenges I ran into
Lamps tend to stick out a bit, causing a horrible unbalanced weight distribution. This was solved by allowing the arm of the lamp to move inwards and shift the center of mass to a more reasonable location. Still, lamps aren't meant to jump, and attempting to move forwards significantly raises the probability of a faceplant.
Programming is painfully frustrating as is typical, especially when dealing with libraries written by people who didn't necessarily have compatibility in mind, leading to lots of error and forum post browsing.
Accomplishments that I'm proud of
Everything is put together! When we first considered the idea we had many concerns on how to even make the thing move at all, but we chose to accept the challenge, and the aggressive jiggling may not be ideal, but it does move! This is also my personal first exposure to doing a design and build project in such a short time frame, and the teamwork involved to get everything done on time and in a reasonable manner is wonderful.
What I learned
Global variables in python are incredibly silly and tend to break things unnecessarily sometimes! We also all grew in our abilities to work in a fast paced manner in small group. Going into this project none of us had ever used pneumatics going into this weekend, so it's quite wonderful that we got it all to work relatively misery free.
What's next for Luxo
There are lot's of options for things to add to Luxo! For one, we could add a camera into the lamp section of Luxo, and using machine vision allowing it to track to people's faces for added dramatic effect. Movement control could certainly be added and improved, including the ability to rotate the body, which was a planned feature we didn't quite have sufficient time to complete, however would have been a neat feature to have. Similarly, we could significantly increase power by using different pistons, as well as higher pressure rated components to allow for higher hops. Most importantly, as absolutely adorable as Luxo is currently, we could certainly make improvements in this area to make Luxo absolutely irresistibly beautiful.