Approaches to creating an Arduino based alarm clock.

Hey guys. Thanks in advance if anyone can help.

I thinking there might be two different approaches I could take to developing an alarm clock. Googling "ARDUINO alarm clock" brings up what appears to be a pretty solid guide for what might be considered an conventional approach. You got a little LCD display with the time, and some buttons to control when the alarm goes off.

But I wonder if a better more usable solution would be one that integrated with a computer or smart phone. So my question to the community is: Is there a arduino or other board where I could setup something like, whenever you receive this particular wireless command, set off the alarm?

The reason for my thinking this, is it wouldn't be to difficult to build an easy to use, feature rich alarm clock app on a smart phone. But doing the same thing on a arduino board (which with i would want to be as small as possible) seems daunting.

P.S. Is there any excel style list of boards where I can compares specs of different boards. (Size, inputs, outputs, bluetooth, Real-Time-Clock, etc). I'm a bit a noob here, and and having a hard time getting started. Rather then needing to ask the forum this question, how might I answer it on my own?

Thanks!

You have to ask yourself why anyone with access to all the alarm clock apps already available on smartphones would want an Arduino-based alarm clock controlled by yet another app.

Haha fair enough.

I want the lights in the room to turn on, or better yet fade on. Waking up in the pitch blank sucks (in the summer its light when i wake up and i love life, in the winter its dark and every morning i hate waking up).

The only way I can think to accomplish that is with an Arduino. I know there are alarm clocks that do it for you, but i'd really like to wire it into my ceiling light.

Sorry for bringing up an old topic but I am interested in something similar as well.

I want to build an alarm where I can program multiple alarms using bluetooth.

I am working on a VERY full featured alarm clock. It includes an Astrolabe and calculates sunrise, sunset, moon phase, and tides and other astronomical info. It stays in sync using a GPS receiver. It automatically handles daylight savings time. It talks using an MP3 module. It stores and announces 100 different holidays, birthdays, and anniversaries. The regular alarm only goes off on weekdays that are not official government/bank holidays, with separate alarms for a spouse, and different alarm times for weekends, one-off alarm times for certain holidays/anniversaries/birthdays. It does countdowns to Christmas and my birthday.

Well, it doesn't do all this stuff YET, but I'm getting there. I've got almost every aspect of it working individually, now I'm integrating it all together. The biggest problem I'm facing that I haven't solved yet is just how to display the huge trove of information it generates.

The Arduino is capable of all of this, so it shouldn't have any trouble doing what you are wanting to do. I hadn't thought of adding bluetooth and controlling it with my phone though. Hmmmmm, new feature! Bluetooth modules are available cheap enough and there are plenty of examples for using them with an Arduino. And Philips makes some LED bulbs that are controllable via bluetooth, with full fading and color control, so you could use one of them in your bedroom and have the Arduino clock control it.

Consider integrating that solution with a calendar service so that you don't need to enter and maintain all those appointments and reminders manually. Various online suppliers such as Google and Microsoft and Apple provide services which make it easy to keep contact and schedule info synced between devices.

(Also consider whether it would be more sensible just to use a smartphone as your alarm clock since it would do all of this straight out of the box.)

@DrWizard

That is awesome. I am just a beginner and so my project is small as well.

just need this.

  1. The bluetooth will be able to change the time, number of alarms, and time of various alarm
  2. The arduino will go off at these specified times
  3. I want to use either a physicial button and/or pressure sensor to turn off the alarm

Does this seem too complicated for a beginner??

Any resources I should look at to start off and also would an arduino starter kid and a bluetooth module be enough for this project???

Thanks.

@peterH

I want the alarm to work stand alone without the phone. so even when the phone is not there the alarm should work. the phone will be used just to program the arduino.

Thanks.

So far I have ordered the starter kit, some buzzers, leds, real time clock and bluetooth modules.

Hopefully that is all I would need.

As I mentioned, I have a lot of features planned for my own clock. Rather than try to write it all at once, I broke it into separate steps. I got all of the individual pieces figured out, now I'm trying to put them all together.

