Before you take your deep dive into Arduino its a good to first get a birds-eye view of what this world called tangible is all about.
In this exploration I will introduce a general framework for thinking about and creating interactive and behavioural artworks.
One of the biggest challenges students face when entering into the world of tangible is sorting how to relate lived experiences with how a microcontroller and a circuit see the world.
It is a big conceptual leap — but the tangible matrix below will give you a point of departure for this journey.
Video :: tangible matrix overview
tangible matrix
As indicated in the video, there are four basic circuit patterns or interactions that we can work with microcontrollers. That’s it. Just four.
It can be really helpful to start your tangible journey by thinking about how you experience the world. Two really important systems shape how you become aware of and move through the world. They are your sensory systems and the skeletal muscular system that enables movement.
Inputs
Let us begin by considering your sensory systems and let us describe those as inputs. Sensory systems — vision, hearing, taste, touch and smell — are how you bring information into your body. We also have systems that lets us evaluate our internal state — our sense of balance, proprioception (kinesthesia) or our sense of our own movements, thermoception (temperature), itch, muscle stretch and hunger. Each of these is a pathway for us to gather information about our body and how it relates to the world.
Inputs are circuits or contexts that bring information into our system.
Outputs
We can also consider the ways we move, behave and impact our environment. We will call these outputs. These may include sounds, movement, chemical signals (pheromones), sweat, exhaled breath or even waste products.
Outputs are circuits or contexts that push information out of our system.
How does an Arduino see the world?
Your Arduino (Uno, microcontroller) also has inputs and outputs. But it has a very constrained way of accepting information and generating actions.
Microcontrollers can only listen to voltages and sometimes currents. We can combine electronics (circuits) with our microcontroller to create all kinds of input and output based experiences.
And despite all of that diversity, all of thousands (millions?) of circuits that are possible — and it amazing what is possible — ALL of the circuits fall into only two categories: digital or analog.
Digital
Digital refers to circuits that can only be in one of two states — on or off. We use some synonyms for this, we might say HIGH or LOW, or 1 and 0, or true and false. Think about a simple light switch in a room — it can either be on or off.
Binary (anything that has 2 parts) is the number system associated with these 1s and 0s. So digital means two states; 1,0 and is identified numerically with binary.
Binary Voltages
When we describe a digital system as being in the OFF, LOW, FALSE or 0 state we talk about its voltage being equal to zero volts. In a circuit that means it is associated with the negative side of your battery or power supply (bottom of the waterfall).
When we describe a digital system as being in the ON, HIGH, TRUE or 1 state we talk about its voltage being equal to whatever the plus volts is in your power supply (in Arduino this equals 5V max). In a circuit that means it is associated with the positive side of your battery or power supply (top of the waterfall).
Analog
The other kind of circuit we will encounter is analog. Analog circuit are much more human like. In fact, nothing in the human body is digital.
Analog circuits refer to the worlds of continuous gradation. This could be volume of music, speed control or a light on a dimmer switch. Analog is all the shades of grey that make experiences great.
Analog Voltages
Analog circuits require a different way of thinking about compared to digital systems.
Analog circuits can be in at any voltage between ground ( bottom of waterfall) and plus voltage (5V for Uno, top of waterfall). So we can think of analog circuits as having power waterfalls of different heights.
Summary
There are only four kinds of basic contexts that we need to consider when working with microcontrollers like the Arduino Uno. Those contexts are defined by direction of electricity flow; input and output, as well as the number of voltage states a circuits can achieve; 2 for digital, infinite (from zero to +V) for analog.
The tangible matrix above summaries these contexts and offers basic examples of each context.
Explore each context in the related building blocks: