Physical Computing

ARCHIVE    RSS     THEME   
This course analyzes the ways that biological, mechanical and electronic apparatus’s negotiate communication to
and through one another, from a design perspective. Conceptually, we will be looking at such topics as emotion,
instinct, information, evolution and transduction. Technically we will be building designs that meditate on such
topics through physical computing, Flash and dynamic web systems.
  • images by Matthew Everitt

    images by Matthew Everitt

  • Yesterday I also created a mount for the arduino. The mount is made out of layers of foam core, cut to fit the arduino and breadboard. The layers are just simply locked together by a keying system. The mount fits snuggly in the cube and holds the arduino secure when the cube is being interacted with. 
I created it to be easy to take apart, this makes debugging the arduino simple and put everything back together reasonably easy.

    Yesterday I also created a mount for the arduino. The mount is made out of layers of foam core, cut to fit the arduino and breadboard. The layers are just simply locked together by a keying system. The mount fits snuggly in the cube and holds the arduino secure when the cube is being interacted with. 

    I created it to be easy to take apart, this makes debugging the arduino simple and put everything back together reasonably easy.

  • Toby and I have done the initial filming with the suspended cube and I did another shoot of the control cube being put together.
I am in the process of editing it now. We still need a couple more shots.

    Toby and I have done the initial filming with the suspended cube and I did another shoot of the control cube being put together.

    I am in the process of editing it now. We still need a couple more shots.

  • Me and Toby got the cube suspended last night and its looking good. The shadow of the cube fits nicely into the environment. We used nylon to tie it to the roof in places. However, we didn’t have the ability to put it up and down or adjust its location.
So, this morning I went out and bought some fish hooks and set it up so that we could take the cube up and down and add some minor adjustments so it fits the projection nicely.

    Me and Toby got the cube suspended last night and its looking good. The shadow of the cube fits nicely into the environment. We used nylon to tie it to the roof in places. However, we didn’t have the ability to put it up and down or adjust its location.

    So, this morning I went out and bought some fish hooks and set it up so that we could take the cube up and down and add some minor adjustments so it fits the projection nicely.

  • Flash Builder
Since Saul has been a little out of action doing his game design paper, I have had a crack with the citrus engine in flash builder.
I managed to single out the important classes for editing, Hero, GameState and Platform. 
A little problem we were having was that the seasons were not staying but instead were flashing. This was because there was still and else() function which returned them to the idle season. Took this away and it was fixed.
We have also extended our environment to cover all 3 projector walls, this creates a way more immersive feel to the game. 
The camera position had to be changed so that it focused on the cube and also lined up with the projection, after a bit of trial and error, got it sorted.
The next thing I looked at was when the cube was going in the other direction the faces need to change, it can’t simply flip horizontally. I fixed this by adding another variable which held the direction the cube was moving. So it calls the correct animation to be projected on the cube, this was applied to the jump also.
The final thing I added was the controls for the cube to become stuck. I assigned some booleans to a couple of keys so that when that key is pressed it overrides the other controls and the cube goes not its side in its stuck position.
So we are doing quite well. Things that need to be done for the project are the final flash animations that will be called (stuck, walk left, jump left), extend the platforms both left and right so there is more environment to investigate, get the sound working, suspend the cube and make the film.
I am about to get started on the animations and Saul’s going to be extending the environment and getting the sound sorted.

    Flash Builder

    Since Saul has been a little out of action doing his game design paper, I have had a crack with the citrus engine in flash builder.

    I managed to single out the important classes for editing, Hero, GameState and Platform. 

    A little problem we were having was that the seasons were not staying but instead were flashing. This was because there was still and else() function which returned them to the idle season. Took this away and it was fixed.

    We have also extended our environment to cover all 3 projector walls, this creates a way more immersive feel to the game. 

    The camera position had to be changed so that it focused on the cube and also lined up with the projection, after a bit of trial and error, got it sorted.

    The next thing I looked at was when the cube was going in the other direction the faces need to change, it can’t simply flip horizontally. I fixed this by adding another variable which held the direction the cube was moving. So it calls the correct animation to be projected on the cube, this was applied to the jump also.

    The final thing I added was the controls for the cube to become stuck. I assigned some booleans to a couple of keys so that when that key is pressed it overrides the other controls and the cube goes not its side in its stuck position.

    So we are doing quite well. Things that need to be done for the project are the final flash animations that will be called (stuck, walk left, jump left), extend the platforms both left and right so there is more environment to investigate, get the sound working, suspend the cube and make the film.

    I am about to get started on the animations and Saul’s going to be extending the environment and getting the sound sorted.

  • Arduino Code/Citrus Engine
The arduino code is finished!
I have been debugging and sorting it out for a couple of days. The main problem was the HMC5843 Compass, the way in which it processes the data isn’t easy to use. And because we are tilting our cube the compass data changes. I have decided to limit the season setting actions of the cube to overcome this challenge. So the seasons can only be set by the compass when the cube is in its upright position sitting on the plinth. This is good because the seasons changed a bit erratically and were hard to control. This ads more control to the seasons, so the action becomes more deliberate.
The next thing I had to figure out was the accelerometer when the cube has been turned. If I hadn’t done anything when the cube was backwards tilting right would have gone left and so on. So now the accelerometer is dependent on which season it is. This was easily controlled my created a seasonState variable, so if (seasonState == “summer”) then it runs the accelerometer code for that orientation. 
So all the actions that the cube can do are as follows;
firstly a simple tilt to the right or the left will move the character in that direction,
if the tilt goes to far the character goes into a “stuck” mode where it struggles and nothing will happen until you re-orientate it,
a quick movement upwards or tapping the cube on the plinth will make the character jump,
and rotating the character about the x-axis will change the season.

    Arduino Code/Citrus Engine

    The arduino code is finished!

    I have been debugging and sorting it out for a couple of days. The main problem was the HMC5843 Compass, the way in which it processes the data isn’t easy to use. And because we are tilting our cube the compass data changes. I have decided to limit the season setting actions of the cube to overcome this challenge. So the seasons can only be set by the compass when the cube is in its upright position sitting on the plinth. This is good because the seasons changed a bit erratically and were hard to control. This ads more control to the seasons, so the action becomes more deliberate.

    The next thing I had to figure out was the accelerometer when the cube has been turned. If I hadn’t done anything when the cube was backwards tilting right would have gone left and so on. So now the accelerometer is dependent on which season it is. This was easily controlled my created a seasonState variable, so if (seasonState == “summer”) then it runs the accelerometer code for that orientation. 

    So all the actions that the cube can do are as follows;

    firstly a simple tilt to the right or the left will move the character in that direction,

    if the tilt goes to far the character goes into a “stuck” mode where it struggles and nothing will happen until you re-orientate it,

    a quick movement upwards or tapping the cube on the plinth will make the character jump,

    and rotating the character about the x-axis will change the season.

  • I have managed to alter the example given to me so that it takes data from the accelerometer and sends the key strokes, ‘right arrow’, ‘left arrow’ and ‘up arrow’.

    This means we will be able to successfully control the Hero object in the citrus engine.

    I even managed to play the above game with my controller, although it wasn’t perfect.

    The only problem with making the Arduino the HID Keyboard is that we won’t be able to control the Flash.swf file through the serial port. I may be able to work this into my keyboard control.pde or maybe another Arduino will be needed.

15