IntelliGlow
Smart light that can be controlled just by the clapping of your hands.
Author: Marinescu Teodor
GitHub Project Link: https://github.com/UPB-FILS-MA/project-teofils1
Description
IntelliGlow is a device that wants to implement physical and sound commands into the everyday usage of normal lighting equipment. As the most important feature, the user can clap one time to change the color of the lightbulb, two times to light it or shut it, and additionally, we have a potentiometer that can change the light intensity to whatever intensity you want.
Motivation
In this day and age, it is a common commodity to have a more feature-rich light source, such as a desk lamp or a simple light bulb, so I want to have my go at trying to build an intelligent glow lamp that can do more than just emit light. I'm excited to explore this idea and see what kind of innovative features I can incorporate into my design.
Architecture
The IntelliGlow is powered by wire and it uses a sound sensor that listens for the first clap and then waits some time to find the second clap so that it can decide if there were 1 or 2 claps. The potentiometer is an element that sets the intensity of the RGB LED.
For the diagram above here is a brief breakdown:
The Raspberry Pi Pico W is the computing component of the IntelliGlow. It processes the signal from the sound sensor and the potentiometer and decides what to do next.
The sound sensor checks if there are any high-frequency noises(mostly claps) around him, it sends a signal to the microcontroller, and the computer starts to listen for the next clap, if there is no clapping sound in the next 2 seconds the RBB LED changes color, but in the instance that there was another clapping noise the computer turns ON/OFF the RGB.
The potentiometer sends the desired intensity to the Pico board.
Log
Week 6 - 12 May
Planned the architecture of the project and bought all the required components.
Week 7 - 19 May
The schematic for the project has been successfully created using KiCad. This schematic includes all necessary components and connections for the electronic circuit which was further used as a guide for when I assembled the project on a physical breadboard.
Week 20 - 26 May
I started to implement the code when I ran into a problem because I could not use two adc pins so I started a task that used both adc pins and just printed the values to the console from there. Overall I used 3 tasks that ran asynchronously and influenced the hardware accordingly.
Hardware
A sound sensor detects sound waves and converts them into electrical signals. It's used in noise monitoring, voice recognition, security systems, and more. For this device, we need to tune the sound sensor so that it only detects high-frequency sounds.
A potentiometer is an adjustable electronic component used for controlling electrical signals by varying resistance. It consists of a resistive element and a movable wiper, allowing for precise adjustment of voltage or current.
Schematics
Here is the KiCAD schematic for my project.
I used a sound sensor that it was not supported by KiCAD so I made my own representation of it. This is the hardware all put together.
Bill of Materials
Device | Usage | Price |
---|---|---|
Rapspberry Pi Pico W | The microcontroller | 35 RON |
Breadboard | The physical base of the project | 10 RON |
RGB LED | The light bulb | 1,15 Lei |
Sound Sensor | Sensor | 5,67 Lei |
Potentiometer | Controller | 2,57 lei |
Led 5mm | Red Led light | 0.26 RON |
Male to male jumper wires | Wires | 6.98 RON |
Male to male jumper wires | Wires | 6.98 RON |
Software
Library | Description | Usage |
---|---|---|
embassy-time | Time management library | Used for time-based operations such as delays |
embassy-rp | Peripheral access library | Used for initializing and interacting with peripherals |
embassy-executor | Asynchronous executor for Rust embedded systems | Used for task scheduling and asynchronous programming |
gpio | GPIO manipulation | Used for interacting with GPIO pins |
pwm | Pulse-width modulation | Used for controlling the RGB LED light intensity |