Introduction: Voice Control Lights Electronics RGB Led Strips and More With Cortana and Arduino Home Automation
Like the idea of controlling things with you're voice? Or don't like to get out of bed to turn the lights off? But all existing solutions like google home are too expensive? Now you can make it yourself for under 10$. And even better it is very easy to make it!
It is all possible thanks to thejust released free CoRoom Windows 10 application which is available in the Windows Store, and by following the 3 simple steps below you can make it yourself.
Check see CortanaRoom in action check the video above or below:
https://www.youtube.com/watch?v=38VDIR3he6g&feature=youtu.be
A couple of things CortanaRoom can do:
- Control Lights with you're voice
- Control things like a TV with you're voice
- Control a RGB Led Strip with you're voice
- Use the CortanaRoom app to set up an Alarm which will wake you up by slowly increasing the brightness of the RGB Led strip in the colors of the sun.
- Use 3 build in Led strip effects like flashing or fade
- Integration with Cortana for seamless integration with Windows 10.
- And much more!
To make CortanaRoom you need a couple of basic parts:
5V relay's
Arduino uno or nano
The free CoRoom App
https://www.microsoft.com/nl-nl/p/coroom/9phh4hfrrm8d?activetab=pivot:overviewtab
And a Windows 10 computer with a microphone!!
A lot of wires!
If you want the optional RGB Led strip you also need:
3 N-Channel MOSFET'S like the IRFZ44N
A Common Anode RGB Led Strip
A power supply for your LED strip with the right Voltage. For example this 12V 3A is good enough.
Once you have collected all the parts go to step 1 to get started.
Step 1: Making the Electronics
First of all we need to make the electronics. CortanaRoom actually exists out of 3 modules. There is the Core part which is mandatory to make and then there are 2 separate modules which are the RGB Led Strip and IR Sensor. Because of this I have separated the electronics part into three smaller parts.
The Core Part
The core part exists out of the brain of the project which is a Arduino, and the actuators which are the relay's. Making this is actually very easy. The only thing you will have to do is follow the schematic above. This schematic may look difficult but for the core part you only have to make the red circled part in the second picture above.
After having connected all the relays to the Arduino we have to connect the lights and / or other devices to the Relay's. To do this get the power cord of your light, Then cut the sleeve from the power cable so that you can see the wires inside the cable. Most of the time you will see a blue, brown and sometimes a green yellow wire. Now cut the blue wire and strip the ends. After that solder one of these ends on the common pin of the Relay and the other end on the NC ( normally closed ) pin of the Relay. See the picture above to see which pins you need to use.
You can now continue doing this for all your lights. The same steps also apply for the TV. But in theory you could hook up everything you want. For example a coffee machine or a computer screen should be possible by following these steps.
If you have any questions about this part comment it in the comments below and I will answer it within a day!
If you don't want the RGB Led strip or the IR Sensor you can skip the rest and go to step 2.
The RGB Led strip
CortanaRoom also has support for a RGB Led strip. Adding this will give you the option to use the new Wake Up Light function. The Wake Up Light is a sort of alarm which instead of using an annoying sound will wake you up by simulating a rising sun. This will result in a more pleasant wake up and may even fix your morning mood. Besides the Wake Up Light you will also be able to control the color of the Led strip with your voice and use one of the 3 build in effects.
To make it you first have to make the Core Part. After that add the schematic with the green circle around it to your project.
- Make sure to use a common anode RGB led strip and N-channel mosfets!
- Make sure to use a strong enough power supply, at least 1A for a 1m RGB Led Strip.
- Also don't forget to connect the ground of the Arduino to the ground of the Led strip power supply.
If you don't want the IR Sensor, skip the rest and go to step 2!
The IR Sensor
The last part is the IR-Sensor. With this sensor attached the RGB light will automatically turn on once you walk into the room. This feature does work but it still buggy. And if you decide to make it know that it might not work 100% correct.
Done?
Once you have followed the steps above you are ready to go to the next step! Check the last image above to see how it should look now.
Step 2: The Software
Now we can start working on the software. luckily this is also very simple. The first thing we have to do is upload some code to the Arduino.
Uploading Code
To do this follow the easy steps below:
- Connect your Arduino
- Open the Arduino IDE
- go to examples - Firmata and click Standard Firmata (like in the picture above)
- now press the upload button and you are done!
For a more detailed tutorial:
https://www.instructables.com/id/Arduino-Installing-Standard-Firmata/
Connecting with the CoRoom app
Now the Arduino has the right code on it we can connect it to the CoRoom app. You can download the CoRoom app from the windows store right here:
https://www.microsoft.com/nl-nl/p/coroom/9phh4hfrrm8d?activetab=pivot:overviewtab
After that connect your Arduino to your PC. Now open the App and you should see some led's blinking on your Arduino. If this is not the case don't worry. It might be because you have a different Arduino board. To fix this go to the settings page inside the CoRoom app and change the 'PID_7523' value to 'PID_0043' and change the 'VID_1A86' value to 'VID_2341'. Now press the red circle on the right the connection box and it should connect.
Once connected you are done! You will now be able to control things with your voice. If something is not working you can check the troubleshooting steps below or you can of course comment below with your question.
Troubleshooting
Of course there can always be a problem when creating a project. Here below I will try to cover the most common problems you can have.
Turning on and off is reversed?
Is your light turning on when trying to turn it off and is it turning off when it needs to turn on? then you have switched the normally open pin with the normally closed pin on the Relay. Try to switch the pin on the relay and this should fix it.
Cortana is not responding to "Hey Cortana"
If Cortana is not responding to "Hey Cortana" check if this option is turned on in the Cortana settings menu. To see this go to the settings menu by typing settings in the windows search bar. After that type in the search bar in the settings menu Cortana and press the Cortana settings section. In the Cortana settings section look for the respond to "Hey Cortana" option and turn it on.
Cortana is not installed or available?
If it seems like Cortana is not available or installed because for example you cant see it in the windows search bar or anywhere else it can be that your region is not set correctly. Because Cortana is only available in certain regions you might need to change your region and maybe also your system language. Follow this tutorial to enable Cortana in your country:
https://techjourney.net/enable-windows-10-cortana-to-work-in-unsupported-region-language/
If Cortana cant hear you first check if your microphone is setup correctly. You can recalibrate your mic by using the troubleshooter you can find in the Cortana settings in Windows 10.
One or more colors on the RGB Led strip are now working?
First off all check your connections. Are all wires connected properly? After that check if the ground of the power supply is also connected to the Arduino? After that check if you have the Gate, Drain and source are connected correctly. Source should go to the RGB Led strip, Drain to the ground and Gate to the Arduino. If it is still now working it could be that your MOSFET is broken. Try to replace it and it should now work.
Arduino is not connecting even after changing PID and VID values
If your Arduino is still not connecting even after changing the PID and VID values in the settings menu it could be your PID and VID are different. To find your PID and VID follow the steps below.
1. windows key + x and select device manager
2.go to ports
3.right click your device (probably something like "Arduino" or "CH340g" and select properties
4. go to the details tab
5. in the property selection area click hardware lds
6. now you will see your VID and PID
Step 3: You Are Done!
Congratulations you are done!!
While that was not that hard to do right? Now you can flex on your friends or girlfriend with your new project. If you liked this project also check my other project like this automatic opening and closing door you can make very inexpensive yourself:
https://www.instructables.com/id/Make-a-Automatic-Self-Sensing-Opening-and-Closing-/
Remote control
One thing you can try now everything is working is to use the remote control feature. This is actually just a sort of work around which makes it possible to control your lights from anywhere in the world. To use it download teamviewer on your Windows 10 PC and on the device you want to control your room from:
https://www.teamviewer.com/nl/download/windows/
Now simply connect to your windows 10 computer and open the CoRoom app. Now press on the circles to turn the lights on and off.
Youtube!!
If you like more projects like this check out my youtube channel for more content:
https://www.youtube.com/channel/UC5WWg2B9fS-JXo-9NTveePA?view_as=subscriber
Modding the code
If you would like to thinker with the code yourself it is all available on my GitHub here: