Physical computing is a creative framework or type of computing which involves building interactive physical systems controlled by software and hardware that can sense and respond to our environment without the direct assistance of humans. This type of computing is a way to learn how people communicate through computers by considering how people express themselves physically (Tigoe, 2004). Physical computing is around us all the time, for example, physical computing can be found in cars, microwaves and washing machines.
Various platforms exist that make it easy to understand and develop physical objects without having a deep knowledge of electronics. Two of the most famous platforms are Arduino and Raspberry Pi.
During the first week of the module, we started to learn the basics of the Arduino kit which includes a lot of electronics. The ones we used this week were the Arduino itself, a breadboard, coloured wires, resistors and LEDs.
The first step, was to download the Arduino IDE and install it on our machines (Download link). The next step was to connect the Arduino correctly on the computer with a micro-usb cable and select the right board and port inside the software’s preferences.
Like all programming languages, the first program you make when starting to learn a new framework is the “Hello World”. In this case, the “Hello world” means to program an LED to flash in different time points using the delay function. But I also added another two LEDs to make the experiment more interesting.
The process of this experiment is very simple. Firstly, we connect one wire from the ‘ground’ of Arduino to the negative side of the breadboard. Then we connect two wires to two different pin points of Arduino and in my case the pin points are numbers 8 and 13. We add the resistors to the breadboard and connect the two wires accordingly. All that is left to do, is connect the LEDs to the breadboard with one leg connected to the ‘ground’ and the other to the resistor.
Inside the Arduino program we start by declaring 4 integer variables:
Inside the ‘setup’ method we initialize the digital pins as outputs using the pinMode() function. In order to make the LEDs light up we use the digitalWrite() function which takes two parameters, the pin number and the voltage level. Moreover, I used the analogWrite() function which also takes the same parameters, only this time I changed the fade amount according to the brightness.
Tigoe. (2004). What Is Physical Computing? | hello.. [online] Available at: https://www.tigoe.com/blog/what-is-physical-computing/ [Accessed 11 Feb. 2018].