mandag den 3. marts 2008

Eigth day of Project work (final day before presentation)


Deadline is now coming closer an today we had the "dress rehearsal" of the presentation. The Day started out with continued testing of the BeatBox. We had to put back some of the foam rubber in the buttons, because some om the buttons now were to sensitive, but all in all it worked like it should. We continued to fine tune the code/game on the computer and making sure everything worked as it should. The also looked at the keynote the girls had made and agreed on who should say what. But basically we were done with the whole thing and it worked like we had planned from the beginning.

I will end this post with two links, presentation and source code.
In our presentation the processes, reflektions and technical solutions is summed up and the source code is free to use if someone want to see the code or want to make a similar project.

Source code
Presentation

Testing the beatox

One of the first tests (still some bugs with the buttons, but it almost works)

Seventh day of Project work: SunSpot --> Phidget

With new hope we meet again and with 3 days to go we had to find a solution to our button problem. We tried once again packing the bag harder, but still no luck. We decided that we had to go for a more drastic solution so we thought that putting something really hard behind the buttons would help so we put phonebooks behind the buttons. This made the buttons much more sensitive, but our problem was that the buttons only worked when pushed in for a while and didn't work when you just hit them. Another problem was that the sunspot ran out of power. We didn't have time to wait for the sunSpot to recharge so we plugged in one of the buttons to a Phidget. Because the Phidget have an internal resistor we could just easily plug a button directly into the Phidget. To our big surprise the button not worked perfect. We therefore decided to scrap sunspot and connect all the buttons to the Phidget. Because both sunSpot and Phidgets runs in Java, we didn't had to change very much in the code to make the program work. We newer found out why the buttons didn't work with sunSpot, maybe because unlike Phidgets we had to pull the information out of the sunSpot (Phidget sends an event) and maybe something was wrong with that method or something. Anyway it worked with Phidgets and we finally could use the BeatBox as planned from the beginning. Seeing that i actually worked, we figured we had enough time to finish the whole thing tomorrow.

Sixth day of Project work

We decided that it would be a good idea to meet some ours today (Friday) . Again we used some more time to get the sunSpot to work but finnaly it worked. To our big disappointment the buttons didn't work as planned. They were not sensitive enough. We tried packing the bag harder, but it didn't help. We then decided to change our buttons. We tried different solutions, first removing the foam rubber from the front and back. It helped a little but not enough. We then tried to put something hard on the backside of the bag but that didn't do it either. Pretty disappointed we game up and agreed on meting Sunday

torsdag den 28. februar 2008

Fifth day of Project work

The project is moving slowly forward. After we were forced to change to SunSpot, we have been delayed allot. We have now been using 1-2 days just getting the things to work. In our project it's total overkill to use a SunSpot since were not using any of the features it has. Since the BeatBox isn't that mobile when used there is now reason to have a wireless microprocessor and since we have a cord for the loudspeaker from the computer to the punch bag we might as well have a USB cable. Well I'm getting pretty tired of sunSpot, a complete waste of time. The Arduino worked just fine... Well I don't think I can cry more about it. In other news David moved the wires to a strip board which made the whole circuit more robust and it filled much less. Meanwhile the girls finish the presentation. We also got a hold of a caretaker who would hang the a hook in the ceiling tomorrow. Christoffer had also made most of the code ready so when the sunSpot is ready we can test it immediately. Christoffer also made an emulator so we actually could test the program without the punch bag and thereby made possible to find all errors before we plug the SunSpot in.

mandag den 25. februar 2008

Fourth day of Project work

Because we had to use SunSpot instead of Arduino Christoffer and David used most of the day installing drivers and trying to get SunSpot work. We discussed the way we should present the beatbox next week, what topics we will go into, such opsticals, ideas, hacks and so on. and tried to figure out how/where to hang the Beatbox. Hopefully we will get permisson to drill in the ceiling but we won't know until Wedensday. David assembled the wires on breadboard an connected them to the SunSpot. It was pretty hard to connect wires to the SunSpot because of the design on the SunSpot (another reason to use Arduino) But at the end of the day, he managed anyway. We filled the punchbag again, this time making sure to stuff it really hard so the buttons wouldn't tumble around inside the bag.

fredag den 22. februar 2008

Third day of Project work (Pictures)

Buttons almost completeButtons complete

Final button testing
before going down the punch bag
Markers being placed
Buttons in place

torsdag den 21. februar 2008

