# Blog - Sketching with Hardware

Practical Course on Physical Computing

## The Alchemy Lab

##### Published on: August 10, 2016 | Author: Thomas Wimmer | Categories: 2016b, Projects

The Alchemy Lab – Professor Pooly’s Potion Plotting

We tell the story of an old imp who is looking for a mysterious potion. And he needs your help for that! In this small alchemy lab you need to solve puzzles and riddles to finish up a potion and get a hint on where you have to go next in your Scavenger’s Hunt.

We aimed on creating a fun and challenging puzzle around the four elements – water, earth, wind and fire. After some discussions and sketches we decided on building an alchemy lab which includes the elements perfectly. Thanks to a good introduction in the beginning of the week we knew what was possible and what wasn’t – even though we had to make the painful experience that not everything we thought was doable, was actually doable.

We split the puzzle in four parts, equal to the elements.

First, you have to pour water in one of three pipes rising the water level in a fourth one making a little ball float. How to know which is the correct tube is hidden in a riddle.

The second puzzle is all about wind. The goal of this puzzle is to move a ball up by the pure power of your lungs.

Next your knowledge of gems and stones is challenged. You need to place the right gem at the right place and all you get are some hints to eventually pass this task.

The last part of potion brewing is to heat the potion up and make it boil.

To solve this puzzle you need knowledge in chemistry, physics and mineralogy. But who said brewing a potion would be easy.

A more detailed description can be found here.

## The Alchemy Lab

##### Published on: August 10, 2016 | Author: Thomas Wimmer | Categories: 2016b, Projects

The Alchemy Lab – Professor Pooly’s Potion Plotting

This years topic for the course was “Scavenger’s hunt” – creating a puzzle/riddle that can also survive outdoors. After being introduced with several sensors and what the Arduino can actually do we quickly decided to include the four elements – water, fire, earth and wind – into our project. Some research and discussions later we agreed on building our own little alchemy lab which also fits perfectly with the four elements.

The story behind…

A long time ago in a long forgotten land a crazy mysterious professor and his faithful and inferior imp Hogsworth aspired eternal life. Day in day out they tried new invented recipes and brewed potions of all colors in an old laboratory up in an even older tower to finally achieve their goal of immortality. Sometimes their tongues would turn to gold, sometimes they grew new body parts, other times they shrank or grew and most of the time simply nothing happened – at least nothing they immediately noticed. One day they were sure to have finally found the right recipe which would make their lives never-ending. Greedy as the old professor was – already looking for the potion that would grant him immortality for way too long – he took the first sip. With a huge gulp he chugged almost the whole bottle but instead of eternal life he found … eternal death. The small Hogsworth might have been simple but not completely dumb. Seeing his old master being dead he decided to quit the potion brewing business immediately. But this sounds easier than it is. Imps of his kind need to be granted a potion of special kind by a stranger from foreign lands to be freed forever. So he was sitting in the chambers of the old tower waiting for a stranger to release him from his grim destiny, promising this person one wish (or just a hint, or maybe nothing but well it is still worth a try, isn’t it?). And who knows, maybe this poor fellow is still living his damned old life in the even older tower…

The idea

After hearing this sad story we had to help Hogsworth and build up his alchemy lab again.

So the question was how it is supposed to look and how we create a fun puzzle that can also be done within a few days. Some brainstorming later we eventually decided to split the project into four parts equal to the four elements. When completing all four parts the potion is brewed and the imp provides a hint to the next destination – therefore the next station of the scavenger’s hunt.

Water

The basis of every potion is some kind of liquid. So we start of with water.

This part was mostly based on a riddle. The idea is to have three pipes where water can be poured in, but only one of them is the correct one. This part of the puzzle is based on simple physics – more precisely the principle of communicating vessels.

One of the three pipes is connected to a fourth one which contains a small ball. If water is now poured into the correct one the water level in the connected pipe will rise as well and the little ball will float up. If the water level is high enough the ball connects two wires and a circuit is closed. The ball is – of course – covered with copper and therefore conducted.

Now you might wonder how to find the correct pipe. We thought about a more or less difficult riddle. In advance, to solve this riddle Google or a major in chemistry might be helpful – but most likely you will need both.

1. While burning I turn a fiery red.
2. Correctly I shall be called Dihydrogen Monoxide, my place is left to a gas.
3. Inhaling me will make people around you laugh.
###### ####### SPOILER ALERT ####### Explanation: Because of the water symbol it should be obvious that water is supposed to be poured in one of the pipes. So the challenge is to find out which pipe is the correct one. Lithium which is a metal is turning red when it is burned. So the solution to 1 is Lithium which has the atomic number 3 in the periodic table. Therefore, water does not belong into pipe III. Dihydrogen Monoxide which is described in the second hint is H2O which again is water. The second part of this hint says that water is left to a gas. Lithium – on position III – is not a gas so water cannot belong in II – which would be left of III. Thus, water must be poured in I. As an additional hint 3 describes something that makes people around you laugh when you inhale it. As everyone knows, inhaling Helium changes your voice in a funny way making everyone laugh. Helium has atomic number 2 and is obviously a gas. As we know from hint 2 water is left to a gas, so left to helium at II – so again water belongs in I.

A friendly reminder: Keep in mind that water and electronics are usually not best friends. So on the one hand make sure that all tubes and pipes are waterproof and on the other hand place the Arduino and everything water-sensitive above all tubes and pipes – just in case.

Wind

This part which needs to be solved to brew the potion is wind-themed and actually quite simple. It follows a similar approach as Water. When a copper covered ball connects two wires we have a closed circuit. We used another pipe with a small hole in the bottom – big enough for a straw but too small for a ball to fall through. At the top of the pipe are two wires, which need to be connected to close a circuit. So the idea is to push the ball up the pipe with the pure power of your lungs.

Earth

Let’s come to the most difficult part we had to create. Earth is also the reason why we finished about 20 minutes prior to presenting our project.
But first the idea: The goal of this puzzle is to put the right gem on the appropriate panel. With sapphire, emerald and ruby we chose three of the most famous gems. Each of this gem has to be placed on one of five panels – surprisingly labelled with the numbers I, II, III, IV and V. If all gems are placed correctly the riddle is solved.

How to know where to put what? We thought about three one-liners to provide first the gem and then the position:

