The story of DJ Teddy

Leave a comment

Fulfilling this year’s topic “Reuse, Reduce, Recycle” we searched for some old, used stuff and found three things: An old teddy to reuse, a shopworn MP3-Player to recycle and finally (to reduce the amount of junk in our homes ;-)) an unused step machine, but what to do with those parts? Our first thoughts were “everybody likes music, everybody loves teddies and of course everybody would go crazy seeing his teddy dancing to his favourite music while motivating him with a step machine”. So our idea was born, a music playing teddy or as we named it: “DJ Teddy”. Some additional special effects should allow it to become the perfect entertainer on every party. In the end the final result surprised us and I promise, it will surprise you, too, but more on this later. The next step was brainstorming our idea and designing a first concept.

Brainstorming

Brainstorming

Concept

The mp3 player should be controlled by interactions with our teddy. For keeping the handling nice and easy, we had to focus on the basic functions “next”, “previous”, “change volume” and “play/pause”. The head is the main part of controlling.

The theory

The theory

By pressing an ear you can switch to the next or previous song. We kept the standard order of the buttons, so that left ear means previous and right ear next song. To play or pause the music you need to push his nose. The eyes should be LEDs displaying the current playing status. When music is played they become green, when the music stops they glow red. DJ Teddy’s belly button is misused to change the volume by turning it. In order to make it a real party gadget, we added the ability to dance to music by moving his arms and a heart that blinks to your steps on the step machine! The music comes out of his feet. Let’s see how we realised it.

Realisation

Step 1: Preparing the teddy

First of all we needed to cut our teddy into pieces and rip the inside out. That sounds cruel and yes, it was! Our beloved teddy transformed into some dead parts of cloth. We took off the legs, the arms, the head and the ears, so that we could fill it with electronic and wires.

Step 1: Preparation

Preparation

Step 2: Hacking the MP3 player

This step was the most complicated and took us a lot of time. After we removed the casing and mechanical buttons, there were two possibilities to control the MP3 player:

  1. Connect two wires to a mechanical button and solder them to a button at the mp3 player to bridge it. Then connect the arduino to the mechanical button to read when it is pressed. Repeat this for each button on the mp3 player. Now the arduino recognizes when a button is pressed and is able to handle this information in its program in order to light the eyes and move the arms.
  2. This time instead of mechanical buttons we use transistors as electronic switches. We connect each of the MP3 player’s buttons to a transistor that is controlled by our arduino. The microcontroller is now able to “push” the buttons by switching the transistor with a controlling signal. Mechanical buttons are only needed to get the user’s input.

In the first possibility the music would be controlled by mechanical buttons and not by the arduino, that’s why we wanted to use the second one. The advantage here is that the program decides how to handle the inputs and when to push the buttons at the MP3 player.

In the following picture you can see the circuit for one single mp3 player button. Again we need to bridge the button with two wires (1). The red wire goes to the arduino’s 5V pin, the black one to the transistor (2). Because this is a NPN transistor, we have to connect it to ground. Finally the blue wire goes out of pin 13 (3), which we defined as a digital output pin, over a resistor into the transistor’s base and works as a control signal. To push the button our program just needs to write a digital “HIGH” to pin 13. As long as there is a HIGH signal at the transistor’s base, the mp3 player button is pressed. To release it, we have to write “LOW” to pin 13.

MP3 player hack

MP3 player hack

Unfortunately, we killed two MP3 players with this circuit and lost a lot of time. We had to start from the beginning again and again, so that we finally decided to use possibility 1.

Step 3: Make it move, add LEDs and integrate loudspeakers

Now we replaced the eyes with LEDs to display the playing status as I described at the beginning. Our program listens to the nose-play-button, so that it knows when the music is playing. Using two RGB-LEDs we can change the colour as we want to. More difficult was the construction to allow DJ Teddy to move his arms. A hemisphere of plastic fills the teddy’s chest. In it there is a servo with strings connected to the arms. When the servo rotates, the strings of each arm are pulled alternately, so that the arms move up and down.

