Eva ‘s library Light — ZipLight

I’m super excited to share my latest project: a smart lamp that reacts to sound! It’s not just any lamp though; it’s a lamp that lights up when it detects noise. So why did I decide to build this? Well, I’m someone who tends to talk or make noise in quiet places like libraries. I often wish there was a way for someone to subtly remind me that it’s not the best time to chat. That’s where the idea for this lamp came from. I thought, what if I could create a lamp that reacts to sound and gives me a little “warning” when I’m being too loud? This idea turned into a fun and challenging project that I’m so proud of!

The Process

I started by modeling the lamp in three parts: the lamp shade, the stand, and the connector. Once that was done, I began setting up the circuit. I initially used an Arduino Nano, but ran into issues, so I switched to an Arduino Uno. After that, I connected the sound sensor, but it wasn’t working right at first. After a bit of trial and error, I replaced the sensor, and everything clicked! The circuit finally worked, and I was so relieved!

Assembly was tricky too. The soldering was delicate, and I spent quite a bit of time ensuring everything was securely connected. With help from friends, I managed to get everything put together, and the lamp was ready to go!

Here is my code

#define SOUND_SENSOR_PIN 2    // Sound sensor connected to digital pin 2
#define LED_STRIP_PIN 9       // LED strip connected to digital pin 9

void setup() {
  Serial.begin(9600);           // Start serial communication
  pinMode(SOUND_SENSOR_PIN, INPUT);  // Sound sensor as input
  pinMode(LED_STRIP_PIN, OUTPUT);   // LED control pin as output
  digitalWrite(LED_STRIP_PIN, HIGH);  // Ensure LED is off by default
}

void loop() {
  int soundDetected = digitalRead(SOUND_SENSOR_PIN); // Check sound sensor

  if (soundDetected == HIGH) { // If sound is detected
    Serial.println("Sound detected! Blinking the LED strip...");
    for (int i = 0; i < 10; i++) { // Blink the LED 10 times
      digitalWrite(LED_STRIP_PIN, LOW);  // Turn LED on
      delay(100);                       // Wait 100ms
      digitalWrite(LED_STRIP_PIN, HIGH); // Turn LED off
      delay(100);                       // Wait 100ms
    }
  } else {
    digitalWrite(LED_STRIP_PIN, HIGH); // Keep LED on if no sound
  }

  delay(100); // Delay to avoid fast detection
}

https://www.instructables.com/ZipLight

(Thank you QI and Haosen!!!!!)

Discover more from Making Studio

Subscribe now to keep reading and get access to the full archive.

Continue reading