IoT Silhouette Mood Lamp (Email and Twitter Notifier)
by webgeeks in Circuits > LEDs
6322 Views, 143 Favorites, 0 Comments
IoT Silhouette Mood Lamp (Email and Twitter Notifier)
As IoT (Internet of Things) is becoming more and more popular and as more number of micro-controllers are IoT enabled, I decided to make a series of tutorial on IoT using a particle photon and an Intel Edison.
Today I'm going to show you how to build an internet connected Silhouette lamp, this lamp is connected to the internet and notifies you every time you get a new email, a new tweet or any other notifications. You can customize the lamp to any color you like and the color of the lamp when you get a new notification. This would make a cool weekend project and is really simple to build.
You can also watch the video tutorial below.
Materials and Components Required
Here is the complete list of materials required, most of the materials are easy to find.
- Particle Photon
- Internet button (includes a particle photon)
- Li-ion battery
- Some jumper wires
- Thin Cardboard paper (Black)
- Card stock paper (White)
- Silhouette Portrait (Optional) or X-acto knife
- Glue
- Scissors
- Micro USB Cable (included along with the internet button)
Particle Photon and Internet Button
The particle photon is a micro-controller buy particle.io, it is similar to an arduino nano, but has better hardware and a WiFi module which helps it get connected to the internet. The programming environment of the photon is similar to that of an arduino, but has a few extra libraries that make it connect to the internet and various shields.
In today's project we are going to use a particle photon along with a internet button, an internet button is like a photon shield which gives it access to eleven RGB LEDs, four buttons and an accelerometer. If you purchase an internet button it includes a particle photon and a micro USB cable.
Circuit
There is not much of a circuit diagram all you have to do is plug the particle photon on the internet button make sure you plug it in the right side there is a marking indicating that. You can power it using a micro USB cable, but I choose to power it using a Li-ion battery. The power is fed into the Vin pins of the particle photon and the Gnd pin.
After supplying power to the board it is now time to connect it to the internet and the particle cloud. You can check out the video below on how to do that. Once you have got it connected you can proceed to the next step.
Uploading the Code
Once you have connected the particle photon to the internet it is now time to upload the code to the board. The code contains two functions which, when called would light up all the LEDs on the internet button to a respective color. Example the color set for a new email is rgb(250, 0, 0) which is red.
You can create similar functions and change the color of the LEDs as you like.
#include "SparkButton/SparkButton.h" // include spark internet button library
SparkButton b = SparkButton();
void setup() { Spark.function("gmail",gmail); // function for email notification Spark.function("twitter",twitter); //function for twitter notification b.begin(); } void loop() { // no code in here } int def(){ b.allLedsOn(0,0,255); // default green color, change this to change the color of the mood lamp } int gmail(String args){ // email function b.allLedsOn(255,0,0); delay(600000); def(); // Change to default color after 10 minutes } int twitter(String args){ // twitter funciton b.allLedsOn(0,0,255); delay(600000); def(); // Change to default color after 10 minutes }
IFTTT
After adding a few functions it is now time to run or call the functions every time you get a new notification. To add the functionality we will be using a IFTTT recipe. To create your own recipe you need to create an account at IFTTT, and get the account connected to your particle account.
Also add your gmail account, your twitter account and the other notifications you would like to add now. Next it is time to create a recipe, a recipe is simple to create all you have to so is select gmail in the first option and particle function in the next. Make sure you select the right functions as this would light up the internet button at that color.
Testing
After you have set up your recipe now you can power on you photon and every time you get a new notification, all the LEDs on the internet button will change to the respective color. If you want to change the color of the LED you can edit it in the code, you can refer to this website to select the color ranges for your lamp.
Now next it is time to build the Silhouette...
Silhouette Lamp Shade
To design the lamp shade you first need to design the silhouette, I used a superhero themed silhouette and cut it out using a silhouette portrait. If you do not have a silhouette portrait, you can use an X-acto knife. I have attached the designs I used bellow, you can use mine or build one of your own using the silhouette software.
If you are using a silhouette, make sure you set the blade size right or you would have a tough time in getting the cut out, removed from the sticky mat.
Downloads
Lamp
Now cut out the white card stock paper to the length of the lamp you want, it would be easy if you have a reference container to wrap the paper while measuring it. make sure the diameter of the lamp is big enough to fit the Internet button and the LED.
Cut the paper to the required size but do not glue it yet.
Glue the Silhoutte
Now lay the paper flat and glue the silhouette you created on the center of the length of the paper. You can align your silhouette on the paper first before gluing to get the right layout you prefer. After gluing the silhouette use the reference container again to help you glue either ends of the white paper.
After the glue is set simply slide out the container and you should now have a lamp shade which looks like the picture above.
Finishing
Now add the battery and power up the lamp you should also get it connected to the internet. Next cover the lamp with the lamp shades. And that's it you should now have your own silhouette notifier lamp.
If you encounter any problem you can leave a comment below or PM me and I would be glad to help.