1. I am royal therefore I come first.
2. Dear to Saturn I stay right left of him.
3. Born in May I belong in the middle.
###### 3. The birthstone of May is emerald and the panel in the center of five panels is the third one. Emerald on III.

And now to all the issues we had. We first tried to figure out how to see which gem is on which panel. With different weights of the gems we would have been able to find that out. So we experimented with Force Sensing Resistors (FSE) – which simply measure pressure. With different weights we can measure different pressures and therefore react to that. The problem though is that those FSEs need a lot of pressure to give a valuable result and we were not able to get anything small but heavy (e.g. lead) in any of the stores we went. So FSEs were disqualified (only took us 1.5 days to find out).

So we went on to a similar approach we used before: closing a circuit. We did some testing with sponges. If a sponge is squeezed far enough, two wires would connect and a circuit closed. With different sizes of sponges we thought we can influence the weight needed to close the circuit and therefore sense the various weights. Another couple of hours later we threw the sponges in the trash… the sponges unfortunately were too steady and the weight we had was not enough to squeeze them as strong as we needed.

We were sure we followed the right attempt. Another thirty minutes later of thinking we agreed on using cotton wool which is a lot less steady than the sponges we had. But how to keep the cotton wool in place and how much to use for which weight?
Long story short, we eventually found a way to close a circuit when putting a weight on a panel using cotton wool but we were not able to sense different weights. At least not a few minutes before the deadline.

Fire

As every experienced alchemist knows a potion is only good if it is boiling. So the idea was to make fire – or at least see if there is some fire. Temperature sensors are often quite expensive or have a maximum temperature that was not high enough for a simple lighter.

Our first approach was another principle of physics: positive temperature coefficient. If a metal is heated up its resistance increases. To test this we burned some resistors we found and measured the changing voltage which was actually a lot of fun and is what this course is all about – having fun with hacking.

Unfortunately the difference in voltage was not high enough and we changed plans. Luckily, Bernhard provided us with a temperature sensor which worked perfectly. So making a fire was finally possible.

The looks

For designing our lab we had three goals. First, the four parts should not look independent, but they are supposed to be one so that every part is equally important to master the potion making. Second, all wires should be hidden. Keep in mind, we are in a really old tower without any electricity. And finally, make the whole project look old and mystical.

As seen on the images, every part is built out of wooden boxes we cut with a laser cutter. They are then attached on a back plate with mystical engravings and the riddles for Water and Earth. All wires lead to the back of the plate and are attached out of line of sight.

Putting everything together

After building all four puzzles and the back plate it was time to put everything together and make it one. We attached the boxes on the plate and hid all wires behind it. Above Fire we placed our potion that changed its color whenever one of the riddles was solved. That’s why we placed three RGB-LEDs underneath. This also helps the user to find out when a riddle is solved through visual feedback. Additionally, it has a fun effect.

The hint provided by the imp when he is happy and free (so when the potion is done) is provided by a LED. We placed eight LEDs, labeled with 1-8 (we were 8 teams in total) on the back plate. The LED with the correct number will light up when the whole puzzle is done.

Electronics and code

Due to the fact that the Force Sensing Resistors we wanted to use for Earth did not work as expected we ended up with one main technology: Closing a circuit.

As already mentioned, Water, Wind and Earth worked with closing a circuit by moving balls or pushing something down. It is as simple as it sounds. If the circuit is open there is no voltage and if the circuit is closed there is voltage. This can be measured with the Arduino and when using various pins the circuits can be differentiated.

For Fire we used a PT1000 Thermosensor which works perfectly to measure temperature. It has a 1000 Ohm resistor which is valid at 0° Celsius. With changing temperature the resistor changes and therefore a different voltage can be measured (for further information: Resistance thermometer). We took the initial value provided by the sensor and then constantly checked. If the value changed by a certain threshold we knew someone heated up the sensor and completed the task.

We used normal colored LEDs as well as RGB-LEDs. Normal LEDs have two pins. One for Ground one for Power. If there is power, the LED lights up. The more power, the brighter it is. RGB-LEDs work in a similar way, considering the brightness. But they have four pins instead: one for red, one for green, one for blue and one for Ground. Depending on how much power is provided for each pin the color can be changed – simple color theory.

How everything is wired and connected can be seen in this fritzing layout:

A video of the project can be seen on YouTube.

## Day 5 – Are we there yet?!

##### Published on: August 9, 2016 | Author: Huyen Linh Nguyen Vo | Categories: 2016b, Daily Log

It’s finally half-time! Or more like already in some cases…and although stress filled the air, Friday morning remained rather relaxed and calm, kind of like before a storm. All teams stood ready relatively early to work on their respective projects and to meet their daily to-dos, some with the intention of leaving earlier to enjoy the weekend.

However, as the morning proceeded and the first practical problems, which led to more distinct time pressure, occurred, stress levels increased visibly: Throughout the groups, several teams had to face a few setbacks as their code just would not work the desired way and resulting from that the features they built would not respond. Lunch break today was more of a ‘whenever fits’ situation because many teams just opted to stay and work on their project tasks instead.

Evidently a lot of teams decided they would unfortunately have to come in during the weekend in order to finish things up on time. But that’s another story. For now, let’s recap what happened in the respective teams during this Friday:

Team 1 – Floribus Rabidus

Flowers galore! Team 1 remained stress free considering the pressing time. The software for their flower box was almost finished and they returned to the building supplies store in order to find a tube for their blowing riddle. This puzzle encourages the player to blow at one of the flowers to solve it. Since the flower box with all the flowers was already prepared, their Friday consisted of improving the software and testing the four riddles which they came up with that involved the four flowers. The boys finished their daily tasks with no major issues and managed to wrap up early for the day, having decided to come in during the weekend instead.

Team 2 – Priapos

Katharina and Michèle from Team 2 did a healthy mix of soldering, tinkering and programming this Friday. They managed to code the riddle which involved the hat of their little scarecrow friend and thus having LEDs blink in various colours and different rhythms according to said riddle. While Katharina continued to develop the coding part, Michelle opted for crafting the cloak for the scarecrow. Their goal was to also attach the raven they built onto the puppet and create contacts for the Arduino. Both girls’ stress levels varied, mentioning the word ‘so-so’ when asked how they were doing so far, a word many more teams would be using during the day.

Team 3 – Professor Pooly’s Potion Plotting