Step 3: Insert the electronics

Insert the electronics

Then we connected little loudspeakers (taken from a radio) to a 3.5 mm phone connector that fits into the player’s headphones plug. At this point the music volume was very low, even on the maximum setting. That’s why we disassembled some old loudspeakers with an integrated amplifier, which we built into the teddy’s stomach.

To sum up DJ Teddy’s condition:

  • Buttons in the ears and in the nose
  • RGB-LEDs in the eyes
  • Plastic hemisphere with a servo in the chest
  • Strings in the arms
  • An amplifier in the stomach
  • Loudspeakers in the feet

What is missing? Right! Literally the heart of our teddy.

Step 4: Let the heart glow by using the step machine

As mentioned earlier, we wanted to use a step machine that makes our heart glow. Therefore we used a sliding potentiometer which changes the resistance when someone pushes down the right or the left side of the step machine. The arduino reads the values as an analog input and dims or lights red LEDs which are arranged in a heart shape.

Step 4: The step machine

Step 4: The step machine

Presentation

In the end we only had to reassemble the whole package and… oh wait, the time is gone! As I told you in step 2, we spent a lot of time killing mp3 players. Now we had to present our project and it looked horrible. It worked, but it looked like a teddy dying in a car accident with his entrails scattered all over the table. So we came up with an idea: “It’s not a bug, it’s a feature”. When it was our turn to present our project, we told the audience DJ Teddy died and came back as… Teddy Zombie! Cloth organs, ketchup blood and a giant saw helped us to sell our project as a successfully finished zombie project.

Zombie Teddy

Zombie Teddy

Lessons learned:

  1. Never give up your project
  2. Zombie teddies still smile

Video

Advertisements

Melody Bakery

Leave a comment

1

This project, “Melody Bakery”, was made from an old toaster. We equipped it with an Arduino Mega, took advantage of the toaster’s convenient, useful physique and transformed it into something totally different with completely new functionalities: A MIDI sequencer loop station, aka. “Melody Bakery”. This device can read a set of eight notes, making up two four-four times at the range of seven notes adding up to one whole octave. Furthermore, you can feed the toaster with a set of an instrument which the notes are to be played with and a background beat to make the produced music loop more enjoyable and usable for playing along with e.g. the bass or the guitar. The notes, instrument, and background loop can then be sent to an audio program on a connected PC.

Idea

2

The idea for this project came into existence when we found this old, non-functioning toaster. Since it didn’t toast bread properly any more, it could no longer be used for its original purpose. However, we agreed that it would have been a pity to throw it out. Therefore, we decided to bring back some live to this toaster again. The motto of this year’s course “reuse, reduce, recycle” supported our idea: To disassemble the toaster and rebuild it as something completely new. Since both our team members play several instruments as amateur musicians, we decided to create a device that has something to do with music and can be used, for example for practicing playing the guitar. In the end, we came up with a midi sequencer loop station that can read notes written on the toaster’s crumb tray.

 4  3


Concept

From the beginning on, we tried to keep the basic concept of the toaster, where you put something into the toaster’s slots and then start a process by pressing down the handle.

5

Instead of putting bread into the toaster’s slots, we defined one slot as input for the instrument that the notes should be played with, the other slot was destined to serve as input for the background loop sound. For the notes themselves to be recorded, we used the crumb tray at the bottom of the toaster as a note sheet, and magnets on top of the crumb tray as notes. This way, we have a removable note sheet where notes can easily be added, removed, or modified by moving the magnets on the trays top surface. To scan the notes on top of the note sheet, the crumb tray simply has to be pushed into the toaster.

When everything is set, the toaster’s handle can be pressed down, which starts the MIDI-transfer of the notes, instrument, and background loop to an audio program on a PC connected via USB.

Let’s get technical!

The note sheet & note scanner

Let’s start with the feature of our “Midi Toaster” that required by far the most effort.

