Week #8

Two-way (Duplex) Serial Communication

Lab: Two-way (Duplex) Serial Communication using an Arduino and P5.js using WebSerial.

Started with reading data from tree sensors: two potentiometers and a pushbutton, and separating the values by a comma so we could know which value belongs to which sensor.

Then received the values in p5.js and used to them to move a circle on the screen

Final project thoughts

Matthew and I are planning to continue our midterm project. We'd like to keep the main interaction in place but possibly change everything else — the design of the thing itself, the sounds it produces, the sensors we were using and the code's logic. We do like the fact that this project made people stand closely to one another and sort of have this intimate group experience. So we intend to improve on that.

Some aspects of the project we want to change / configure differently:

  1. The physical shape — we like the amorphic shape but it might have to be somewhat bigger as to allow enough movement within its boundaries. However we do think it should be generally equally proportioned as to create a circle of people around it. We also like the tactile aspect of using wood as it offers a certain warmth to it that we feel make it more inviting overall. The knobs themselves will be quite similar to what we had, minus perhaps the "sharper" one as we feel rounder shapes compliment the experience better. We'd also like to paint the knobs in colorful neon colors this time as we thing it'll add to the overall playfulness of the experience.
  2. The sound — using the tone library proved to be hard to manage, limiting and not so... trustworthy. We'd like to test other methods of producing sound, either by using a different library, or through connecting to a p5 sketch although we would prefer to keep this project "just" arduino-based.
  3. The sensors — we like the use of magnets and their combination with the wood seems playful. We do need to figure out a way to make the knobs actually stay where they're positioned. Not sure if we can find any stronger magnets, though. The stretch sensors were kind of finicky themselves, and also got in the way a lot and made it hard for the knobs to stay in place. So we intend to either figure out a way to smooth the reading of their values, change the way were using them or perhaps get rid of them completely, as they don't necessarily add that much to the experience in our view. We'd also like to test using curly telephone wires and we'll try to figure out a way to only have wires on one knob and not the other (the hall sensors are directional so having an additional magnet inside the knob might actually work).
  4. Code logic — we encountered a problem with using the arduino Uno's three clocks (because we wanted to play sound through three speakers simultaneously). We used the millis() function and the Timer() functions that simply didn't work with more than two speakers. So we do need to figure out a different way to play at least three sounds simultaneously. We could get a different arduino that should work, but we'd probably need to rewrite the logic to work differently anyway as we plan to change the method of producing the sound itself (as for the tone library — it was suggested to us that we have too many if statements that might cause the board to not work as intended).
X button icon

Jasmine Nackash is a multidisciplinary designer and developer intereseted in creating unique and innovative experiences.