Professor Pooly sucks! Well at least that’s what I was thinking a few times today. Nonetheless our team still succeeded in building all the stations we needed for our potion puzzles. Also, we accomplished the following: Got pretty much all the sensors up and running, so that we only had to put them on the boxes we engraved, cut and glued together and also start designing the board where all the respective stations would be placed on. Our team had a particularly nasty issue with the ‘earth’ puzzle as the sensor just did not want to detect weights placed on it.

Team 4 – Mystery Box

Markus and Lukas had been struggling with the voice recognition for their mystery box and concluded to opt for a proximity sensor instead. They finished up building their mystery box during the day and experimented with sounds and ‘melodies’ to play when changing the proximity of their hand in relation to the wooden box. As for the surprise goodies inside of the box they did not really want to spill the beans but mentioned that they had decided against putting beer inside, which was the initial idea. All in all, both boys seemed relaxed enough despite the few problems that came up.

Team 5 – Ein Münchner zu Himmel und Hölle

Katrin and Barbara of team 5 felt the pressure rising as they spent their Friday sawing the plates for the game ‘Himmel und Hölle’, a popular school court game which is similar if not identical to hopscotch. They finished spray painting their game setting during the day and were planning to incorporate sponges to measure the impact of the player jumping on the plates. The girls were thinking of using LEDs to indicate if the player jumped on the plate and, for later levels, if he or she followed the right jumping pattern. Both were very busy during this Friday.

Team 6 – Space Odyssey

Ever the artists, Team 6 invested lots of blood, sweat and tears into their work creating an art piece. Amongst other things they freehanded a spaceship on their spray-painted wooden gameboard, which rendered the whole thing impeccably beautiful. Their goal for the day was to finish designing the game board as well as put their self-proclaimed simple electronics to use and hope that their adaption of the game, based on the childhood game ‘Kletterpfad’, worked like a charm. So the rest of their day was spent case testing the game dynamics they coded.

Team 7 – Mouse Catch

By far the team with the best time management, Team 7 finished up their work for the day as fast as they actually decided on the idea. Ehsan and Laurenz’ project day ended in the early afternoon, with top results. They managed to check off all the points on their daily task list with practically no stress at all. The boys incorporated the IR sensor into their ‘mouse’ and spent the morning doing lots of soldering and planning what had to be done by the end of Monday. For the record, the vehicle can now move forward neatly and detect obstacles. Pretty impressive!

Team 8 – C-3PObstler

As for our beer pong team, Ha-Vy and Manu worked relentlessly on building their corpus for the little ‘butler/robot/friend’ as well as the box on which the whole game was placed, which was laser-cut from wood planks and glued together. Also they spent Friday working on and testing the underlying mechanism of the whole beer pong idea, resulting in them being able to track whether a ball has landed in one of the game cups and indicating this to the player among other things. Speaking of stress levels they remained calm and collected throughout this Friday.

True to our motto ‘Scavenger Hunt’ it took a while to find all the teams, as they were scattered around the building. While Friday was stressful for some, everyone still managed to joke around and be relaxed enough.

## The MysteryBox

### Idea

The MysteryBox is a wooden chest which opens only if you play the correct melody on it. But how are you ever able to play a melody on a ordinary box, you might ask. Well, the MysteryBox has an integrated distance sensor in its lid which detects your hand if you hover over the box. The higher the distance between your hand and the lid the higher the frequency the box emits.  If you moved your hand in the right manner, the box reveals its interior: a lollipop beautifully set into the right light by three LED beneath the presentation plate and one from top.

### The Box

The exterior was made out of simple wood. Using a laser cutter we were able to weld the wood around the corners to get a more unique look. After the cutting we had to wetten the wood to make it more elastic and prevent damage.

### The Instrument

To get the distance sensor and the sound replay working, we experimented with different approaches. First we tried to detect a person whistling a melody using a microphone which involved some low level operations. As a next step we took a shot at distance sensors: First with a Sharpp IR Sensor, which we ditched very quickly for an Ultrasonic sensor, because outdoor usage is only possible with the latter.

A major challenge was to get stable values or sounds with very messy sensor data. To solve this we first mapped the value range of the sensor to the range of our playable notes (0-4). The algorithm implemented on the Arduino UNO reads a new note value and compares it with the currently playing one. If it matches there’s nothing to do, if they don’t the new value is cached and a failCounter is incremented. The next time a new note value comes in, and it matches to the currently playing note, the failCounter is retested because it con firmes that the current note is the correct one whatsoever. But if not and it matches the previously read note the failCounter is incremented once more.

When the failCounter reaches a certain threshold, the new note replaces the current note, since there’s sufficient evidence that the position of the user’s hand had actually changed.

The procedure is not depended on the kind of sensor your using, only the mapping and the threshold has to be adjusted.

### The Door Opener

Using a Servo Motor and a sophisticated door opening mechanism – a piece of wood basically the box can open its door on its own. A magnet hold the door in place and gives a more satisfying sound when the user closes the door again after retrieving his/her prize. The servo motor however causes a major problem in conjunction with our LEDs. The standard implementation of servo control on the Arduino board used interrupts pretty frequently. This prevents the communication to our LED strips since this depends heavily on timing.

### The LEDs

Last but not least: some sugar in form of LEDs. We’re using NeoPixel-compatible LEDs which already have a driver chip integrated and can be serialized. They come into play on three party of the MysteryBox:

1. under the presentation plate as back light of the laser-cutted glass disc
2. on the top of the interior as standard diffuse room lighting
3. as status LEDs to indicate if the player already has gotten one part of the melody right and when the game has ended

Combing these tops of the clean look of the MysterBox and makes it interesting to interact with.

### The Code

can be found as a GitHub Gist.

## Team 8: C-3PObstler

##### Published on: August 9, 2016 | Author: Ha-Vy Ha | Categories: 2016b

Idea:

On the first day of brainstorming we tried to associate things that we would do outdoors with the challenge. And drinking games that require some skill like flip cup, flunky bad and beer pong came to our minds. We decided on beer pong because we initially thought about doing moving cups, that would rearrange when scoring. But then we decided to omit the teamplay aspect of the game and change it to a one player game. After gathering some ideas C-3PObstler was born. Or the idea of him at least.

A robot butler that would pour you a drink when you hit the cup.

1.Building a peristaltic pump

How does it work?