We decided to read the notes by taking advantage of the fact that white surfaces reflect light a lot better than black ones. Therefore, we painted the toaster’s crumb tray black to serve as the note sheet. Then we put a matrix of white spots on the top of the black tray, where each spot represents one note. One dimension (vertical) serves as the tone pitch and the other one (horizontal) for the temporal distance of the notes. While the first seven light sensors’ job is to read the notes, the eighth light sensor is to read the music’s beat. To make the notes easy to modify, we used small magnets that we covered with white duct tape instead of directly painting the notes onto the tray. This way, you can create a new melody simply by sliding the magnets on top of the tray’s surface.

With a distance of about 1-2 cm above the crumb tray, we attached eight light sensors and eight LEDs inside the tray’s slot. Each light sensor is being backlit by its own LED, which is positioned right next to the sensor. Whenever a white magnet note is positioned right underneath a sensor while slowly pushing the crumb tray into the toaster, the light reflected is a lot higher compared to the light reflected by the dark crumb tray. This way, it was possible to recognize a note as such to be recorded. It was necessary to measure and find the light threshold, above which a spot underneath a light sensor can be recognized as being white.

6  7 8  9

10

While pushing the tray into the toaster, the key to getting good results for the note detection was finding the best possible threshold for each individual light sensor. Different light situations forced us to find a more flexible solution than manually calibrating each light sensor in the source code. Therefore, we decided to implement a calibrate button in our toaster, which measures the brightness of the black tray without any white spots underneath. This helped a lot for our goal of making the scanner accurate enough not to skip any notes or not to see notes where there actually are none (e.g. when the light sensor on position three measures a value, it is influenced by the light reflected from neighboring notes on position two and four. In this case, light sensor number three should not deliver a false positive value).

11

Inside our toaster, an Arduino microcontroller functions as its heart and brain. Every LED, sensor and button is connected to one of its pins. Due to the high number of required analog pins for our project, we had to use Arduino Uno’s bigger brother, an Arduino Mega.

12The logic the Arduino Mega runs is declared in our program written in C, which turned out to be around 600 lines of code. One of our program’s responsibility is to transfer the recognized notes, instrument, and loop sound into MIDI signals and send them to an audio program on a PC connected via USB.

Instruments and background loops:

13The realization of adding different instruments and background loops was relatively straight forward. We used some card board toasts that we designed in Adobe Illustrator and cut with a laser, and attached some copper bands at different positions at the bottom. When inserted into the toaster’s slots, each toast closes different contacts with their copper bands and therefore can be recognized as different instruments and loop sounds.

Some of our problems and how we solved them:

Finding the right threshold for the light sensors:

Finding the best threshold for every light sensor for recognizing the notes was by far the hardest part of our project.

In the beginning, we planned on making it possible to scan 16 notes on the note sheet. This lead to several misinterpretations of notes by the light sensors. Some notes were skipped and others were read where there actually was just a note on its neighboring position. We then decided to half the number of notes on the note sheet to only eight notes. This lead to much better scanning results. An auto calibration button on the toaster, which we implemented during our testing period, helped a lot for detecting the right note values. Another measure we took in order to get better results while reading the notes was to increase the amount of LEDs lighting up the crumb tray. We doubled the amount from originally four to eight LEDs, so that in the end each light sensor had its own LED.

The toaster’s handle:

When pressing down the handle of the toaster to start the recording, it has to be held down by a magnet until the recording is done. To do so, we had to replace the original magnet which operated with 220 Volts by a magnet that can function with only 5 Volts, as this is the maximum current we can receive from our PC’s USB slot.

This step was unexpected for us and turned out to be quite time-consuming until the magnet held the handle in place just right.

MIDI-Transfer

Unfortunately, we had to find out that the Arduino can not directly send MIDI-signals via USB. Therefore, we had to order a MIDI-to-USB-adapter online. Luckily, this adapter cable could be purchased pretty cheap and the delivery only took less than a day..

14

Gunslinger. Because getting up is just too hard.

