# Blog 10 Midterm Individual Reflection
Career Express
Younian Liuď˝InstructorďźProf. Marcela Godoy
CONTEXT AND SIGNIFICANCE
Because of my previous research, during which I saw examples like the one called Returning the Gaze that tried to make people reflect on male gaze in the fashion industry, I set up a criteria for my future interactive projects, that is to have a higher degree of entertainment, even for adults, or to be able to trigger peopleâs reflection. Through this project inspired by a Bilibili video (see below), we want to trigger peopleâs, especially menâs, thinking of the gender inequality in career.
(https://www.bilibili.com/video/BV1wR4y1c7Qs?share_source=copy_web)
In order to present the inequality more concrete and thought-provoking, we added data released by the UNDP.
CONCEPTION AND DESIGN
When the player presses the button, the serial monitor will show the times he/ she has pressed it. And when the player reaches 10 presses, the LED that represents the player lights up and the buzzer plays the music for the winner. At the beginning, we want to put the buttons on top of the machine, but considering that the competition might be too sever and we only have cardboard as the main material, we still put the button on the Arduino breadboard to make sure it wonât break. We use breadboard because we cannot go the AB, otherwise, I would really want to use 3D printing to make the whole structure with creamy colors (to have a contrast with the cruel reality) so that it would be more stable, sustainable and good looking.
(cr. Ran XU)
FABRICATION AND PRODUCTION
The two most important and challenging part in this project is the turntable and the clip. I have to find a way to place the turntable stably combining with a DC motor. So as shown in this picture, I add a base for the motor. It was challenging because I have to make sure that the motor is placed right at the center, so that the turntable can work properly in the hole.
As for the clip, I think it still has apace to improve: it would be better if I use harder materials so that it would be more powerful and easier for the user to use. And maybe we would use the kind of catcher recommended by Prof. Godoy. During the user testing session, we found that itâs a bit inconvenience for the user to push the button since it is placed on the breadboard. But at that time, we could not come up with more creative and meaningful idea to replace it, so we kept it.
(cr. Ran XU)
During the process, Ran and I came up the idea of âtrue-self catcherâ first, and we did our actual machine separately. But after consulting with Prof. Godoy, we changed our theme to Career Express because she suggested us to narrow the topic and the targeted audience down.
Original design
I then borrowed the code from the previous recitation and adjusted a few things. Prof. Godoy really helped a lot with combining the two code and debugged for us. After we had the actual stuff and the code, Ran drew 2D sketches and I made 3D models. I then combine them together and designed the poster. We worked on the text part of the poster together. After we shot the film separately, Ran did a wonderful job in editing the video.
This is the code we used:
int buzzerPin = 8; int button1 = 10; int button2 = 11; int led1 = 3; int led2 = 2; int goal = 10; int buttonState1 = LOW; int previousState1 = LOW; int buttonState2 = LOW; int previousState2 = LOW; int counter1 = 0; int counter2 = 0; boolean winner1 = false; boolean winner2 = false; long time = 0; long debounce = 200; boolean stage2 = false; // this is going to be a boolean variable that we will make true when we want to go to the second stage void setup() { Serial.begin(9600); pinMode(buzzerPin, OUTPUT); pinMode(button1, INPUT); pinMode(button2, INPUT); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); Serial.println("****ROUND 1: Once the monitor shows ăGO!!!!!!!!!!!!!!!!ă, press the button as fast as you can. The one that first reaches 10 presses will win the game and can go into the 2nd round."); Serial.println("ROUND 2: Use the stick to poke down the label in the hole. And the game will end when you get the label with ăCEOă on it.****"); delay(10000); Serial.println("READY"); playBeep(); delay(1000); Serial.println("SET"); playBeep(); playBeep(); delay(1500); Serial.println("GO!!!!!!!!!!!!!!!!"); playBeep(); playBeep(); playBeep(); } void playBeep() { playFreq(100, 200); } void playFreq(double freqHz, int durationMs) { //Calculate the period in microseconds int periodMicro = int((1 / freqHz) * 1000000); int halfPeriod = periodMicro / 2; //store start time long startTime = millis(); //(millis() - startTime) is elapsed play time while ((millis() - startTime) < durationMs) { digitalWrite(buzzerPin, HIGH); delayMicroseconds(halfPeriod); digitalWrite(buzzerPin, LOW); delayMicroseconds(halfPeriod); } } void loop() { buttonState1 = digitalRead(button1); buttonState2 = digitalRead(button2); if (counter1 < goal && winner2 == false) { if (buttonState1 != previousState1 && millis() - time > debounce) { if (buttonState1 == HIGH) { counter1++; Serial.print("player MALE: "); Serial.println(counter1); time = millis(); } } previousState1 = buttonState1; if (counter1 == goal && winner2 == false) { winner1 = true; digitalWrite(led1, HIGH); Serial.println("PLAYER MALE WINS"); playMelody(); } } if (counter2 < goal && winner1 == false) { if (buttonState2 != previousState2 && millis() - time > debounce) { if (buttonState2 == HIGH) { counter2++; Serial.print("player FEMALE: "); Serial.println(counter2); time = millis(); } } previousState2 = buttonState2; if (counter2 == goal && winner2 == false) { winner2 = true; digitalWrite(led1, HIGH); Serial.println("PLAYER MALE WINS"); playMelody(); } } //here we will check whether we start stage2 if (stage2 == true) { moveMotor(); } } void playMelody() { playFreq(100, 200); playFreq(100, 200); playFreq(500, 200); playFreq(500, 200); playFreq(600, 200); playFreq(600, 200); playFreq(500, 200); delay(100); playFreq(400, 200); playFreq(400, 200); playFreq(300, 200); playFreq(300, 200); playFreq(200, 200); playFreq(200, 200); playFreq(100, 200); delay(100); // you can find something or create your own melody for this //ad your melody here //after the melody stops we will go to stage 2 //you can have a delay here before start moving delay(1000); stage2 = true; } void moveMotor() { float sensorValue = analogRead(A0); // print out the value you read: Serial.println(sensorValue); float MotorSpeed = map(sensorValue, 0, 1023, 0, 255); analogWrite(9, MotorSpeed); delay(1); // delay in between reads for stability }
Our poster:
CONCLUSIONS
Our goal is to trigger peopleâs, especially menâs, thinking of the gender inequality in career. I think our project did quite well in storytelling about the theme by only allowing the man to win and showing the labels. Under current condition, women are still despised in the job market. Our project involves both genders to participate and created a competitive atmosphere to invite them to engage in this and really think about manâs privilege. The randomness of the label picking also added on interactivity. I would improve my project by using different materials to decrease a sense of âprototypeâ and strengthen the stability. And I would also try to use more creative ways to design the first round instead of borrowing the idea from the recitation. From the setbacks I learned that sometimes accidents happen all the time: it could be the wires loosen or the cardboard break over a night. I also learned that no matter how complicated the project seems at first, as long as I put enough effort in it and work step by step, the results would not be bad. And reaching out for help is very important. If it were not with Prof. Godoy and Winny, I couldnât have completed this successfully.
(https://www.bilibili.com/video/BV1Q34y147L2?share_source=copy_web)
March 28, 2022, Jinqiao, Younian Liu