A peristaltic pump is a mechanical pump that can move fluids, by applying pressure onto the pump and basically squeezing it. The fluid is in a flexible tube inside a circular pump casing. A rotor is  attached to (in our case) 2 round bearings, which squeeze the tube, while turning with the rotor, which causes the fluid to move through the tube. And when the pressure point is released (the tube is open again), fluid flow is induced to the pump. (https://en.wikipedia.org/wiki/Peristaltic_pump)

So basically, a peristaltic pump can suck in fluid from on container, move it through the pump and release it into a different container. C-3PObstler has a cup inside its body on the bottom. One end of the tube is inside that cup with your favorite beverage of choice and the other end is pouring the drink into a shot glas above.

We knew that the most complex and difficult part of our project would be the pump, but it would also be the cool factor of our project. So, peristaltic pump or bust.

Fortunately we found a svg file on thingiverse.com (http://www.thingiverse.com/thing:5265). We changed the size of the hole, the tube would enter or exit to 6mm, since we found a silicon tube perfect for out purposes that was 3mm thick. The tube needed to be resistent but not too thick, so that it could be squeezed easily. We cut out the necessary pieces of the pump out of 4mm thin wooden boards with the laser cutter. We got regular 2 608 ball bearings, which would be in charge of squeezing the pump. Over confident us thought that the pump would only require 2-3 days max. We were quite naive. Because so many more problems would arise:
1. problem: how could we attach the hacked servo (one that is supposed to 360 degrees instead of only 180)?
Hot glue was not sufficient enough, we needed some kind of attachment to hold the body of the servo. We went back to the laser cutter and cut the outline of the servo into a same sized wooded square piece, which is supposed give the servo some stability.

2. problem: too much abrasion, the servo wasn’t able to move the pump quickly enough for the water to be pumped through it. So we used silicon oil, abraded the inner parts of the pump and got a slightly thicker silicon tube (5mm). And it worked, the servo was finally moving and the fluid inside the pump was moving as needed.

3. problem: the tube is pulled into the pump and gets entangled. this problem was kind of tricky and no we did not solve it. We thought about good old hot glue, and after testing whether the heat would affect the silicon tube (it didn’t) we glued the entering and exiting parts of tube together, to give it some resistance so that it wouldn’t be pulled in, but that only caused more problems.

And now we had the last day already and we decided that though we always had to pull the tube back out, the pump did work So we left it the way it was, hoping that it would do a bit of pumping at the presentation (but it didn’t).

2. Beer cup and ball aka. the button

We wrapped the ball into copper tape, glued some steel wool on two opposite parts in the cup. The idea is, that once the ball hits the cup the electric circuit would be closed and the pump would start running. And since steel wool is quite puffy, it made sure that no matter where the ball landed in the cup, the circuit would be closed.

Check out the video to C-3PObstler:

The electronics for C-3PObstler:

The code for C-3PObstler:

```#include <Servo.h>

Servo myservo;  // create servo object to control a servo
const int buttonPin = 2; //
int buttonState = 0;
void setup() {
myservo.attach(9);  // attaches the servo on pin 9 to the servo object
pinMode(buttonPin,INPUT); //initialize digital pin 2 as an input
digitalWrite(buttonPin,HIGH);
}

void loop() {

if(buttonState == LOW){ // button is pressed
myservo.write(180);   //turn servo on (full speed; 0 == cw, 180 == ccw)
delay(100000);        // rotate for 100 seconds
}
else {                  // button is not pressed
myservo.write(90);    // don't move the servo
}
}

```

## Monday – Day 6

##### Published on: August 9, 2016 | Author: Katrin Schauer | Categories: 2016b, Daily Log

The last full day of work began actually really quiet and concentrated. At his point you could see at every table the projects grow and sometimes it was optically even finished. At a few tables you could detect a progress over the weekend so obviously some guys had been here during the last two days. Every team – if worked on the weekend or not – had a plan what to do and to finish on the last day before presentation day. Nearly everybody had the ambitious goal to be finished in the evening in order to have the last four hours of the next day for testing, last bug fixing and painting a poster. So the atmosphere was actually not panic at all rather concentrate and efficient.

Team 1: Floribus Rabidus Electronics

The aim was to finish the project and besides a bug with the shake-switch the main functionalities are implemented and already working. But until this point the cause for the bug could not be found. But nevertheless they seemed quite confident to get everything finished in time.

Team 2: Priapos

Team two builds a large scarecrow to pick up the outdoor topic again. They worked during the weekend and could so finish everything. So Monday was bug fixing day! Also the „doll“ will get dressed today so that it would make an really scary and so realistic impression. All in all they were quite far and already finished so they were able to start all the documentation and the video today.

Team 3: Professor Pooly’s Portion Plothing

Team 3 has already built and implemented 3/4 of all the functionalities, so they had a little bit to go today. They really had problems with the implementation of the weight sensor caused by to much weight needed to activate the sensor. They planned to work really hard on that today because it is one out of four main parts of their project. They wanted also really to finish today so the whole construction (mainly the back wall) was in the laser cutter and they wanted to wire all their connections properly today.

Team 4: Mystery Box

Team 4 had a lot of smaller construction areas today: the possibility to recognize sound and to check if it was the right one is working, mainly all the other code which for example manages the servo controlling was implemented, the box out of wood was laser cut and the flap for the top of the box was built. The probably biggest challenge at this day will be to bring all the parts together and manage a working prototype and furthermore bring the ultrasound sensor to work properly.

Team 5: Ein Münchner zwischen Himmel und Erde

Team 5 finished all the components from back wall (already painted and decorated), soldered LEDs, the sections to hop on out of wood (cut and polished), springs in form of a kitchen sponge with a piece of wood to protect the LED later and soldered contacts on aluminium foil. Today is the day to build the whole construction together especially to wire all the cable connections and to write the code to control the LED lights. Time is short so they hurried up a little bit to get things done.

Team 6: Space Odyssey

Team 6 seems to be quite far in its progress so the construction out of wood was finished and also really nice sprayed. The task for today was to improve the buttons which control the servos and to integrate some LEDs so that you have a feeling of a spaceship. Also the spaceship itself was connected with cords to the back to two servos which could roll up the cord and so lift the spaceship in front. They want to finish this mechanism today.

Team 7: MouseCatch

Team 7 seemed to be good in time because they already built a drivable something which can detect obstacles – not perfect but still. So they wanted to work on the ultrasound sensor so that the mouse perfectly gets out of the way when someone or something is in the way. Besides they wanted to hide the whole cable and sensor construction under a coat which looks like a mouse.

Team 8: C-3PObstler

Team 8 has a bit trouble on this last full day of working because the heart of the project – the pump – was not really good working. But they couldn’t see any reason for not working properly and this was a problem. The rest of the construction was finished and built bit at least they will to bug fixing the rest of the day.

So all in all everybody planned to be finished soon and therefore a lot was created until this point!

## Team 5 – Ein Münchner zwischen Himmel und Erde (A „Munich’er“ between Heaven and Earth)

##### Published on: August 9, 2016 | Author: Barbara Maria Elisabeth Schindler | Categories: 2016b, Uncategorized

“Himmel und Hölle” (in English: hopscotch) as a digital version, that was the concept which we planned to realize as a prototype within the framework of the topic scavenger hunt.

So in our project, all fields are not just only painted on the ground, but consists of boards made of wood. Four LEDs installed underside each of these boards show at the start of the three, getting more and more difficult levels the choreographies, which all have to be hopped so that the LEDs illustrates the direction to next object at the end. After showing the choreography, the LEDs signal with a countdown when it can be jumped and are also used for making it clear if the user has completed the level or done an error. These cases are determined when the aluminium foils on the underground and the steel wools also underside the boards get in contact what happens when the sponges of the boards are compressed by standing on the board. And the aluminium foils have another important advantage: they reflect the light of the LEDs, which the milky foils, stuck on the boards, break. So we required only a little amount of LEDs for lighting up all holes.

A relationship to Munich we established with integrating the story of “Der Münchner im Himmel” (The “Munich’er” in Heaven”) of Ludwig Thoma by designing the hell with glasses of bear, the “Hofbräuhaus” and some well known buildings of Munich. And so in our version, the hell becomes the heaven, or not? Find it out 😉

## Final Day

##### Published on: August 9, 2016 | Author: Manuel Bonk | Categories: 2016b, Daily Log

The final day had come. Eight days of breaking things, tinkering, and soldering have passed. Even though it was the last day, there was still some work left. The deadline was at 1 pm when the first external guests (mostly professors and PhD students) arrived. Every team had to present their work and in the end the students and guests voted the best project. Even though it was required that the projects had to work outdoor all demos (except for team 7) were held indoor due to the weather outside.

## Team 1

The first team was good on schedule, they didn’t had to do any long hours or night shifts. Today they had to do some adjustments to their code, as it turned out to be quite more difficult than expected to properly receive and interpret data from the photo transistor. The different lightning conditions indoor and outdoor also didn’t help. Luckily they fixed it properly and during the presentation everything went well. Another thing they had to do today: find a name for their project, Floribus Rabidus.

## Team 2

Team 2’s scarecrow was working flawlessly, after they’ve properly fixated it’s head and put everything together today. They spent the last day drafting and writing down the riddles. The hardest part of their project – recreating the blinking LED’s pattern with the hat – was a little to hard for the voluntee to solve. Besides from that, their presentation went really well.

## Team 3

The third team had their project’s riddle parts all set up, they just had to put it all together, which turned out to be a bit more difficult than expected. They would’ve done it earlier but the had trouble with the pressure sensors: it turned out the sensor’s resolution wasn’t high enough to detect a small glass jar, so they spend a lot of time building their own pressure sensor using cotton wool. In the end the selfmade pressure plate worked, but it took a lot of time, so their was was pretty stressful.

## Team 4

Team 4 had some trouble adjusting the software for the ultrasonic sensor. The data sampled by the sensor was very unreliable because the sensor is designed for larger distances. It was a little tricky, but in the end they made it. Other than that they did some cosmetic tunings today. It only took two tries to solve the riddle during the presentation.

## Team 5

The fifth team had an extra shift on sunday afternoon, so now they were back on schedule. Soldering stuff while lying on the floor is time-consuming and stressful. Today they fixed some bugs in their code and they connected the buttons on the slabs. A bonus task would be proper cable management, but unfortunately there was not enough time left. A major issue was a proper power supply, but due to cleverly arranging the LEDs they could solve it.

## Team 6

Team 6’s very asthetic Space Odyssey game seemed to be in its final version yesterday evening already, but somehow at least one solder joint loosened overnight and they had to do some hotfix soldering. The design is very compact and required very precise soldering, an issue both team members had underestimated. In the end their game was not only nice to look at but also working properly.

## Team 7

The seventh team was so good on schedule, they had nothing to do today. Everything was already done: the Mouse Catch was working, a poster and even a small handout were designed, and the blogpost written ¯\_(ツ)_/¯ They only stumbled upon one major issue in the last couple of days: The inaccurancy of the ultrasonic sensor, just the same issue team 4 had.

## Team 8

Last but not least team number eight had a lot of things to do today. They had to put everything together, design a poster, and get the peristaltic pump working. Unfortunately the latter one failed during their presentation. They also overestimated the Arduino’s power output so they had to disable the LED eyes. There was also some hotfix soldering 10 minutes before the presentations started. No one really knows why they won the ‘best project’ award 😉

Before the presentations and the election of the ‘best project’ award we cleaned up the mess we created in the last week in our workspaces and afterwards the workshop in the upper floor. At around 3 pm we eventually had Feierabend in bavarian restaurant right around the corner.

At this point a big thank you to Bernhard and Thomas who helped us if we got stuck and gave us very good advice!

## Team 2 – Priapos

##### Published on: August 8, 2016 | Author: Katharina Hauser | Categories: 2016b

Priapos, a project built and developed by Michèle Heinemann and Katharina Hauser

Priapos, the god of fertility has come to earth. He put his soul into a scarecrow to test those who dare to be tested. Three challenges shall be mastered by a chosen one who will be rewarded hence all these challenges have been completed successfully…

The hero has to prove his qualities in three different disciplines: wisdom, agility, and logic.

The wisdom challenge provides a riddle where the chosen one has to prove himself cunning. If he fails, Priapos will punish him and appear in fiery red.  Otherwise Priapos will be well disposed to the hero and offer him the second challenge. Within the agility challenge the chosen one’s concentration and alertness are tested. Priapos is showing the hero a sequence of lights by blinking with his eyes. The sequence consists of long and short blinks which should be remembered by the chosen one. After that Priapos is waiting for the hero to reproduce the sequence by lifting Priapos’s hat in the correct rhythm of the previously shown sequence. Priapos is attentive. Every false move is noticed and immediately punished. Priapos’s eyes begin to fade in fearsome red and the hero is forced to start over again. Only if the whole sequence is imitated correctly, Priapos will be pleased. Then, Priapos will allow the chosen one to confront the final challenge: Logic. Priapos starts moving his arm up and down. As if he tries to shake something off? The raven! Of course the function of a scarecrow is to frighten off birds. Thus, the hero moves forward and removes the bird sitting on Priapos’s shoulder. Success! Priapos’s eyes start shining pleasantly in a bright green colour. One of his arms is lowered and his head is turning in the direction of the arm still lifted. The victorious is shown the way to another quest and is given the opportunity to master other riddles and challenges to become the quiz master.

Music taken from: https://de.audiocrowd.net/kostenlose-gemafreie-musik

Concept of Priapos

When we were told the topic of this course would be an outdoor scavenger hunt, one of the first ideas that came to our mind was to create a scarecrow. The scarecrow should turn into a signpost after completing all challenges. We felt the urge to do something creepy and mean. So the role model for our Priapos was the scarecrow of the film “Jeepers Creepers” and that of the series “Supernatural”.  But how can we combine a terrifying scarecrow with riddles? Right at the beginning we agreed on having a hat and a raven for our scarecrow. So our first riddle became a classic saying that should lead to one of the two removable objects on Priapos.

“Sometimes I’m big, sometimes I’m small,
Play my role in books and films,
I’m liked by young and old,
From time to time I’m wearing a decorative coat.”

It wasn’t easy to find a saying that could mean both, bird and hat, so we chose to write our own saying which wasn’t so obvious and professional either (especially in English it sounds a bit clumsy ;)).

The ideas for our second and third challenges, the remembering and reproducing of the light sequence and the arm trying to shake off the bird, came up while we were building our scarecrow. Further information on these ones is given in the section “Technical Details”.

Realization of Priapos

We started our project on the 27th of July and had time until the second of August to finish it. In the following we describe how we have experienced these days and how we have built Priapos bit by bit.

After we had discussed our concept with Bernhard, the leader of the course, on Tuesday, we did some brainstorming which materials could be used to create an outdoor scarecrow. This evening we rifled through our cellars and attics and collected useful stuff for Wednesday like an old t-shirt and a pillow and various other useful things. We even asked some relatives to cut wood from their garden and if they had a jute bag.

On Wednesday morning our working table was already full with stuff and it became clear that this was going to be a messy week. Getting started we made our concept of Priapos. We drew some sketches and designed the appearance of our scarecrow.  Later on we already started doing some handicraft work like sewing the trousers and building the hat.

On Thursday we started doing some crazy LED stuff. We soldered the LEDs together, created a head on which we stuck the LEDs and yes: we broke our first Arduino. (Which of course wasn’t our fault… 😛 We were testing the electronic components on correct behaviour when a servo had problems turning properly. After a while the Arduino heated and a short circuit occurred. All lights on the Arduino went out 🙁 we were very sad to lose our Arduino Mega but the Arduino Uno we got was sufficient for our project. ;)) In the afternoon we designed the head of Priapos and covered it with a mask we’ve cut out of a jute bag and an old black pillowcase.

