PHYSICAL COMPUTING - Spring 2006 Here we go!
Lab 1: Electronics
Lab 2: My First Pic Program
Lab 3: Analog In
Lab 4: Analog Out
Lab 5: Serial Communication
Lab 6: Motors
Lab 7: MIDI
Once I got the soldering part down (took a few tries), I was able to get my first LED to light up using the red button switch. I can't believe how satisfying that felt! With Step 2, no more than 2 LEDs? would light because of the 5V regulator, and each LED requires around 2V. The multimeter was very useful for testing the amount of power along the way. Hooking up the potentiometer worked out well also (with some help from Pcomp veteran Myra Einstein), and I also played around with a flex sensor and photocell.
Reading: Crawford, The Art of Interactive Design
While I agree with Crawford that the term "interactivity" is overused, I think he defines it too narrowly: "a cyclic process in which two actors alternately listen, think, and speak." First of all, I don't think it's necessarily cyclic; it's possible for an interaction to be a one time event, and secondly, it's also possible that actions occur simultaneously. Interactivity is still young - I think there's much to be explored and developed - that's why we're here, right? But nonetheless, this was a good starting read to get us thinking about scenarios and uses for interactivity.

I got through Steps 1 & 2 okay. After seeing Joseph & Bennett's fancy LED patterns, I was inspired to layout two sets of LEDs? in parallel. A group of 3 green ones blinked on and off, while 3 yellows lit up in sequence when the switch was pressed. The code is pretty simple, and I'm sure there's a more efficient way to code these patterns, so I'll look into improving that for the next lab.

Design a Switch for a Body Part
Reading: Buxton, Less is more (more or less)
Response here
I had problems understanding the serial part of this lab - I wasn't having any luck getting the serial to return any numerical values when using the pot. Unfortunately, I ran out of time to work on it - I'll have another go at it in the next day or two...
Take 2! I met with MLuck? and reviewed what was happening in the code step by step, and how to setup serial communication. So I went back to my code, compiled and plugged in my breadboard. My regular testing LED was erratic, test blinky kept repeating, and green LED controlled by the pot was erratic too. I checked all my connections and found the problem in my power supply attachment - my solder to ground had come off, so I think that's why the darn thing wasn't working properly. As soon as that was resolved - yay! the pot was changing the serial communication values and everything was just lovely.

Lab3 Video
View Code for Lab 3
Our group did spend more time observing the dog park, and came across another project whose focus was the dog park too, so we took a look at their video footage and it complemented the idea for our prototype.
Reading: Donald A. Norman, Chapters 1 from Design of Everyday Things, Emotional Design
These readings went really well together, and excellent for getting us to start thinking about the way things are designed from the inside out, how they function, and how we use them. There really is so much we put up with that is inefficient to use and he provides concrete examples such as most phone systems in offices. What I enjoyed the most about these readings is how he delves into the inner workings of the design itself. Much of my undergrad studies in industrial design focused more on the physical shell of products - ergonomics, how well it accommodated users of various capabilities, use of resources, and aesthetics. His writings address the product as a whole. Good design is very difficult. There is so much to balance and many factors to take into consideration.
Hit alot of roadblocks and confusion over this one...argh. First, I started off with the simplePWM code from Tom Igoe, but no power was appearing on my board and my 5V regulator was getting way too hot. I thought it was my board or my chip gone bad, so I setup a second breadboard identical to the first. Finally, I isolated it to a bad capacitor!
Next, I tried to implement the FreqOut? code, but kept getting the error code 0000. Again, I thought my chip had gone bad and Carlyn said that this code usually means your chip has died, but turns out that the particular laptop I'd been working off of is problematic - other students complained about it too. I also ran into a bad PIC Programmer in the process (once replaced, things went smoothly). So here are some pics and video of simplePWM and RGB PWMing? - fun times.

Reading: Myron Krueger, "Responsive Environments"
Response here
Working off MLuck?'s code examples here
I was able to understand what was happening in the code of the basic ascii sample, and this portion of the lab went smoothly. The Serial Communicator spat out integer values for "my dec" and characters or blank squares for "my var". In the call and response example, the input of A worked out to give the expected response - "you got me". With the PicToBinary code, I was able to get the red LED to blink when sending an A, and the green LED would also respond (blinks very briefly) when any character is sent. However, I wasn't able to get any feedback from the sensors - I used a photocell, pot and flex sensor in the second image below.


Worked with servo motor to start, as I had one of these handy. Skipped the hex inverter, and used a potentiometer to control sound output.
ServoThis! Video
I'll post code and other images here also
Next to work is the DC motor and H-Bridge...
Reading: But Is It Useful? (Handout)
Response here
MIDI, i must say, is extremely satisfying. Music to my ears, although weird and unpredictable ;^)
Pics + code up soon
