Arduino to Grasshopper
Apr. 2024
Personal project
It transforms the 3D model by connecting Arduino's sensor to the Grasshopper. This project was started out of curiosity about how humans and objects can interact in the digital world, and it lasted for a total of three weeks.
<with Arduino, Grasshopper(Firefly, Weaverbird)>
<with Arduino, Grasshopper(Firefly, Weaverbird)>
Connecting Arduino and Grasshopper_Week 1
After connecting pressure sensor to arduino, I realize that the plug-in for connecting Arduino to Grasshopper
only supports Windows. So I switched to my desktop to run both program.
only supports Windows. So I switched to my desktop to run both program.
While following the tutorial, I could understand how the nodes inside the plug-in works. Also figured out how to get real-time data from arduino.
Then I made a bendable parametric 3D model inside the Grasshopper. By adjusting the parameter I checked the maximum value to prevent the model from bursting.
After applying the mapped data to the 3D mesh, I added more mesh to make the movement natural.
Connecting Two Sensors to Grasshopper_Week 2
// Code from Arduino
Serial.print(pressureValue);
Serial.print("and");
Serial.println(pressureValue2);
The hardest part about connecting the two sensors was separating the two data in one branch.
Even if the two data were written in println in the Arduino code, it was still in one branch with the enter.
I tried using Flatten, Sort, and List items on the Grasshopper, but it didn't work.
By chance, I discovered that using split separates letter data and numeric data,
and I used it to separate the data into two branches.
Serial.print(pressureValue);
Serial.print("and");
Serial.println(pressureValue2);
The hardest part about connecting the two sensors was separating the two data in one branch.
Even if the two data were written in println in the Arduino code, it was still in one branch with the enter.
I tried using Flatten, Sort, and List items on the Grasshopper, but it didn't work.
By chance, I discovered that using split separates letter data and numeric data,
and I used it to separate the data into two branches.
Then, I created new 3D meshes to allow two data values to be inserted. Putting two data into complex operations was thought to produce more unexpected results. Contrary to expectations, more refined(still) results were produced when the original data was connected to many nodes and transformed. Rather, more interesting transformation occurred when the original data was used as it was but connected to multiple parameters.
How to trigger the sensor? _Week 3
After thinking about applying force to the sensor, I decided to use a stool, the most basic product that is as closely related to weight as using a pressure sensor. To separate the sensor for reading weight and the sensor that operates according to my intention, I added a flex sensor to Arduino.
Wrap up
Connecting Arduino with the grashopper has been a project I've always wanted to try.
In particular, I wanted to experiment with transforming the parametric design of the grashopper by operating the sensor.
Pros
- The file is light
- You can easily create parametric designs using various plug-ins.
- Anyone familiar with Rhino can understand the process relatively quickly
- If there is a form you like, you can bake it right away and make it a 3D model
This means that the created model can be extracted with 3D printing so that you can tangibly touch it and use it as physical hardware.
- The file is light
- You can easily create parametric designs using various plug-ins.
- Anyone familiar with Rhino can understand the process relatively quickly
- If there is a form you like, you can bake it right away and make it a 3D model
This means that the created model can be extracted with 3D printing so that you can tangibly touch it and use it as physical hardware.
Cons
- Firefly, which is essential for connecting Arduino and Grasshopper, only supports Windows.
- There are limitations in material and rendering. In other words, you should focus on physical modeling rather than visual completeness.
- There are not much tutorials because it's not a common Grasshopper usage.
- If you are not familiar with the node-based modeling of the Grasshopper, the project will be difficult to proceed
- Delays occur in the process of calculating data.
- Firefly, which is essential for connecting Arduino and Grasshopper, only supports Windows.
- There are limitations in material and rendering. In other words, you should focus on physical modeling rather than visual completeness.
- There are not much tutorials because it's not a common Grasshopper usage.
- If you are not familiar with the node-based modeling of the Grasshopper, the project will be difficult to proceed
- Delays occur in the process of calculating data.