DROWNK!, 2021
Arduino | P5.js | Procreate | Fabrication
Collaborative Project
Theme
DROWNK: drunk + drown
Business dinner
Bloody wine culture
Artist Statement
The business social dinner (应酬) is one of the important occasions in Chinese workplaces, and it also brings the dark side of Chinese wine culture. It is so common for a boss to force his/her workers to drink even though the worker does not want to. But due to the company hierarchy, the action of the boss refilling the wine glass is always rationalized, even glorified. Nowadays, the ability to drink much becomes a huge advantage in recruitment, and even some graduates would demonstrate “good at drinking” in their resumes to please the employers.
In our project DROWNK, we would like to create the metaphor of the scenes happening around the business social dinner table by enabling the users to fill the glass in the restaurant-like setting. While pouring more wine into the glass, the water level in the projector screen will also go up correspondingly and finally drown the little employee.
When taking the glass away, the scene will return to the first state waiting for another person to pour wine and do the same action. Because the fact is, even though the process is uncomfortable and bloody, and everyone knows that, people still have to repeat the same actions again and again in order to make a living. The little figure on the glass top also emphasizes the desire to jump into the glass (join in the dinner party). The loop of repeating the pouring and drowning will go on forever sadly as long as the wine culture is still prevailing in China.
.jpg)
Creation Process: Arduino + The Sensor
We ordered the weight sensor HX711 on Amazon. It is our core equipment throughout the whole project. We use it to measure the weight data and so that we could translate the weight to the water level. In Arduino, by adjusting the calibration factor we change the initial standard constant so that we can get an accurate measurement of the weight of the object; not only that, we can also eliminate the weight of the cup itself through this constant.
Creation Process: p5.js coding
In p5.js, by referencing a noise wave code, we draw the water wave by using noise and vertex. In the way of changing the x and y dimension of the noise and applying the water level changing data from Arduino, we could create the water rising up effect based on how much water we pour into the glass.
The key to achieving the fluent transition to each stage is to obtain a lot of clear and logical if statements; we use 5 if statements to divide our pouring action into five different stages (0-15%, 15%-43%, 43%-71%, 71%-100, >100%) based on the water level change, and then inside of those stages, we set the gif to play only if the last string data equal to the previous one, so that the animation will show only when the user stops to pour wine into the glass.
Last but not the least, we set up a return stage if the user lifts up the glass and drinks (pours out) the wine. The whole scene will restart, and the breathing text "POUR WINE TO BEGIN" will show up again to start a new round of experiments.
We tried to put the sensor reading (grams) in the console of the p5 sketch, but there is always a problem that some data are undefined as "", which probably means an empty string? And the outcome image would have a short flash to the first state once the "" occurred in the console log. To eliminate the effect it brought to the coding afterward, we decided to put all the defined data (numbers) in an array, and make the water wave change according to the last element in the array, which is the same as the current sensor reading value.
👈 the video shows how the flash occurs like.
Creation Process: Visual
I drew the little figure in Procreate and made five pieces of animation in the app. It is inspired by our little man (smiski) in the wine glass. I gave the little figure a white tie, indicating his role as a "white collar". Just like how we did in the Adobe suites, I create many layers in a canvas and made subtle changes each time to make the figure move a little bit.




