Week 8

Jessica Jenkinson - Fri 1 May 2020, 3:31 pm
Modified: Sun 21 June 2020, 11:20 pm

This week I have continued to build my functional prototype. I began with my Arduino code which uses capacitive touch to detect when a certain wire is in contact with a conductive material (the users finger in this case). I have started with just 3 sensors to test the functionality before I implement all 8 for each of the 8 colours. I have done the sensing by reading when a cap touch value is above a certain number and then sending a byte message to the serial port e.g.

if (redPin > 100) {

Serial.write(3);

}

I then did this for each of the sensors with a different Serial.write(x) number for each colour. For colour combinations, I sent a new number for each combination where the two readings were simultaneously above 100. This then meant that for each colour/combination of colours, a representative byte message was sent to the serial, to eventually be read in Unity and translated to a material colour.

In Unity, I then made a function, ChangeColour, which reads the byte message from the Arduino and then changes the shape material colour based on the message.

Imgur

I then set up Arduino-Unity connection which has enabled me to show the selected colours on Unity. I used this youtube tutorial as a guide: https://www.youtube.com/watch?v=of_oLAvWfSI. It helped me massively in successfully sending my serial outputs to Unity.

Achieving this means that I have now set up my core functionality and interaction that I aimed to have finished in time for the next prototype deliverable. I am now focusing on the second core functionality which is mixing the selected colours in order to teach users about the topic of colour theory and colour mixing. This element will also help to facilitate problem-solving and communication, as users will have to apply mathematical reasoning to figure out which colours need to be mixed to create the desired colour. Collaboration will also hopefully be fostered as multiple users can each select a different colour pad to together create a new mixed colour.I am aiming to do this through Colour.Lerp which will allow me to show the colours gradually mixing. I testing this method out and found that it works really well. Each number that represents a combination of colour, will be read in Unity and the two seperate colours will each be defined in the Colour.Lerp statemen, with a level of 0.5 each, so that the consequent colour is an equal mix of each of the selected colours.

Imgur

I have also started work on creating my small-scale mat and connecting my capacitive touch sensors to the respective colour pads. Under normal conditions I would have liked to create a more durable mat, however due to the fact it will not be getting heavily used and the project budget has now been quartered, I have decided to create the visual representation mat using a Twister mat and my own custom colours stuck on. Twister was the initial inspiration for the interaction mode of Twisted and therefore it seems fitting to use the Twister mat in order to represent the concept design and interaction. I also gained inspiration for the small-scale prototype from existing concepts that use fingers to represent larger environments on a small scale. The first thing that came to mind was the finger skateboarding videos that I used to watch:https://www.youtube.com/watch?v=a6xFvTjKaNs

Imgur

Reflection:

I am pretty happy with my progress this week as one of my biggest worries approaching this project was my lack of confidence for coding. With support from various sources and tutor assistance, I actually managed to get the majority of my coding complete this week. I am quite relieved that I was able to do so quite easily and feel that I have learned a lot already about coding for a physical computing style project. The main issue I could forsee was my Arduino-Unity connection. As I didnt have to do this for Digital Prototyping, it was a bit daunting for me. After watching some Youtube tutorials I realised that it really wasn't too complicated and managed to implement it very easily. Reflecting back to my main weakness and goal at the very beginning of the semester, I feel that I have already made great progress in improving my confidence with coding. Being able to complete all of the necessary programming for this prototype has boosted my confidence and even enhanced my interest in coding.

For next week, I need to implement all 8 colour pads as I only have 3 working at the moment. This shouldn't pose too many issues as it will be copying and editing code as opposed to writing new elements. I have also allocated most of the weekend to work on my prototype documentation.