On Friday we started programming the second challenge, folded a raven out of paper and attached the servo motors to our scarecrow so that the head and arm would be able to move. Our scarecrow was slowly taking form. We gave it two legs and arms but there were still so many things left to do. We were starting to realize that there would be a weekend shift necessary to finish our project in time.

On the weekend we did a lot of programming stuff which came short previously and painted a poster of our Priapos. The agility challenge was extended to include the corresponding eye colours when lifting the hat and the program was optimized concerning fault tolerance. Moreover, the transitions between the challenges have been developed and tested.

On Monday we assembled Priapos body parts to a whole corpus. It took at least four hours and two sticks of hot-melt adhesive to mount the head on Priapos shoulders. Yet still we feared the head would fall off the body again. This was the beginning of a series of experiments. We made different approaches to stable the head and still leave enough tolerance to allow the head to turn freely. But after a long day, project Priapos seemed nearly completed. We tested all the electronic components separately. After that, the final Arduino program containing all functionalities was processed and the cooperation of all electronic components was assured.

On Tuesday, the final working day and the day of presentation, we made up our first riddle. On self-produced paper we rhymed a saying and attached it to Priapos’s scarf. Moreover, we hid a message under the scarecrow’s hat for those who successfully solved the first challenge which contains instructions about the second challenge. Finally we made it. Project Priapos was completed!

