PhysComp lab, week 1: Digital in/out

First homework for Physical Computing: Digital In Out.

Supplies for PhysComp homework

11:15: I forgot how hard you have to pull to strip the insulation off the wire (or is it just me?).

11:30: Wow, I totally remember that smell of hot soldering iron from my childhood. Nevertheless, I am the worst solderer ever.

Switch

11:45: Yes, worst solderer ever. Not being able to see anything close up anymore doesn’t help, either; obviously, I should have gone to ITP while I was still in my twenties and only half-blind.

11:50: Oh, yeah—now I remember how to use wire strippers. Rotate.

Arduino and Breadboard

12:15: Looking up resistor values. Did I miss some introductory class where we were supposed to learn all this shit? Honestly, if I hadn’t spent weekend afternoons sorting resistors for my dad when I was in grade school, I think I’d be completely lost right now. Setting up a straightforward circuit on a breadboard should not be taking this long.

Two kinds of resistors

Resistor Values

Cheat cheet: http://www.iguanalabs.com/resistors.htm

10 x brown black black gold = 10

10 x brown black brown gold = 100

10 x red red brown gold = 220

10 x brown black red gold = 1,000

10 x brown black orange gold = 10,000

5 x orange black orange gold = 30,000

5 x brown black yellow gold = 100,000

12:50: Done sorting resistors, distributing into parts box, drawing and inserting labels.

Parts case with resistor labels

1:15: Finally, my circuit looks like the photo on the website (well, except for the googly eyes). Woot!

Artificial intelligence?

Does it do anything, though?

1:25: Aaargh! The answer to that question is, No.

Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

Binary sketch size: 1126 bytes (of a 14336 byte maximum)

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

1:28: Hmm. It uploads fine when nothing is connected to the board.

1:30: Okay, the red LED lights up when I hold down the switch. The green LED doesn’t do anything, though.

1:35: Troubleshooting. Tried swapping the red and green LEDs: now nothing works. Replaced the green LED with a yellow one: nothing. Re-uploaded the program to the board (which worked just fine this time): nothing. Shite.

Unplugged everything except the USB cable, hit reset, re-uploaded program: error message. Reset, tried uploading again: worked. Plugged breadboard back in: nothing happening.

Hit reset, re-uploaded program: error message.
No reset, re-uploaded program: error message.
Reset, re-uploaded program: upload okay, but no lights.
Jiggled all the connections. Nothing.
Unplugged & replugged USB cable, reset, re-upload: nothing.

AAAAARRRRGGGHHH!!!! I give up.

Reversed the legs of the yellow LED: lit up. Hmm. Reversed legs of red LED: lit up. Now both are lit. When I hold down the switch, both turn off.

Reset, re-upload: error, both lights on.
Reset, re-upload: okay, both lights on.

Changed code to

if (switchState == 1) {
// if the switch is closed:
digitalWrite(yellowLedPin, HIGH); // turn on the yellow LED
digitalWrite(redLedPin, HIGH); // turn off the red LED
}
else {
// if the switch is open:
digitalWrite(yellowLedPin, LOW); // turn off the yellow LED
digitalWrite(redLedPin, LOW); // turn on the red LED

Reset, re-upload: okay, lights off. Pressing switch turns both on.

. . .

YAAAAYY!! In switching the LEDs around, at some point I got one leg into the wrong row. Everything now works exactly as intended! Aaaand . . . it’s 2 a.m. Bummer. So much for Part II of this week’s homework: making a combination lock using a LEGO phone.

So.

I don’t feel like I had any idea what I was doing with this assignment, besides trying to copy the photo exactly. I didn’t refer to the diagram much, because I don’t really remember from high school how to read an electrical diagram. All in all, I felt pretty uninformed. It would have helped to be doing this in the lab at school, surrounded by other cursing, frustrated people, but I would have had to bend space and time rather drastically in order to be able to work there. Other inhabitants of the universe might have thereby been inconvenienced.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.