Leave a comment

What is it?

Some people have a really hard time waking up and getting out of bed everyday (including us). To ensure that they won’t be late for work or class people have found their solutions to themselves out of bed. Some use more than one alarm clock and others even place their alarm clock into the bathroom, so they can immediately take their ice-cold wake-up-shower. But what if the alarm clock is too quiet and overheard? Catastrophe. Worry no more, dear friend: the Gunslinger Alarm Clock is here. This baby will get you out of bed faster than you can say “What-the-hell-is-happening-and-how-do-I-make-this-thing-stop?”.

First, you choose when you’d like to wake up just as with any other alarm clock. Once the alarm starts at the chosen time, the Gunslinger Alarm Clock then uses its gun to shoot a rather tiny ball through the bedroom that is needed to turn off the tremendously loud alarm. That means you have to get up and go look for it, and trust us – you will! If you want to speed up the searching process, the gun can be aimed at a particular point in your room, otherwise the position can be randomized.

How does it work?

The gun can perform two basic movements to aim: it can turn 180 degrees left-to-right and 120 degrees up and down. For that, you can use your computer mouse or a touchpad to precisely get the position you need. Before you can set the alarm (or shoot the gun), it is necessary to properly load it. The loading process stretches a spring inside the gun barrel. We chose a strong spring with a resistive force of 60 Newtons – so the ball can be shot through very large bedrooms, too. In order to compress that particular spring, we built-in a strong motor that has a bolt-on screw. This screw is attached to a carriage that moves the spring backwards. After a certain point, the trigger is automatically locked and the motor moves the loading contraption back to its initial point. You can see what happens inside in the hand-sketch picture.

Sketch of the gun's interior

The gun can be triggered both automatically (when the alarm starts) or manually (to have some fun at the office). The triggering is indicated by playing a shoot-sound.

For the alarm clock, a standard digital alarm clock was hacked. Once you have found the ball, insert it into the clock and a switch will shut it off.

In case you want to build your own Gunslinger gun, here are the ingredients:

  • 2 big servo motors to control the horizontal and vertical gun position
  • 1 smaller servo motor to trigger the gun
  • a powerful motor that can go clockwise or counterclockwise to compress the spring
  • a lot of metal parts (gun barrel, trigger, bolts)
  • a stable stand. We built ours with a laser cutter.
  • last but not least, an Arduino to control the gun.

This slideshow requires JavaScript.

Values and Potentials.

Our gun alarm clock helps people get up and thus prevents from oversleeping. In our idea-finding process we tried to find out what problems any person has each day and this is what we came up with. Potentially, our prototype could use paint balls or water filled balls that are shot at the sleeper. Because some people are likely to overhear their alarm clock even it is standing in the closest proximity. Of course, one would have to use very small projectiles to make sure no one gets hurt. We want to help people, not hurt them.

Next Steps.

There are a few things that could enhance the Gunslinger Alarm Clock experience even more. So far, we have not developed a snooze function. We thought the snooze button could randomize the gun position and further compress the spring. Alternatively, the gun could be equipped with an automatic re-load mechanism: If the person decides to snooze, but the ball has already been shot, the alarm can be turned off and the gun loads another ball by its own.

Additionally, the design is still prototypical. The exterior has some rough edges and the overall look can be improved. In manual mode, it would be cool to have LEDs indicating the loading status.

About

The Gunslinger Alarm Clock project was carried out by Andreas Kolb and Tobias Stockinger. We’d like to thank our tutors Hendrik and Sebastian for the awesome course!

MMM – The Multimodal Metronome

Leave a comment

The MMM

The MMM

The Team

The Team

What is it?

