Voice Controlled Switch With Arduino
Intro: Voice Controlled Switch With Arduino
This is for the first time am uploading my project in Inscrutable. So if you guys find any silly mistakes please ignore it.
So, about my project, this is about the voice operated lights inspired from IRON-MAN movie. So JARVIS by Michel c, the software is used here to recognize the voice commands and opens the particular file. The interaction between the computer and arduino is done through the COM port in command prompt in Windows.
STEP 1: Starting Up...
Here is the list of items you need:
1. Arduino Board
2. Wires
3. 5v relay
4. PCB
5. 2 pin screw Terminal (2)
6. All soldering Components
STEP 2:
1.Place all the Components as shown in the images above.
2. Now place the cable in the screw terminals.
-> One pair (red and black) at the other end is connected to the source or battery. In my case i have connected to a 6v 4.7ah Battery.
->And the other pair (Green and white) is connected to the lights.
->You can add the AC/DC power supply according to the configuration of the lights. I have connected 10 1w LEDs.
3. I have also connected Female header Terminals so that it would be easy to plug the jumper cables from the arduino.
STEP 3: Circuitry...
The relay acts as if condition in electronic circuits. when ever 5v is applied across the coil, the tongue connected to p1 else connected to p2.
Connect all the points as shown in the diagram above.
STEP 4: Arduino Program
int incomingByte = 0; // for incoming serial data
void setup()
{
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
pinMode(12,OUTPUT);
}
void loop()
{
// send data only when you receive data:
if (Serial.available() > 0)
{ // read the incoming byte:
incomingByte = Serial.read();
// say what you got:
Serial.print("I received: ");
Serial.println(incomingByte, DEC);
}
if (incomingByte==100)
digitalWrite(12,HIGH);
else if (incomingByte==97)
digitalWrite(12,LOW);
}
STEP 5: How It Works
STEP 6: The C# Codes...
// c# program to switch on the lights using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO.Ports; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { SerialPort sp= new SerialPort(); sp.PortName = "com4" // write your com port connected to arduino sp.BaudRate=9600; sp.Open(); sp.Write("d"); sp.Close(); } } }
This one to switch off the lights.
// c# program to switch off the lights
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO.Ports; using System.IO;
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { SerialPort sp= new SerialPort(); sp.PortName = "com4" // write your com port connected to arduino sp.BaudRate=9600; sp.Open(); sp.Write("a"); sp.Close(); } } }
Type both the projects separately
Type => Build => take the .exe file
you can get the .exe file from
Documents/Visual Studio/Projects/<project name>/<project name>/bin/Debug/<project name>.exe
for both the off and on, bring two exe files and place them somewhere u are comfortable.
STEP 7: Time to Power Up...
=> Connect the red and black wire to the +ve and -ve terminal of the supply respectively.
In my case i am using 10 1W Leds. Hence I have connected a 6v 4.7Ah battery to power them. If you want to connect to the AC supply then you can go for it.
WARING..!!! Dont connect the LEDs directly in the AC, Use a ac appliance instead.
=> Connect the white(gnd) and Green (+ve) to the two terminals of the appliance or LEDs.
I have also connected a DPDT switch to the battery in order to turn the leds on directly. whthout arduino. You can skip that.
STEP 8: Putting Them All Together
STEP 9: Configuring JARVIS.
you can download the JARVIS:
Download Jarvis Software from here
After finishing the installation, open the program, select the language you are comfortable with.
then click on the +button at the right bottom to add custom commands...
then add commands,
add response, and their respective file location.
Finally say "Update commands" to save and active those commands.
try to say those commands and see the results
STEP 10: Possible Errors
If the jarvis program dose not recognizes your voice then you should train your system.
In order to do that goto
control pannel > Speech Reorganization
Complete the training process then try it.
If the problem still persist then feel free to contact me or comment below.
catch me at www.facebook.com/bisudw
mail me: mails2bisu@gmail.com
STEP 11: Any Device Can Be VOICE CONTROLLED
With a little bit of modification in the codes, and by adding some more relay switches to the arduino board can be controlled from the voice.
Here is my modification. I added one more switch with 230v 50hz AC supply to control the fan.
Then updated the commands at JARVIS console... den all set to go.
instead of the Fan plugin any device you want and get started.
60 Comments
Victor805 10 years ago
Cool project, but the way you have connected the coil of the relay to the Arduino could end damaging the chip.
I know it because I've been involved in a very similar project and I found several discussion topics about this.
http://makezine.com/2009/02/02/connecting-a-relay-to-arduino/
bisudw 10 years ago
Thanks Victor8o5... I was wondering why i wasnt able to connect more than 2 relays, I got the mistake, connecting directly draws a lot of current. You solved my problem. Thanks a lot.
pierreabdon 9 years ago
Hello :) I just want to ask, how did you solved the problem with relays connecting on arduino? I'm afraid that if I try to connect the relays directly to arduino may harm the chips, right? Can you elaborate it please? have a good day :)
bisudw 9 years ago
no they are not going to harm the chi if you want you can connect them directly.
RahulT80 7 years ago
Back emf reverses the polarity, so it may damage the board... due to change in polarity.. better to put diode ;)
krishnasgwd 9 years ago
it would be better if u connect a diode across relay so that it prevents back emf generated when relay deenergises to enter arduino>.
bisudw 9 years ago
bisudw 9 years ago
Sorry 4 late reply...
LaxmanG4 4 years ago
lokanath mishra 7 years ago
can i use main current for controlling lights in my room.as i am having arduino uno r3.is it possible.if possible then how
lokanath mishra 7 years ago
is there any anathor way to control tube lights with voice recognisation
Faiz Fitri 7 years ago
Hello,
Can i get your email please. I have something to ask you.
Thanks
bisudw 7 years ago
rohitelex786 7 years ago
The link given for JARVIS is not working. Can I get any other working link?
NazmusS1 7 years ago
Hey I need to know how you run the light on code and using which software
mummy1243 8 years ago
how can i download the file that you are posted
bisudw 8 years ago
which file you are talking about??
SrivishnuT 7 years ago
the jarvis file, it was taken down, can you email me the file at srivishnupiratla@gmail.com
ItaloD6 7 years ago
Pelo Amor de Deus, alguem fez isso em portugues brasil pra me traduzir????
classic madhu 8 years ago
hello, jarvis software is not available in the site you have mentioned above can you suggest me some alternatives