Girl Time is an immersive installation dedicated to sharing femme stories. This installation draws inspiration from the deeply personal conversations that unfold in women’s restrooms—spaces of vulnerability, camaraderie, and unfiltered expression. Through interactive and generative elements, Girl Time invites users to step into the experience of being female-identifying, capturing its beauty and struggle. No two users will have the same experience, the same way no two women do. It is a space where whispers of encouragement, secrets, and moments of collective empowerment come to life, offering a window into the emotional landscapes that define femme existence.
The project uses physical computing, p5.js, and Tone.js. The removable objects have magnets attached to them, which are detected by Hall effect sensors. The sensors send messages to p5, which plays sound and video corresponding to the object. A projector displays the visuals on the mirror.
https://github.com/olivia-em/GirlTime
First diagram
Fabrication plan after meeting with Phil
After meeting with David Rios, we decided to use Hall effect sensors to detect objects.
const int NUM_SENSORS = 6; // Define the number of sensors
int base[NUM_SENSORS]; // Array to store baseline readings
int current[NUM_SENSORS]; // Array to store current readings
const int DIFFERENCE_THRESHOLD = 50; // Threshold for detecting a significant change
void setup() {
Serial.begin(9600); // Start serial communication at 9600 baud
// Initialize baseline readings for all sensors
for (int i = 0; i < NUM_SENSORS; i++) {
base[i] = analogRead(A7 - i); // Read initial sensor value and store it as the baseline
}
}
void loop() {
// Read all sensors and print only 0 or 1
for (int i = 0; i < NUM_SENSORS; i++) {
current[i] = analogRead(A0 + i); // Read current sensor value
// Determine if the difference from baseline exceeds the threshold
int status = (current[i] - base[i] >= DIFFERENCE_THRESHOLD) ? 1 : 0;
Serial.print(status); // Print only 0 or 1
if (i < NUM_SENSORS - 1) {
Serial.print(","); // Separate values with commas
}
}
Serial.println();
delay(50);
}