Do the labs that were covered in class this week (Intro to Asynchronous Serial Communications & Serial Input to P5.js). Make a serial application that controls one of the animation projects you’ve done in intro to computational media with analog sensor data from an Arduino, sent to the browser serially, as shown in this week’s lab.
Step 1: Intro to Asynchronous Serial Communications
Step 2: Serial Input to P5.js
After iterating the assignment’s second step several times, I finally(!) was able to create a graph with my potentiometer in P5.js. Unfortunately, however, it was the one time I didn’t document my progress. After that I was unable to send data from the potentiometer linked to my Arduino to P5.js other than establish communication between the Arduino and the computer, as well as the Arduino and P5.js in the console. With all of the errors that occurred, he most frequent was an “undefined sensor value."
Had my serial input to P5.js worked without error, I would have liked to create a physical interface for my piano sketch in P5.js. Rather than use one potentiometer, I would use buttons to correspond to each key in my sketch.
Assignment: Tone Output with Arduino
Step 1: Only 1 speaker outputs audio?
Step 2: Both speakers output audio!
I’d love to apply this speaker lab to an interactive project in which conductive materials can trigger the sounds to the speakers. My original idea was to create two drum pads from the speakers themselves, by adding conductive mesh (glued taut onto the speakers). By striking the speakers with conductive drumsticks, the mesh over the speakers would output audio as they are being touched with each drumstick. A problem I’ve run into so far revolves around speaker models and the various resistance between different models. Some questions I have include:
How do I know what components I need for different speakers?
Should I edit my Arduino code to reflect the more powerful speakers?
Assignment: Servo Output with Arduino and Touch Sensor
Step 1: Test Schematic
Step 2: Add Touch Sensor
Although this was the lab I had the least trouble with, in my creative application I found that my Arduino had a hard time connecting to my breadboard. I tried 2 different breadboards, various wires, and even tried the circuit with an Arduino Uno, all with no luck. Once I’m able to troubleshoot the problems with both Arduinos, I hope to apply my circuit to a bigger project that lifts and drops various materials.
Controlling an LED with a switch (two pieces of conductive material that can touch each other to complete a circuit) and Arduino. Switches can be made out of any conductives.
Made a connection with an Arduino Uno and the “Blink” code from the application reference page.
Re-wired the connection to blink LED by touching conductive materials. No code necessary.
Re-wired the circuit to another breadboard ( same relative connections) with the Arduino Nano. No code necessary.
… Nothing happens!
Broke my Arduino (oops), but it still works! (?)
But now conductive wires work to turn OFF LED
Rewired inverse and it works!
I found it very frustrating that my circuit seemed to work with the Arduino Uno, but not the Arduino Nano. As someone who’s used to the Arduino Uno, I thought that the Nano pins were very hard to read, and especially hard to place (since there are no sockets, and it didn’t seem to want to be snapped into place on the breadboard). I also had trouble with the Nano pins connecting to my breadboard—they would often move or become displaced—and couldn’t distinguish which pins were GND and PWR.
I decided to use the Arduino simply as a power source and wire up the circuit to the breadboard in a way in which two wires could conduct electricity and could therefore be the “switch.” Although this proved to be successful after snapping my Arduino into place (and breaking a piece off in the process, oops), I wasn’t able to wire a conventional “button” to my breadboard.
Eventually I used a potato covered with conductive paint to be used as a switch to complete my circuit!
While it is true that interaction requires two actors to alternately listen, think, and speak, I think each element should evoke the perspectives and imaginations of others as well. Along with being a truly cyclical process, interactivity should have a purpose in addition to an intuitive design. My appreciation of interactivity is for its multi-sensory approach to merge form and function, and to encourage learning by doing.