Introduction: Arduino-based Connected Wake Up and Ambient Light

About: The opinions in my posts are personal and not necessarily shared by the company I work for. Sometimes I don't agree with myself either. PhD in Computer Science and Engineering.

Hi all,
Hope you like this Instructable. If you do, please consider voting for it using the "Vote!" Button that you see on the top right of this frame (if you are on a computer), or on the bottom of the page before the comments (if you are on a mobile device). Then click on "Vote" for each of the three contests where I'm involved.

For the "Arduino" contest, please assess the use of the microcontroller and the automation.

For the "Make it glow" one, please assess the overall glowing result (check the videos as well).

For the "Remix", please assess the re-use of other projects and ideas, mainly taken from this other project:

https://www.instructables.com/id/Arduino-based-Gre... plus the concept of the Philips wake up lights:

http://www.usa.philips.com/c-m-li/light-therapy/wa...

Thanks! :)

========================

What?

Arduino-based connected wake up and ambient light. I can set an alarm and a duration, and the lamp will mimic the sunrise starting at (alarm-duration).

As for my first Instructable, I wanted to build a project having in mind three objectives:

1) it must be useful: many projects we can find on Internet are scientifically challenging, and many times they are cool&fun. But they may miss the long-term usefulness, or large audience impact. I wanted to build something me and my family would use everyday, so that readers would find it useful too.

2) it must look cool: I didn't want to end up with something which looks patchy, ugly, that nobody would like to show in his/her own house. Something as close as possible to a real product.

3) it must be fun: this is really for the builder :) something which you'd enjoy replicating and playing with, while meeting the criteria above. I tried to fulfill the above as much as possible, you're the judges, your views, favorites, and votes will be my measure of success! :) enjoy!


Why?

I like the idea of being gradually awakened by a combination of light and sounds, instead of by a loudly buzzing alarm that I'd only want to throw out of the window every time :) Then, why not adding some other features, like making it an ambient light, controllable by a mobile app (via http) ?


How?

I used the following components, scroll down for the building steps:

1) 1m ws2813 rgb LED strips:

https://www.aliexpress.com/item/NEW-DC5V-1m-4m-5m-...

get the non waterproof version, with 60 leds/m. Note you can do this with ws2812 and ws2812b LEDs as well, the light will be exactly the same and these are cheaper. The ws2813 are just more reliable, as they have a redundant data connection, so if you break one LED, the rest of the strip will keep working.

2) an Ikea Fado lamp:

http://www.ikea.com/ie/en/products/lighting/table-...

This was 15€, roughly 18$.

3) as wifi-enabled micro-controller, I have used a Wemos D1 mini:

https://www.aliexpress.com/store/product/D1-mini-M...

4$, or roughly 3.5€

4) one 5v, 2a power supply, soon to be replaced with a 3a on

https://www.aliexpress.com/item/1PCS-5V-3000mA-3A-...

This was 3.5$. Note that you'll have to reduce the maximum brightness unless you use a power supply with at least 4A.

5) some spare dupont cables

Step 1: Bring the Correct Current Inside the Lamp

Remove the plug at the end of the electric cable from the Fado lamp. This will expose the two cables that you can plug in a barrel adaptor that you'll attach to the power supply.

Inside the lamp, place (read: solder) two dupont cables to the positive and negative of the lightbulb holder. Put the other ends of the dupont cable inside the positive and negative of a barrel jack where you'll insert the other cables as in the next step.

Step 2: A Bit of Wiring

Take the Wemos D1 mini. It comes with no soldered headers. You can go ahead and solder them, or you can do like me: place the headers from the bottom, and insert the dupont cables from the top. There is enough friction to keep everything in place.

With dupont cables, connect the 5v pin of the Wemos to the positive of the barrel jack, and the GND pin of the Wemos to the negative of the barrel jack.

Do the same for the LED strip.

Then connect the green data cable from the LED strip to pin D2 of the Wemos.

Place a capacitor (mine is 1000uf) in the barrel jack, baring in mind the positive and negative pins.

Step 3: Fit the Led Strip

This is the most "difficult" part. After securing the Wemos to the side of the lightbulb holder, you need to roll the LED strip in a way that it will stay together, and that it distributes the light. You can use the bi-adhesive behind the strip to do this.

I made the first lap by sticking the adhesive to the base of the Fado. Then I started going up. On the top, I inserted a spare long screw I had into the lightbulb holder, so it can hold the top of the LED strip.

Insert everything into the glass top and double check that it held all the connections.

Step 4: Program the Wemos

Upload the attached file to your Wemos via the Arduino IDE.

Replace these two lines with your appropriate credentials:

const char* ssid     = "YOUR_WIFI_HERE";
const char* password = "YOUR_PASS_HERE";

You can then control the lamp via http, using the parameters in the url, as specificed in the code, for example:

http://192.168.0.IP_OF_YOUR_LAMP/?c=17&b=9&m=0&s=1484181161&v=5

will turn on the light with a fixed color (color #17). Now, I send the controls via the mobile app I have created for this lamp, and another two from other two projects of mine, though the mobile app is out of scope for this tutorial.

You'll see the mobile app in the video.

Enjoy!