J’s tudio    File   Blog   Contact
       
Nov 12, 2025

Final idea

- minimal test

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! :)))
I learned the joystick.

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.


multi-sensor testI tried to wire the linear potentiameter together with the joystick, the x value of joystick slightly changed when i change the linear potentiameter. 


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.


Alligator-remakeWhat should I use for the scene trigger? 
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.


prototype of prototype

Muxsince i run out of the pins, I start to learn about the multiplexor.

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.


PrototypeSo many back and forth during the process of prototype, but I am really satistied with it.

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 


TouchDesigner


Final outcome in 
ITP/IMA winter show 2025