Technical Details

Building instructions

The following materials were used to build the scarecrow:

• A long stick where the body can be attached to
• Two short sticks for the legs
• Foam material for the two arms
• A clothes hanger for the shoulders
• Trousers (we sewed our own one made of jute bag)
• An old black t-shirt
• A huge black rubbish bag for the coat
• A metallic present box
• Wool for the hair
• A plastic bag filled with wadding or something comparable
• A black pillow cushion or black cloth for covering the plastic bag of the head
• A jute bag for creating a frightening mask
• Some more wadding for stuffing the body and legs
• A few pieces of foam material for the stabilization of the head

Moreover: Lots of tape, two to three sticks of hot-melt adhesive, and fixing pins for keeping the corpus together.

Additionally the following electronic components were needed:

• Two servo motors (one for moving the arm, the other for turning the head)
• Two pieces of an LED stripe (for the eyes, we used a RGB-WS2812)
• An Arduino Uno
• Copper tape
• Lots of cables in plenty of colours 😉 have a look at our circuit to see how we used them

Since everybody knows what a scarecrow looks like, we will not go into detail in how we assembled the previously listed materials. Yet, we will explain how we installed the electronics with the body parts of our scarecrow and give an overview on how we implemented the challenges and movements of Priapos.

The head plays a major rule throughout all the challenges. It is not only used to show the sequence of lights in the agility challenge but also to signal the player in which state of the game he currently is. This is done using different eye colours that change from red at the beginning to orange after the first challenge was finished successfully. Then the colour will change again from orange to yellow after the second challenge was completed, and from yellow to green after all challenges were mastered. At this particular time Priapos will also turn his head in the direction of the next riddle of our Sketching with Hardware course. Moreover the eyes are used to point out error situations.

For the eyes we used two pieces of RGB-WS2812 LED stripe. We soldered them together and attached them to the plastic bag. The blinking of the eyes and the changing of the eye colours was implemented using the “Adafruit NeoPixel” library. To enable interaction using the hat we needed the possibility to measure if current was circulating or not. Therefore we used steel wool we adhered to the head. It is important that the steel wool is not connected with each other, otherwise current flows permanently. We lay a cable from both steel wools through the inside of the head which would later be cable-connected. To establish a circuit the hat was pasted up with copper tape underside. If the hat is placed on the head the current flow is bridged by the copper tape of the hat which connects the two steel wools on the head.

Luckily, two creative and clever girls never give up. We found a workaround that not only prevented our scarecrow’s head from falling off but also stabled it and enabled a smooth slow turning of our head. We used foam material which was flexible and stuck it on Priapos’s collar. You can see it on the picture below. Later on we clad the “throat” with black rubbish bag.

The Arm Shaking off the Bird

This feature actually went quite well for us. We attached the servo motor to the clothes hanger with tape and fastened the arm made of foam material on the top of the servo motor. Then we tested the movement of the arm with our Arduino program. Because we implemented the downwards movement as well as the upwards movement separately, a smooth motion was accomplished. If only one way is implemented the Arduino will automatically return to the servo motor’s start position in the while loop which will lead to a jerking.

We implemented this feature for multiple reasons. The first reason was to lower the arm and let our scarecrow become a signpost. The second reason was the logic challenge: the arm that tries to shake off the bird. The bird was mounted on a peg which was pasted with copper tape on the inside of the peg. On a small part of the clothes hanger we also attached two disjoint pieces of copper tape with one cable soldered to each of them. When the peg with the bird is plugged on these parts, a circuit is established. If the bird is taken, the circuit is interrupted and the arm stops moving.

The heart of Priapos

The heart of Priapos is a metallic box which was pasted up with tape to prevent the electronics from a short circuit. All cables lead like veins to the heart of Priapos. In this box all the cables are cable-connected to either the Arduino or the breadboard. The power supply is given through a power bank. From the Arduino a red cable with five volt and a black cable for ground are plugged into the breadboard’s plus and minus pole. The breadboard operates as a distributor, thus all the other cables for ground and power supply are plugged into the breadboard.

As illustrated in the connection scheme, there is a black cable used for every electronic component in the circuit. Yet for every digital pin another colour is used to enable the differentiation of the components. The following table gives an overview of the electronic components used, their cable colour in the circuit graphics, the kind of pin and pin number the cables are plugged into (according to the code provided below), and a short description for which purpose they are needed.

Priapos coming alive

Our Arduino program breathes life into Priapos. Below some interesting details are given concerning the implementation of Priapos.

For the hat and the bird a pull up resistor is configured for the corresponding ports in the Arduino program. This is needed to enable voltage measurements to determine whether a circuit is closed or not. The voltage level at the Arduino pin is LOW when the contacts are bridged e.g. when the hat is placed on the head. Otherwise the voltage level is HIGH.

This fact is very important for us because we need to register whether the bird or the hat has been taken off. During the first challenge we watch out for both events: The voltage level at the hat pin or the bird pin going HIGH. If the bird was lifted, an error signal is shown using Priapos’s eyes. Otherwise, the first challenge is completed and the scarecrow’s eye colour changes to orange.

In the agility challenge the hat must be put up and down in a certain time interval. We realized the procedure with seven while loops. In each while loop it is checked whether the hat has been lifted, thus if the voltage level at the hat pin is HIGH. Then the start time is measured which is the current time in milliseconds the program is already running. The LEDs are set in the same colour as those of the corresponding blink colours in the light sequence. Then an interior while condition is waiting to be fulfilled. The outer while loop is repeated until the hat is replaced on the head, thus the hat pin is LOW again. Now the current time is taken and a time interval is calculated with “time interval = current time – start time”. Then it is checked whether the player was in the correct rhythm of the previously shown light sequence. A tolerance value is introduced to ignore slack joints and thus to make sure that the movements came from a human being. So if the time interval is greater than the tolerance value and smaller than the time given by the sequence, the LEDs are set to black and the next while loop waiting for user input is activated. Else if the time interval was greater than the duration of the lights shown in the sequence, the LEDs are set to black and the error signal is performed. The user has to start from the beginning which means the light sequence is shown again and after that it is waited for user input.

There are two different kinds of blinks: short blinks and long blinks. In the description given above we pointed out the conditions for the short blinks. The long blinks work similarly except that the time interval the hat was lifted should be greater than 1.5 seconds.

Summing up it can be said that our code is executed sequentially. After finishing a challenge the next challenge is processed. If a wrong user input occurs the error signal is shown and the challenge is restarted. Only after all challenges have been solved correctly the “riddle” can start from the beginning. Thus, there is no opportunity to solve the challenges in an arbitrary order.

We hope you enjoyed getting to know our project. If you are interested in copying it, go for it! 🙂

The project source code can be checked out on github:
https://github.com/PriaposProduction/Priapos

## Detailed Description of the Project “Ein Münchner zwischen Himmel und Erde” (A „Munich’er“ between Heaven and Earth)

##### Published on: August 8, 2016 | Author: Barbara Maria Elisabeth Schindler | Categories: 2016b, Tutorials

Day 1 – Concept Phase

Scavenger hunt – that was the topic this time to which we should consider an object that could be used outdoor and includes a physical puzzle, which should be solved by the user to get a hint to the next object.

So as we were going outside for brainstorming, Katrin and I thought of games, which we were playing as children at the schoolyard. So french elastic came into our mind, but we saw the biggest problem in the two motors at both ends, which had to be strong enough for swinging the ropes. Also we had the idea of combining skipping as an interaction with putting up an umbrella, which should protect something like a candle from the wind or the rain.

But what appealed to us at most was the game called HOPSCOTCH (in German: Himmel und Hölle): there you have to hop into one numbered field after the other according to rules from which numerous versions exist. For our technical version, we decided on a base area on which all seven rectangular board and one semi circular one stand.

These fields should also have holes, which should be illuminated by bordering LEDs when somebody has jumped on it. First, we wanted for each hole one LED, so in total about 100 LEDs, but because of this we could had have problems with finding a power supply that would deliver enough ampere and with the wires which had to be thick enough for this high amperage. So we had to consider another solution: our idea was to place a reflecting surface on the base area under each board and to fix underside of each board a milky foil, which refracts the reflecting light, so that only four LEDs per board, in case of the semi circular field six LEDs, are necessary.

