first of all we would like to thank the organisation and especially the main sponsor, Capgemini, which made all of this possible.
This project is a contribution to the first belgian Arduino Jam (2012).
During the Arduino Jam 2012, me and two other colleagues put our heads together to build an interactive logo. The idea was to use a lasercutter and a plate of acrylic with our company's (and event sponsor's) logo engraved.
This acrylic plate was mounted on a laser cutted box with an Arduino inside which was used to steer an RGB LED strip.
The interactivity of the design consists of a randomization of the lighting sequence by using a microphone as input.
All the electronic circuitry was soldered onto a custom made stripboard that was mounted on top of the Arduino. This stripboard contained 3 bipolar driver transistors for driving the LED strips connected to the PWM outputs.
Step 1: Engraving the Company's Logo
The first step in our project was the engraving of the logo. Therefore we did several tests.
Firstly we edited the logo using Inkscape to have something suitable for the lasercutter. After a couple of tests on the computer connected to the lasercutter, we quickly realised that the logo had to be supplied in bitmap format and imported into CorelDraw, as the lasercutter's printer driver did not handle vector graphics very well.
We did some tests with cardboard to see whether the format and resolution of the created bitmap was good enough. After defining the dimensions of our plate, we tried it on plexiglass to see what kind of effect the LED strip underneath would give us.
The light seemed to diffuse nicely around the engraving: first goal accomplished!
Step 2: Lasercutting the Logo's Enclosure
The second step was to build the box enclosure for the engraved logo and the Arduino Uno.
Therefore we used a handy website (http://boxmaker.rahulbotics.com/) that allowed us to generate a simple box layout by supplying the required dimensions.
Again, we did several test drives on cardboard first (see pictures attached), and finally choose an MDF plate with a 3.5mm thickness for our final design. During the first run, we forgot to take the correct thickness of our material into account, which caused the sides of our box to fall apart! Finally, after three iterations, we managed to get it right and were proud to have all the components for our custom made project enclosure.
Therefore we used a handy website (http://boxmaker.rahulbotics.com/) that allowed us to generate a simple box layout by supplying the required dimensions.
Again, we did several test drives on cardboard first (see pictures attached), and finally choose an MDF plate with a 3.5mm thickness for our final design. During the first run, we forgot to take the correct thickness of our material into account, which caused the sides of our box to fall apart! Finally, after three iterations, we managed to get it right and were proud to have all the components for our custom made project enclosure.
Step 3: Putting the Enclosure and Logo Together
The third step in this project was to put the box, the LED strip and the engraved logo together. Then, we started thinking about embedding the needed electronics. Because our soldering skills weren't up to the job, we decided to just solder the transistors together without mounting them on a stripboard first.
The idea worked well, and we thought it was a good idea to add some hot glue to the soldered package to give it a bit of strain relief. All of a sudden, we saw a funny side effect: the hot glue seemed to act as an isolator between the different connected PWM outputs, which resulted in a large parasitic capacitance between the signals of the driver transistors. This caused our LED strip to cycle through each red, green and blue color sequentially instead of dimming them all at the same time. A pretty cool bug (feature?)!
After analyzing what the hot glue did to our circuit, we decided to tear it apart again, and solder the transistors onto a custom made Arduino shield.
Step 4: Building & Soldering the Microphone Opamp Circuit
The last step of our project was integrating the microphone
and applying it as an input the Arduino. I brought a couple of broken
cell phones to the event, which we used to recover a working microphone.
We made a prototype of an opamp circuit to see how we could obtain the
right amplification for our input. After trying different opamp setups
with varying component values, we decided to try a differential
amplifier (see attached circuit diagram)
First we tried a couple of microphones that we recovered from two identical broken cell phones. Problem here was, that in this case the mics were designed to cancel all external noise except that from the speaker itself. Luckily, we found another mic sitting in a broken set of earphones, which responds quite well to environmental sound. By soldering two wires to the solder joints on the PCB, we managed to get a working proof of concept (see video).
First we tried a couple of microphones that we recovered from two identical broken cell phones. Problem here was, that in this case the mics were designed to cancel all external noise except that from the speaker itself. Luckily, we found another mic sitting in a broken set of earphones, which responds quite well to environmental sound. By soldering two wires to the solder joints on the PCB, we managed to get a working proof of concept (see video).
Step 5: Writing the Code + Official Handover
The
last step for us was writing the code to have make the LEDs react to
the environmental sound. We wrote about three sketches, which can be
found on google code. The code that we uploaded to the Arduino is in the CapgeminiLogo.ino file.
We chose to do a calibration of 3 seconds before the Arduino starts running. During this time, it will measure the maximum and minimum sound level and determine a threshold that has to be crossed to light the LEDs up.
On Friday 23th February, the team had finished the project completely, and officially handed it over to Vice President Kris Poté at the headquarters in Diegem. The end result can now be found in the waiting room next to the reception desk. Be sure to take a look while you’re around, and voice your surprise as the logo seems to notice when people are around it.
It was great fun for the team to get acquainted with working with the Arduino platform. That's why we would like to say thanks to Capgemini, as their support for innovation made this event a real success!
We chose to do a calibration of 3 seconds before the Arduino starts running. During this time, it will measure the maximum and minimum sound level and determine a threshold that has to be crossed to light the LEDs up.
On Friday 23th February, the team had finished the project completely, and officially handed it over to Vice President Kris Poté at the headquarters in Diegem. The end result can now be found in the waiting room next to the reception desk. Be sure to take a look while you’re around, and voice your surprise as the logo seems to notice when people are around it.
It was great fun for the team to get acquainted with working with the Arduino platform. That's why we would like to say thanks to Capgemini, as their support for innovation made this event a real success!
No comments:
Post a Comment