

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!!!!!)