For determining if the user has jumped on the right field, we consider to attach something which consists of conductive material to the bottom side of each field and to the base area so if both are in direct contact, we can read this in the program running on the Arduino. In case for the base area, our choice fell on aluminium foil because on the one hand it can conduct electricity and on the other hand it has a specular surface which was perfect to reflect the light coming from the LEDs. For the boards, we thought that steel wool would be ideal because apart from the fact that it is very cheap it has a relatively big conductive surface like a ball so if the board is pushed down, the steel wool and the aluminium foil are getting easily in touch.

But the next question we were faced up with was how the board can be pushed down cushioned and get up autonomous? Our first concept includes springs but these would be too expensive and not easily to fix. So these yellow cleaning sponges, which are normally used in the kitchen, came into our minds. Besides they also aren’t expensive and available in many shops, they can easily be compressed when the user is hopping on the field and get autonomously back in their original shape afterwards again.

Another problem we found out at the first day was the thickness of the boards. As you can see on the picture, the boards we were just standing, not even jumping on it, sagged very fast. But because in the factory there was no wood that could be suitable for our purposes we decided to drive to a DIY market the next day.

Day 2 and 3 – The Realization Phase

In the DIY market, for the boards our choice fell on a type of wood which is thick and strong enough so that an adult person could jump on it without that it can breaks and which is also light enough so that the sponges can’t be pressed together by the board just because of its weight. To save time, we let the wood tailored there to the seven boards with a particular size of 38x33cm and a board of the size of 78x33cm for the semi circular area.

For the subsurface we decided on a low priced and thin species of wood and a size of round about 280x112cm so that all boards can be placed on it and on the sides there is enough safety space when the user fell of the board for example. But because this subsurface was too big for transporting it with the car, we let it tailored into four boards with a size of round about 112x70cm.

Arrived at the factory, we were placing all boards on this subsurface and realized that three of these four underground boards were enough: our plan was to position on the first area the boards 1 and 2, on the second area the boards 3, 4 and 5 and on the third the boards 6, 7 and 8 with a space of 2cm between the boards. And an advantage that implies this was that now our game can be divided into three parts for an easier transport and more space-saving storage.

Also we have planned how the four/six LEDs on each board could be placed at best and how long the wires between them have to be. After cutting the wires and removing the insulation, we soldered the wires at the LEDs of each board.

Also we drilled 4×4 holes per board and 8, 6, 4 and 2 respectively for the last board and fixed underside each board the milky foil, whereby at first we fixed underside on each hole a little rectangle of the same foil with the non-sticky side upturned so that the sticky side couldn’t shine through the holes and get dirty.

The sponges we cutted in half and fixed little wooden boards on it, which should act as spacers between the LEDs and the subsurface so when somebody has hopped on a board, the LEDs don’t get destroyed. Also we sprayed them with white colour so that they would reflect the light coming from the LEDs. But we hadn’t considered on a characteristic of sponges: they imbibe liquids. And because of this fact, they imbibe almost the whole white colour and so it didn’t function really well.

Day 4 – The Extra Day

Because we had spent the half Thursday at the DIY market, we decided also to utilize some hours of the Sunday at the factory.

The wires were soldered at the LEDs BETWEEN the boards and fixed the LEDs on the boards. Also we wrapped the steel wools with some aluminium foil so that strands of the wool can’t touch the aluminium foil on the subsurface unintentionally and main conductive, fixed on each wrapped steel wool a little copper tape, on which we soldered one wire per board and stuck these wools on the middle of each board with hot-melt adhesive. The sponges we stuck with the wood side on the boards at their corners and with double-sided adhesive tape we fixed the eight aluminium foil areas on the boards of the subsurface.

Day 5 and 6 – The Completion and Code Phase

The last two days, we were busy with finishing our project and writing the program code.

So besides designing the subsurface we fixed the sponges of the boards on the areas of aluminium foil again with with hot-melt adhesive and planned the concept for the wiring.

At first, our concept, which you can see at the picture, was to use plug connectors for each subsurface board so that these boards could have easily been transported and stored space-saving and also the wires could have been continued by plugging these connectors. The problem was that these connectors weren’t available at Monday and so we had to find another wiring concept. As you can see on the schematics, the wires coming from the steel wools and the LED-DataInput are plugged directly to the correspondent pins of the Arduino. Of the aluminium foil-areas and the LED, the Ground-wires converge to the Ground of the power supply, to whose positive terminal the positive wire from the LED is connected and which has to provide 5V and round about 2A because of the type and the count of the LEDs.

In our program code, each aluminium foil area has been assigned to one of the digital pins, which function as Inputs and from which a HIGH-signal is coming out. So if the user has jumped on a board and the aluminium and the steel wool are in contact, the power can discharge through the ground-wire and the signal read by the digital pin is LOW. Also assigned to a pin has been the Data Input of the first LED of the strip, for whose activation piloting we have used the Neopixel-Library of Adafruit. We implemented three increasingly different levels, which the user has to complete to get the hint to the object of the next team. Before the beginning of each level, the LEDs of the first board are pulsing in white and if the user pushes it down, the choreography, which has to be hopped, is shown. Then a LED-countdown runs and the user has to start. When a wrong board or not only the right board is pushed down, all LEDs pulse in red and the same level has to be jumped again. Closing, the LEDs illuminate to the direction of the next project if the last level and so our game is done.

If you are interested in our program code, you can look here.

The Story of “Der Münchner im Himmel” (The „Munich’er“ in Heaven)

As we thought about the phrase “Himmel und Hölle” (in English: “Heaven and Hell”), in our mind the well-known story of “Der Münchner im Himmel” (The “Munich’er” in Heaven”) of Ludwig Thoma came into our mind, in which the “Munich’er” Aloisius came in the heaven, but he doesn’t feel very comfortable there and so he is sent by God for some days the week back to Munich, which is the heaven for Aloisius. And because we found that this story would match to our game, we designed the subsurface with sprays like, besides clouds in the heaven, the “Hofbräuhaus”, glasses of beer and important buildings of munich like the “Frauenkirche” and the “Olympiaturm”. Also this story offers us the option for the choreography of the last level, which the user has to keep in mind and jump the way “upwards” to the heaven and then the way back to Munich, the other “heaven”. And so the user is jumping as “ein Münchner zwischen Himmel und Erde” (a “Munich’er” between Heaven and Earth).