[Dear Phoenix & Perla: My full lab write-up, including the rest of the tasks, was submitted online through learn.gold]
In my last Physical Computing update, I hinted at my lab project: The Human Detector. But what is a human detector? How does it function? Does it work? All valid questions – so let’s get to it.
REQUIREMENTS: What design problem are you going to solve with this task?
This system must detect the presence of a human.
It does this by presenting any humans in the immediate area with a big red button, exploiting humans’ inability to resist pressing big red buttons.
ANALYSIS: What hardware components will you need? What software will you use to support the requirements?
The required hardware components are: Arduino Uno; 9v battery; 680Ω resistor, 10kΩ resistor; light dependent resistor; momentary push switch (the aforementioned ‘big red button’); piezo buzzer; red LED; servo; red cardboard arrow; perf board; wire; plastic enclosure; black electrical tape.
The Arduino Uno will be coded using the Arduino IDE software.
INTERACTION DESIGN: What kind of interaction will the system support. What are the inputs and outputs?
The Human Detector supports two layers of interaction. The primary layer of interaction centres around the big red button. When pushed the circuit becomes complete, turning the LED and piezo buzzer on and signalling for the servo to point towards the button — and by extension, the human.
The secondary layer of interaction is provided by the light dependent resistor, located just under the button. As the human reaches towards the button, they will change the amount of light hitting the resistor. This fluctuation is used to animate the servo back and forth as if it has begun to detect a human, and is searching for their position.
NOTES AND TESTING: What problems did you encounter and overcome?
Most of the problems I had were encountered during the construction phase, when moving from a breadboard prototype to a more permanent solution. Making the enclosure required drilling holes into the plastic box; this was very imprecise, due to the nature of the material and my inability to properly handle a drill. Consequently the holes on which to mount the components are very rough, irregular, and unattractive. To combat this, I used electrical tape to cover the holes.
This was also one of the first times I used perf board. I struggled with getting the solder to stick to this particular board, and so my connections quickly became messy and hard to control. Some cold solder joints had to be redone. Since I wasn’t working on a breadboard, I also had to solder my own power and ground rails. At one point, I even ran out of space on the particular row I was working on, so had to connect multiple rows by making a jumper wire.
After soldering components down, I would cut the legs off. But problematically, I had to re-solder some parts due to certain errors. This meant that I had trouble when joining the components back, as the legs were now too small. Consequently, I had to buy another light dependent resistor in able to complete the project.
Furthermore, I had to slightly redesign my circuit, as the prototype used a push-button switch with four legs — two on each side — which came with my Arduino kit. However, the momentary push switch (big red button) that I bought only has two legs. Consequently, I had to move the resistor in order to fit it into the circuit.
Finally, the end result is not foolproof. Some humans are able to resist the lure of the big red button and will escape detection. Other more reliable methods of capturing human attention are currently under development.
So does it work?
As you can see from the video above, when the button is pressed the LED on the Arduino blinks. However, the red LED that I’m using does not, and instead seems to float between on and off. Perhaps I am missing a pull-down resistor somewhere…
If I can find the time, I’ll return back to this project to try and fix it. But for now, I’m going to focus my attention on the final lab and first major project.