Third day of Project work

The day started with finishing the rest of buttons (we got some more wire). Pinar went to buy more foam rubber and sewing needles. David started to connect all the buttons to the breadboard and programming the arduino so we could tell the different buttons from each other.

Today we also had a group meting to discuss how the actual "game" should be. We agreed it could be nice that you could use the hit-buttons to select for instance difficulty or another option. We also discussed whether or not the player should have a given amount of seconds to do the whole combination or the time should be measured between every hit. We choosed that the player would have a certain amount of time to do the whole combination. The degree of difficulty should depend on how long the player would have for each combination.

We then started mounting the buttons inside the punch bag to test how this worked. It seemed to work fine, but because we hadn't filled the punch bag totally with the stuffing. This resulted in the buttons was shoved around inside the bag. But we determined that with all the stuffing the buttons would work.

Josefin and Pinar emptied the punch bag so the leather patches could be sewed on. Meanwhile Christoffer and I started recording the sound in the KTH insulated sound studio (A broom cupboard with a laptop). Mia and David programmed and assembled the wires.

I had to go at 17 o'clock, so I don't know how far the others came with the project, hopefully I'm up for a big surprise Monday

Things we still (as i know of) need to do is:
  • Programming the arduino and the software for handling the Arduino output.
  • assemble the wires on a smaller breadboard.

tirsdag den 19. februar 2008

HOWTO: Make a cheap button

We had a sort of a button workshop and here are some notes from that:

To connect the wires to the tin foil we first winded steelwire with the wire and then taped the steelwire with gaffa tape on to the tinfoil. This had the positive sideeffect of giving the tinfoil strength while it maintained its flexibillity. To connect to a Phidget just put one wire in Ground and the other in digital in. When the two layers of foil connect you will get an 1 from the Phidget. If you user SunSpot or Arduino there should be a resister in between to avoid shortcut. Try experimenting with different patterns in the middle piece of foam rubber (skumgummi) and see whats works best for your kind of button. Also, you don't have to have the extra layer of foam rubber on the two sides of foil, we just had that to make the buttons more robust in our punchbag.

It's also possible to glue the tinfoil on the material you would use for your button, but the tinfoil will more easy get shredded when bended. So this is only a good solution if your making buttons on hard material.

The Foam rubber can be bought in most handcraft stores like Panduro Hobby and cost about 45 SEK for 50x50 cm.

Second day of project work: Button-workshop

After finding the best pattern for the buttons, we continued developing the "design" of the buttons. We tried glueing the tin foil on cardboard but found that loss of flexibility was a bad solution.

To connect the wires to the tin foil we first winded steelwire with the wire and then taped the steelwire with gaffa tape on to the tinfoil. This had the positive sideeffect of giving the tinfoil strength while it maintained its flexibillity. We tried connecting two buttons to the Arduino via a breadboard and testing how this worked. Because we ran out of materials (and time) we ended the day after making a task list and a plan for tomorrow

mandag den 18. februar 2008

First (actual) day of project work

I arrived later because I had another course so the group was well under way with developing the the Beatbox idea. We agreed on making the hit zone censors on our own. Instead of force censor we were going to make huge button with tinfoil and foam rubber. We thought this would work better instead of force censor that had to be calibrated every time a new user should use it. Also we didn't think it mattered how hard you hit the punch bag compared to where and how fast you hit it. We have got the idea of making the buttons this way from a lecture and also from some guys at Tekniska Musset who had made seats on a stool to a big button. So these "hit-buttons" will be connected to an Arduino, this will be connected to a computer which will then generate the sound. Preferably the computer will be connected to a loudspeaker that will be placed inside the punch bag.

While writing different ideas and solutions to these we also made a shopping list of things we needed and the group split up so David stayed at the school trying to prototype a "tinfoil foam rubber-button". Christoffer, Josefin and me went out to bye colored leather (for the hit zones), punch bag, gloves and foam rubber. It's great that we've got 700 SEK for the project it actully means that we can make a pretty cool project! We were back at school at 15 O'clock and the group split (because of lectures) but at 17 O'clock we all got back together to continue working.





Christoffer and I made different types of patterns in the foam rubber to see what would work best as a button. Ultimately it was prototype Beta that was the most effective and the final button design is now complete.

We agreed on metting tommorow (Tuesday after 15 O'clock) to continue with developing buttons and how to connect them the Ardiono. My main concern is making something that won't break after hundreds of punches from different users.


onsdag den 13. februar 2008

Project selection

David and Christoffer was gone today, but Mia, Pinar, Josefin and me tried to figure out what we should do as our project. We started (once again) brainstorming on different ideas. Pinar (once again) was keen on making some sort of furniture with light that changes depending on different factors. I really like her ideas, but Mia and Josefin didn't seem that keen on making a project that you can't take with you. And second of all it could be pretty expensive buying a bed or similar. Mia and Josefin wanted to make a robot, witch also could be fun, but in my opinion it should have some form of different/unusual/abnormal function than just a "normal" robot. I suggested that we made a robot that instead of helping you would do the opposite. In that way there could be some kind of political statement (though I don't exactly what statement :-) )We tried brainstorming around various topics like to whom, Where and what purpose. But none of that seemed to get us anywhere.
We started talking about our first idea of the Beatbox, a punch bag with different hit zones you should hit in different combinations.

It seemed like that there was general unity about this idea. So our project idea is Beatbox v.1 (or v.0?)

Beatbox (once again)

So, as briefly mentioned during prototyping, the concept of Beatbox (The original idea) is a bunchbag with different hit-zones in different colors. Instead of just hitting the punch bag randomly a voice guide will tell the player/user in what order to hit the different zones. The user will via audio feedback get information about correct hits and maybe also some kind of encouraging/scolding depending how good the task was handled.

Afterwards we started thinking on what technology we was going to use. The first idea for the "hit-zones" was to use a force censor with some sort of plate on top of that (to widen the hit area) and the some foam between this plate and the outside of the punchbag. We also discussed whether or not it should be a game for older kids or an actual exercise game/training device. Either way it could be cool if it could learn a combination that afterwards should be repeated. This could be used in a teacher/student situation or a in a two player situation.

Well, we gonna discuss all the details with the rest of the group Monday.

lørdag den 9. februar 2008

Arduino, first hands on

The Arduino seemed pretty nice. I like the idea that you don't have to have it plugged in to a computer while it's running. And second, it's cheap. Even though I never written anything in the Arduino language, it seemed fairly fairly easy to get started with. It was a bit crowded (6 persons on one Arduino) so I didn't try to connect anything to the Arduino or the breadboard. Hopefully I would try that out later. I'm not that good with circuits, so i would like to learn something about that. But we got both input and output working. I think I prefer Arduino over Phidgets simply because you don't have to plug Arduino to a computer, hence more mobility.

tirsdag den 5. februar 2008

Final day of prototyping

In the weekend I had worked on the combining Christoffers code and mine so I looked forward to testing it with the phidget and the censors. Luckily it worked and the prototype was more or less done. We sat up the prototype with a lamp directly over it so that there would be a minimum of light disturbance. Sadly enough, only Christoffer and I where there to show the prototype. The others were either sick or at classes.



Pictures of the final setup


Video of the final test

torsdag den 31. januar 2008

Second day of prototyping (Pictures)



Mia, Pinar, Josefin working with the prototype

Inside the box

Decoration of the Beatbox (This also works as some form of guidance)

The different RFID tags (Ball missing)

Second day of prototyping

Additions
Because the light censor had worked surprisingly well we continued with that approach and with the hope of incorporate to different sounds depending on how far the hand would be from the censor (see illustration). We then talked about how we should make the prototype, materials and so on.

We all agreed that it should be a simple/sleek design with as little as possible of the electronics showing. We decided that coding the prototype was a one (wo)man job. David signed up for the job and worked with the code while the rest of us worked with the prototype. Fortunately we found a box matching just the way we wanted the prototype and the girls pretty soon made a functional prototype (still lacking the code though). Christoffer and I thought of the idea of changing instruments. With RFID tags we could realize that and we started decorate the tags so the tags reflected the different instrument (more or less, see picture below). We also started implementing this with our own InstrumentSelector class in java.

Sound Problems
David dropped working with sound (wave) in Java due to problems mentioned from the first day and some other unknown problems. He started using midi instead.

When we started testing the prototype it’s was hard to distinguish “high” and “low” movements from each other because of two reasons. First of all when removing the hand after a “low” movement the light censor value would increase until it reached a normal state and by doing so passing the “high” value thereby triggering both the “low” sound and the “high” sound. Second of all, due the different light sources, if you held the hand slightly to one sides of the prototype the amount of light being removed would correspond to the amount of light being removed if you held the hand in the “high” position thus triggering the “high” sound. We tried solving this in different ways but nothing helped (I later realised that the best way of solving this problem was to have a proximity censor so that the sound would only be played when this censor also was triggered). We ended up skipping the idea of two different sounds and just went for one sound.

The RFID tags worked as planned, but it wasn’t as easy to change instrument on run-time as predicted. David worked for this for quite some time but time was running late and the group had courses to follow or assignments to make.

Redesign
Christoffer and I had no plans so we decided to look at the code to see if there was some solution to the problem. I took a second look on sound in Java and Christoffer looked at the censor part. This ended in a complete redesign of the code. Christoffer managed to sort the events so a sound wouldn’t be played every time there was the slightest movement, but only when big changes in light occurred. I had sound working on my laptop and we seemed confident that the hours given Monday was enough to make it all play together.


tirsdag den 29. januar 2008

First day of prototyping

The group quickly found together because we had worked together the week before when looking at phidgets for the first time (David joined) We started out brainstorming on all ideas we had (possible and impossible).

Different ideas
The first round of brainstorm resulted in these ideas:

Color Table
A table that changes color depending on what you put on it or how long it’s been there. This could be realized with either temperature censor (a hot cop of coffee vs. a cold glass of milk) or RFID tags and different LED lights. A variation of this could be a floor with different lighting, like in Michael Jackson – Billie Jean music video

Automatic typewriter
Another idea was an automatic typewriter that could do ASCII-Art or print something from a computer. That would mean that all keys should be connected to different motors which would mean a lot of motors so that idea was quickly dropped.

Ball game
A third idea was a sort of game where 2 players had a ball each. These two would then be connected to each other (by Bluetooth or similar) and then be pressing different places on the ball the two players could then play some sort of game.

None of the ideas seemed to be the perfect one for the group, either it was to big a project for at prototype or only a minority of the group liked the idea. It seemed that because we hadn’t any constraints it’s was actually hard to find ideas. Therefore we try to agree on some things that we all wanted the prototype to have and thereby setting some constraints for us self.

Constraints
We agreed that (even though it could be fun) a toy for kids would be overkill because they have there imagination (and we only have the reality… ) and maybe wouldn’t need all kinds of electronic. It could on the other hand be great to make a game for grown ups. Another thing we all agreed on was that the prototype either should be some sort of furniture or something you would be able to take with you, thus not an installation. We all wanted something with interaction (Mia was pretty keen on getting something with motors) and light or sound. A common interest was also to control something in an alternative way. For example had Christoffer seen a harp made of water beams that you could play on.

Brainstorm (again)
We tried brainstorming again which resulted in different variations of the ball game but also an idea of taking an punch bag and making it play a sound each time you hit it (like "Auch") or maybe making a game of it so you had to hit in the right combination. This idea changed so you could use the
punch bag to play music on (drums for example). The alternative way of playing drums combined with the water harp ended up in the idea of playing drums in the air with help of either proximity censors or sonar censors. We all liked the idea of playing something without actually seeing what made the music play. We named the prototype "BeatBox". The "Beat" in BeatBox is both from beating the punch bag (where the idea derived from) and a drum beat.

The proto-prototype
After that Mia, Josefin, David and I tested the idea, but because we didn't have a proximity
censor we used a light censor instead. We placed this in a cup to avoid to much light from the sides. Pretty fast we got it working and it seemed it could be possible to make a working prototype with the time we had available. Only problem was that due to the amount of events the light censor produced every time you moved your hand, the computer couldn't keep of with playing the same amount of sounds. David started working on a solution to that problem, and the rest of us went home.

fredag den 25. januar 2008

Phidgets, first hand on

Today we got introduced to the phidgets. I’ve never programmed anything other than software so I was exited to work phidgets. Christoffer and I teamed up (we had been in a group last week) and soon Mia, Josefin and Pinar joined. The Phidget was surprisingly easy to get started with and we played with the motors and some form of proximity censor. The group seemed to work pretty good together booth playing and exploring the opportunities available. We tried to make a small car out of two motors and some disposable cardboard cups. Unfortunately we didn't take any pictures of this, but it worked fairly good. Well it's gonna be exciting to work with the next couple of weeks

tirsdag den 22. januar 2008

A Digital Experince

Todays lecture made me think of the site Digital Experience by CAVI, the Centre for Advanced Visualization and Interaction at Aarhus University. It's a very cool site with a lot of interaction design and other neat stuff.