Intro

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.

GitHub Repository

https://github.com/olivia-em/GirlTime

Diagrams

First diagram

First diagram

Fabrication

Fabrication plan after meeting with Phil

Fabrication plan after meeting with Phil

IMG_1001.HEIC

IMG_7134 2.JPG

IMG_7150.JPG

IMG_7148.JPG

Physical Computing

After meeting with David Rios, we decided to use Hall effect sensors to detect objects.

Screenshot 2025-04-08 at 7.09.08 PM.png

IMG_6951.mov

Arduino Code

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);
}