Final idea
The outcome of this minimal test is - use the xy to control the position of the circle and use the button to switch the normal version to chaos version of the circle.
And I tried to connect with my laser projector. It worked! :)))
made few mistakes, struggled for an hour just to convert the data from serial port.
Thanks to David Rios.
Nov 15, 2025 - update -
Why We Use Commas in Serial Communication
When sending multiple values from Arduino to a program like TouchDesigner, p5.js, or Python, we need a clear way to separate one number from another. A serial port does not separate values automatically. It only sends a continuous stream of bytes with no built-in structure.
44 is the ASCII code for the comma. The comma acts as a clear split point, and this style of separating values is known as comma-separated values (CSV).
What is CSV?
CSV stands for “Comma-Separated Values.”
It is a very simple text format where multiple values are written on one line and separated by commas.
I went to david and tom agian :)))
And I learned that sometimes you have to deal with this hardware restrict and make compromise.
So what I can do is to use map to decrease the noise. As long as the results is ideal.
The answer is I don’t want it to be normal, I want to make fun stuffs!
Then I realize I can remake this toy - Alligator Dentist - for one of my VJing component.
I start to reach out to Phil and Ian for fabrication suggetions, and I ended up drilling holes and put buttons inside each holes.
since those are pushbuttons, I want it to hold the state untill the next is pressed.
so for the coding part, the logic is:
when the program starts,
run over all the button state. If there’s a button being pressed, turn the state to HIGH, and keep that state until the next is being pressed. If there’s two buttons are pressed, only turn the first one to HIGH. print the one that has been pressed.
arjun was trying to help me out at first. We setup the board and write the code in the right way (we thought), and everything worked, but only the value of the joystick was weird. (it should be 512, 512 by default, but it was around 100,100)
then I went to tom (again and again), it took us a while to figure out the actual problem. The problem is: there is a pin - INH (inhibit) - which basically acts as an “off switch” for the multiplexer. If you don’t handle it correctly, the chip will cycle through all its channels nonstop, which can introduce a surprising amount of noise. Once we understood that, everything fell into place.
At first, I used the cardboard and cut them with knife just to make sure it’s good for testing all the sensors. Then, I use caliper to measure all the components and lasercut them on another cardboard, this time I got a clearer sense and make sure it the right size when i start to use the acrylic (because i don’t wanna waste my acrylic for testing). And then, I start to lasercut my acrylic after secured the layout and size. But there’s one thing that i didn’t see, acrylic and cardboard has different clearance hole
ITP/IMA winter show 2025