Introduction
Voice controlled devices are becoming increasingly popular in home automation and assistive applications. The ability to control lights and other appliances simply by voice commands offers great convenience and accessibility. This article provides a step-by-step guide on designing a voice activated light system using modern speech recognition modules and microcontroller boards.
Key stages in the design process including selection of components, circuit design, power supply, programming and testing will be covered. Additionally, tips to enhance the performance, range and capabilities of the system are provided. The article concludes with a FAQ section on common queries regarding voice controlled lights.
System Overview
A block diagram of the voice activated lights system is shown below:
The major subsystems are:
- Voice Recognition Module – Detects speech commands and converts to electrical signals.
- Microcontroller – Processes signals from voice module and controls light switching circuitry.
- Load Driver – Switches lights ON/OFF based on microcontroller output.
- Power Supply – Provides regulated power to the circuits.
Hardware Selection
The key hardware components required are:
1. Voice Recognition Module
It listens to voice commands and provides equivalent electrical outputs. Some options:
- Simple audio amplifiers – Low cost but limited control
- Speech recognition ICs – Offer good performance but may need training
- Prebuilt modules – Easy to use, provide electrical outputs for commands
For this project, a prebuilt voice recognition module will be used due to its ease of integration.
Recommended Module: DFRobot DFPlayer Mini voice recognition module. Comes pre-trained for simple commands.
2. Microcontroller Board
It processes the speech module output and controls the light switching. Options:
- Basic microcontrollers – Low cost but involves coding in assembly or C
- Arduino boards – Convenient due to abundance of code libraries
- Raspberry Pi – Powerful but higher cost
For simpler integration, an Arduino Uno board will be used. Has ample I/O pins and processing power.
3. Load Driver
Switches the light load in response to microcontroller commands. Options:
- Mechanical relays – Inexpensive but larger size and wear out over time
- Solid state relays – No moving parts but need heat sinks
- Power MOSFETs – Compact and long life if sized properly
A logic level power MOSFET will be used for switching light loads like LEDs.
Circuit Design
The circuit schematic is shown below:
Voice recognition module – Detected voice command output pins connected to Arduino digital input pins.
Arduino Uno – Processes module output and controls MOSFET gate pin for light switching.
Load driver – Logic level N-channel MOSFET acts as a switch to turn light ON/OFF.
Light load – LED strip connected to MOSFET output through current limiting resistor.
Power supply – 12V DC supply provides power to voice module, Arduino and load. Linear regulator supplies 5V to Arduino.
Power Supply
A 12V 2A DC supply provides adequate power for the voice module, Arduino board, load driver and LED light load.
A 7805 linear voltage regulator provides steady 5V supply to the Arduino board from the 12V source. Capacitors help stabilize the voltage levels.
Proper power supply design ensures stable operation of all components.
Programming
The Arduino program to implement voice activated light control:
c
Copy code
// Voice recognition module output pins #define VR_PIN1 2 #define VR_PIN2 3 // Load driver MOSFET gate pin #define LOAD_PIN 8 void setup() { // Set I/O pins pinMode(VR_PIN1, INPUT); pinMode(VR_PIN2, INPUT); pinMode(LOAD_PIN, OUTPUT); // Initialize serial communication Serial.begin(9600); } void loop() { // Check first voice command pin if(digitalRead(VR_PIN1) == HIGH) { // Turn load ON if first command heard digitalWrite(LOAD_PIN, HIGH); Serial.println("Load ON"); } // Check second voice command pin else if(digitalRead(VR_PIN2) == HIGH) { // Turn load OFF if second command heard digitalWrite(LOAD_PIN, LOW); Serial.println("Load OFF"); } // Small delay before checking again delay(100); }
The code continually checks the voice module output pins. If a command is detected, it triggers the appropriate action to switch the light ON or OFF.
Testing and Troubleshooting
Once assembled, the system should be thoroughly tested:
- Check power supply voltages – 5V for Arduino, 12V for module and load
- LED test code – Verify Arduino can drive load ON/OFF
- Voice module output – Observe electrical signal when commands are spoken
- Monitor serial output on computer to debug issues
- Adjust microphone sensitivity, placement for reliable detection
- Add LED indicators to provide user feedback
- Isolate subsystems and test individually in case of faulty behavior
Enhancing the Design
Some ways to extend the capabilities of the voice controlled lights:
- Add more voice commands – Control multiple loads, dimming, color changing LEDs etc.
- Remote control – Use Bluetooth/WiFi modules for smartphone control
- Multi-room audio – Multiple microphone modules for whole home control
- Natural language – Use AI speech recognition for more flexible commands
- Security – Fingerprint/face recognition to restrict access
- Scheduling – Create automatic time-based lighting scenes
Applications of Voice Activated Lights
Some useful applications of this voice controlled lighting system:
- Assistive device – Help disabled or elderly people control lights independently
- Hands-free control – Enable light switching when hands are occupied
- Energy savings – Lights left on accidentally can be turned off by voice
- Smart home automation – Control various appliances, not just lights by voice
- Industrial environments – Allow control without removing gloves or PPE
Conclusion
In this article, a step-by-step guide to designing a DIY voice activated light system was provided. The key components of voice recognition module, microcontroller, load drivers and power supply were selected. The complete circuit schematic, power supply, Arduino code and testing techniques were elaborated. Additional tips were provided to extend the functionality and applications of voice controlled lights. The information provided serves as a practical blueprint for hobbyists, students or designers to build their own customized voice activated lighting solutions.
FAQs
Q1. Can you use a sound sensor instead of voice recognition module?
Sound sensors like condenser mic modules are cheaper but detect all sounds rather than specific voice commands. So they are not as effective for selective voice control.
Q2. Is WiFi required for voice activated lights?
No, WiFi is not required. The voice recognition, lights control and switching are all handled locally using standalone hardware modules. But WiFi can be added optionally for remote control.
Q3. How many lights can be controlled by this system?
The number of lights depends on the power rating of the load driver circuitry used. For the Arduino and MOSFET based design, up to 50-100W of LED lighting can be controlled in most cases.
Q4. Does the microphone need to be near the person?
The microphone should be placed appropriately to clearly receive commands. Lapel microphones or external mics can be used so users do not have to be very close.
Q5. Can you add an automatic shut off timer?
Yes, the Arduino code can be modified to turn the lights off automatically after a preset duration to save energy using a timer variable and the millis() function.