I would suggest you take a similar approach. Break the project up into little baby steps. You should try the following steps, in roughly this order. If you get stuck on one part, you can work on another for a while while you try to get help on the step you are having trouble with. 1) Figure out your display. You haven't mentioned one, but I'm sure you will want one of some form or another. Are you going to use an LCD character display? They are probably about the easiest to work with and cheap. Get the library for it and familiarize yourself with it. Write some code to display a static, non-changing time to it. 2) Get the time.h library, or better yet, the time32-swfltek library. Familiarize yourself with it, and write code to display the current time on the LCD. 3) Hook up the real-time-clock module and the library for it. Familiarize yourself with it, how to set it, and how to sync the time library to it. 4a) Hook up your buzzer to one of the output pins. Add a specific alarm time to your code, stored in a pre-defined variable, and make the buzzer sound at that time. 4b) Hook up your button. Write the code to make it stop the alarm. 5) Create a protocol or format by which you can send data to the Arduino to change the alarm time variable. Figure out a command that can be sent to get the Arduino's attention*, a format the time should be sent in such as hh:mm:ss, and possibly a checksum at the end of the command. Test this using the serial monitor. *The attention command is a unique series of characters that indicates to the arduino "Hey, I'm talking to YOU! Start paying attention now and read this data to set the alarm". Normally, the Arduino should ignore most of the background crap it receives via bluetooth, until it gets that attention command. Likewise, you need a command to terminate the connection and tell the Arduino to start ignoring everything again, at least until it receives another attention command. It is a good practice for the terminator command to also include some sort of checksum or error-checking to ensure the data was received correctly. 6) The bluetooth module is just another serial device, similar to the serial monitor. Hook it up and send the same commands via bluetooth that you did using the serial monitor while testing. For initial testing, you may want to use a bluetooth adapter on the computer, and use a terminal program (almost the same as the serial monitor) to send data out the com port to the computer's bluetooth adapter. 7) As for sending the commands over bluetooth from the phone, I'm not sure what to tell ya there. It's certainly possible, and shouldn't be too hard, I'm just not familiar with how to do it. Ultimately, you will probably want to write your own app for the phone. But for testing purposes, you can probably use some sort of terminal app on the phone (similar to on the computer) Perhaps someone else can make some suggestions here?

At each step, look at the examples for the related libraries, and download similar programs written by other people and posted here to study them and see how they work.

How are your programming skills? Have you written other programs for say, Windows or your phone? Are you just new to Arduinos and microcontrollers, or new to programming too? Have you worked in another language such as BASIC or Java?

Funny that nobody has mentioned wanting or needing a RTC (real-time block). I guess the person with the GPS receiver doesn't need it because you get the time from that. But for a non GPS receiver, you're going to want an RTC that runs off a battery so that you don't lose the time if you lose the power to your house. I used a RTC ic that has i2c communications that I pulled off a junk circuit board I scavanged, as well as a crystal (needed for the RTC) and a CR2032 battery and holder. I have been working on building a clock, except I decided to use a Raspberry Pi instead so that I can have cheap internet access to my clock. My clock does some web requests and parses data out and scrolls them by on an OLED display and projected onto the ceiling using a jeweler's magnifying lens. I could have done this with a YUN, but in the case the Pi was at least 1/3 of the cost of a Yun.

DrWizard: I am working on a VERY full featured alarm clock. It includes an Astrolabe and calculates sunrise, sunset, moon phase, and tides and other astronomical info. It stays in sync using a GPS receiver. It automatically handles daylight savings time. It talks using an MP3 module. It stores and announces 100 different holidays, birthdays, and anniversaries. The regular alarm only goes off on weekdays that are not official government/bank holidays, with separate alarms for a spouse, and different alarm times for weekends, one-off alarm times for certain holidays/anniversaries/birthdays. It does countdowns to Christmas and my birthday.

Well, it doesn't do all this stuff YET, but I'm getting there. I've got almost every aspect of it working individually, now I'm integrating it all together. The biggest problem I'm facing that I haven't solved yet is just how to display the huge trove of information it generates.

The Arduino is capable of all of this, so it shouldn't have any trouble doing what you are wanting to do. I hadn't thought of adding bluetooth and controlling it with my phone though. Hmmmmm, new feature! Bluetooth modules are available cheap enough and there are plenty of examples for using them with an Arduino. And Philips makes some LED bulbs that are controllable via bluetooth, with full fading and color control, so you could use one of them in your bedroom and have the Arduino clock control it.

Well , we are now more then 3 years later .... Is your clock working? Since I'm totally new with Arduino and C-programming , I was hoping if you have placed this project somewhere on the internet? Many thanks already!