As the name implies the device we built resembles the functionality provided by a metronome – so basically it’s a “click-machine”. But what is the difference between a standard metronome and the MMM? Well, imagine you, as a musician, hear a song on the radio and you think “heck, what a nice song, I might wanna try this at home”. With your standard metronome you’ll have to pay close attention and repeated trial and error to find the correct beat – and this is where the MMM kicks in. With our device you can simply snap your fingers to the beat and the MMM is going to hold it for you. This enables even more relaxed music making. Say you’re seated on the couch of your rehearsal room, your guitar on your knee and you need to adjust the beat of your metronome. No more putting aside your instrument and searching for the right setting, simply press the record button and either snap your fingers or maybe hit some strings to set the beat you want.

Furthermore the MMM comes with four LED-flashlights supporting beat recognition in dark and/or noisy areas – much like most rehearsal rooms are. The MMM even goes so far as to emphasize the first beat through a different color.

Finally the MMM also offers three different volume settings: Medium, ideal for your private training sessions; Loud, all you need at your rehearsal and mute, in case you don’t need any sound at all and simply want to have those flashlights as a guide for your band.

So, put in one sentence, the multimodal metronome is a combination of a metronome supported by flashlights in combination with a beat counter.

How does it work?

The basic components used to build the multimodal metronome are a speaker for sound output, a microphone for sound input, 4 LEDs for optical output, some switches and quite a few electrical components. Though this doesn’t sound like much the engineering journey we underwent to build it was rather bumpy.

First of all you need to know that the fathers of the almighty MMM are very pro-do-it-yourself, which means that we did not want to use any prewired or ready to use hard- and software, but to build this thing from scratch. Therefore we spent quite some time setting up and soldering down a microphone amplifier derived from here. The amplifier was then connected to a worn out headset microphone.

First Results

First Results

Amplifier

Amplifier

This amplification unit is needed to boost the incoming signal to a level recognizable by the Arduino Uno board – the core of the MMM. The amplification circuit we used was quite sophisticated, incorporating two potentiometers for fine adjustments of gain and amplification levels.

Next up was the speaker – a simple internal PC speaker. After some tests the team realized that the speaker, too, would need some form of amplification to support the high volume level required by the rehearsal room use case. The speaker therefore got its own, admittedly simpler, amplification circuit and a transistor enabling output triggered by the Arduino. The volume control also plugs into this speaker circuit controlling the aforementioned three sound levels.

Speaker

Speaker Circuit

Finally there is the LED-array – four clear light emitting diodes, a white one indicating the first beat and three orange ones for the rest of the beat. The smart reader might recognize the implication of this four-led-flash-beat-thing: it inevitably makes the MMM a rock-metronome!

All these parts are gathered at the heart of our device: the Arduino Uno, which is equipped with a sophisticated state machine, caring for smooth user experience.

The great pitfall

On our engineering journey we encountered one big pitfall that cost us at least one complete workday: a Sharp distance sensor. The background behind this thing is the pervading urge of the MMMs makers to design a whole new metronome experience. What we tried to facilitate was touchless control of the device by enabling gesture based beat recording.

Now what happened is that the aforementioned distance sensor caused so much interference that the microphone amplification unit couldn’t do it’s job anymore, but was biased by a disturbing signal rooted within the Sharp. Finding the source of the interference turned out to be really difficult, since we never worked on such a project before and had minimal electrical engineering background.

Sharp Distance Sensor

The Source Of All Evil

Values and potentials

The multimodal metronome is a gadget designed to simplify a musicians life. It combines the functionality of a beat counter and a metronome and supports beat perception by optical impulses. Therefore it’s main values and potentials lie in the domain of user experience and ease of use. Though, in its current state, the MMM still requires touch input to trigger beat recording, it became clear that with a distance sensor better suited for the purpose this goal is a reachable one. Also the combination of a beat counter and a metronome removes a device from your gig bag. So put together, the MMM resembles a multimodal combination of essential musical tools and helps musicians focus on what they do: keep on rocking!

Next steps

Having achieved the first milestone of a working prototype, the next steps in line involve software optimization, sophisticated, stylish casing and enhancement of the optical output. The basic design sketch also incorporated a led-segment-display showing the current beats per minute – a feature postponed due to time limitations, that can and will be included within the next steps.