Monday, 29 February 2016

Week 9.5


After delivering our presentation we were offered to borrow an Adafruit LED strip from the department and apply it instead of our faulty lights, while also making sure to solder our circuitry onto a perf-board to try and raise our grade.

I agreed to try again and took the strip. I originally tried to control it with simple Pulse Width Modulation and Squarewaves, but it has only proven to be able to make them flicker which was a nice strobe effect but not the desired outcome.

After reading Adafruit documentation and trying out several libraries I hooked up the strip to the correct pin and circuit and ran several examples, I was pleased to see that it had finally worked.

Through the libraries examples, byte messages of ones and zeroes were sent out and divided in fours, defining which light comes on and in what colour, they were differentiated by start packets and end packets which set up the lights properly so that the Arduino knew how to divide the bits.

Following the success with the lights I rewrote my processing prototype to work with the strip which has allowed me to control the movement of the player with the potentiometer and indicate an action by pressing a button.

Once happy with the circuit I transferred it onto a perf-board, making sure to solder on the connections and enclosed within the 3D printed housing.

After delivering the “re-presentation” I drafted some objectives for future iterations:
  • The planned completion of the original plan, mainly the development of games, possibly several of them.
  •  More robust housing that will accommodate all our circuitry, allow for more intense play sessions and allow access to batteries.
  •  Reworked circuitry that makes better use of resistors, capacitors and affords longer battery and component life span.
  •  More sophisticated controls, two player mode.
  • An exploration of sound and the beat game genre within this format through speakers, microphones and beat detection. I find it would suit the aesthetics of the display.

Week 9




This week all the parts needed to come together and be glued, sealed and soldered to form the complete unit. All of that was hindered but what I assume to be a faulty LED strip.

The lights have been described as individually addressable, I’ve learned that in a lot of cases to be able to do that you would need to buy a separate controller chip but I was lucky enough that it came packaged with the strip.

By running different examples that came with APA102 and Adafruit libraries and examples in their gitHub repositories I’ve learned that sending bytemessages to their clock and data pin had no effect what so ever.

I understand that it is not easy for the micro controller to interpret how to divide the bits and this could generate random behavior, so I tried to control them manually through a power supply unit, the results were not deterministic which further confirmed our suspicions. I then consulted with several technicians and PhD student to discover that the lights were in-fact faulty.

The casing however was ready to be used and printed out quite nicely, some issues I encountered with the process were how sensitive the printer were to any sort of minute change in pressure and temperature, as well as I did not fully understand how the printers formed hollow object such as housing so it took me several takes, eventually we opted to print parts of it that would be assembled after and drill holes where insertions needed to be made for inputs and outputs.

Despite the faulty lights we went ahead with assembling the unit and presentation, so we could showcase the effect and get feedback.

Tuesday, 23 February 2016

Week 8

The following materials are required in order to apply the film onto the glass:

- Screen Protector
- Micro-Fiber Cloth
- Screen Cleaning Solution
- Scotch Tape
- Flat plastic card to flatten the surface of the film on the glass

When applying the anti-glare film onto the glass, extra care had to be taken in order to achieve a smooth surface. We used a micro-fiber cloth and a cleaning solution to clean the screen completely. The instruction stated that there cannot be too much cleaning solution, so we applied it generously. We made sure the screen is entirely clean and dry before starting.

The anti-glare screen protector is hidden between two films that we separated using two pieces of scotch tape on each side. The anti-glare film was placed very carefully on the window, while we avoided the appearance of any bubbles of air between the glass and the film. The plastic card was used to flatten any misalignments. Then the film was left to dry for 2 hours before we continued with the project.

Week 7



The following materials are required in order to cut a round glass:

- Glas cutting pen
- Glass (we took glass from an old picture frame)
- Wooden round template

Cutting the glass was one of the most challenging aspects of the project. The glass was taken from a inside a picture frame. Luckily, the frame had double sided glass, as one side was broken when we tried to take it out of the frame. We had to be extra careful to not break the second glass. Later we borrowed a glass cutter which is surprisingly a very small device to cut a thick glass. Then me measured the exact diameter of the mirror and made a wooden template of the same diameter, so that we could cut the window. Eventually we cut out a perfect circle using this template and the small glass cutting pen.

We encountered a problem with a frame. We at first didn't have any idea about how we are going to make a frame around the mirror and the glass. We came out with an idea to use the protective material that the mirror came with originally from the store.

Friday, 12 February 2016

Week 6




This week we are testing Arduino with 9v battery. After an extensive research, we ordered glass cutter and did measurements to cut glass to a size of the mirror.  We are also thinking about the need for a frame which is going to hold mirror and glass, and the materials that we will use to create this. We have nearly finished our 3D model for the console box (housing) in cinema 4D, which we are going to print out on 3D printer.
We are going to take the following steps for making the infinity mirror:

1.       We need a deep frame or at least 1/2 half inch depth.
2.       Prepare the glass by making it perfectly clean.
3.       Spray the glass with a little water and a drop of wash liquid.
4.       Take the roll of window film and cut a piece a couple of inches bigger than the mirror.
5.       Starting from one corner, spray some liquid soap as you slowly lay this over the glass. Smooth out any bubbles and leave to dry.
6.       Assemble the framed glass you tinted, make sure the tinted area is facing the inside of the frame.
7.       Secure the tinted glass with glue.
8.       Add a inner frame to hold the mirror when it is placed on the frame.
9.      
Using a cutter, create a groove for the LED wirings and adapter.
10.   Place LED lights

11.   Glue this frame to the mirrors frame.

Thursday, 11 February 2016

Week 5



As shown by the demo in the video, there is now backwards communication between processing and Arduino. As well as sending serials from the Arduino the processing sketch can send them back whenever the Boolean for standing on a platform (red) is activated by the player(blue) the serial is sent back to the Arduino making the LED on the controller come on.
At first we were going to work with a square mirror but after putting together digital prototype we came to the conclusion that a round display(mirror) would be more intuitive to play as there are no sharp turns where you can lose sight of the player, enemies and projectiles.
The processing prototype evolved more and the design is now circular, and we believe that it looks good and has potential so we will be moving onto physical prototypes as most of the components should be arriving shortly and others have already been purchased.
Another reason for moving onto physical prototypes is that we found out that running the game on processing and having it communicate with the Arduino create many problems such as differentiating ports which could probably be achieved by some kind of multiplexing or to send a certain number through which would indicated that the next incoming value is an attack as oppose to a movement but why bother when it will look and feel much better to have the whole thing run as a single unit on the Arduino.
Also this week we’ve purchased larger potentiometer handles and big red buttons and when they arrived they will add a more arcady feel to the presentation of the unit.

Monday, 1 February 2016

Week 4



We have established interaction between a prototype of the monitor done in processing and Arduino controller by means of serial communication. Turning the potentiometer now allows to communicate across a series of squares that are representative of the LEDs that we will have around the mirror.
We’ve acquired slightly bigger potentiometer, it worked better than the standard one that came with the Arduino kit but after some play we came to the conclusion that for longer play sessions and increased precision we will need to get an even bigger one.
Also beginning to think about the housing of the unit and what methods we might explore for making it such as 3D printing, laser cutting or making with physical tools in a workshop. So far we leaning towards 3D printing as we are eager to try out the newly taught technology and we would have more flexibility in terms of design options but may be limited in terms of time and sturdiness of the structure.
Finally we now have a sheet of glass that’s about a meter high and a little but under in width, we now need to find a way to cut it to suit our project.

Week 3



This week we had established what exactly would be need to make this project work without looking too much at the components that came pre-packaged with the Arduino kits and put it into a list:

Materials:

 1 x Round mirror
 1 x Mirror Frame
 1 x Reflective Window Tint Film 1 meter
 1 x Glass Sheet
 1 x Large Potentiometer
 2 x Large Button
 1 x Housing
 1 x Addressable RGB LED Strip 2 meter

The mirror, glass, lights and reflective film come together to make the display of our game, we plan to buy the mirror and adapt everything to its size so we might have to cut the glass to suit our needs, the frame might also prove to be problematic to find so we are contemplating on making it out of plastic or hard cardboard, it will need to be somewhat sturdy so we can attach the lights to it.
We will continue to look for these components which is proving to be not as easy as we though, most of them ship from the east for a long period of time that is beyond our final deliverable deadline so we need to checking online retailers and auctions as well as physical DIY shops to make sure we can make this on time.


Week 2



We have ordered some lights and after a while figured out how to power them on with transistors we were able to control them through a timer which made them go from red to green to blue.
We began making attempts at controlling the individual output of lights using potentiometer or timers but to our disappointment it turned out that the lights were not addressable individually making any sort of gameplay impossible and so we had to look into buying new ones.
Doing research into how they require to be powered up and weather it would be possible with batteries we looked into how to control high power loads using the low power digital outputs from your Arduino and using transistors, and how we could control individual addresses through pulse width modulation output from the Arduino.


Week 1



Arcadia3D is about taking the underappreciated genre of one dimensional games and giving them some oomph by displaying them in an alternative way.
We will be building an LED Infinity illusion mirror, that is made of two mirrors, one of which is a one-way mirror and the other is a fully reflective one. Multi-coloured LED strips are placed between and are reflected in a recursive manner creating the illusion of depth.
Prototyping for the games will be done processing so that we can get some immediate visual feedback on how they function through using arrays of cells that will be representative of the LEDs, and so as we become more confident with the games progress we would transfer it onto the Arduino IDE or alternatively we could have processing communicate with the Arduino through ports.
The gameplay will be visualized in this illusionary 3D space. Details such as colour change or disappearance/reappearance of light components will be easily controlled through Arduino interface. For example, different teams in a game can have corresponding colours of LEDs. This effect will really build a bridge between the game and the player.