This was one of my first projects. As I researched the Instructables, I saw some projects of alarm clocks, and Bluetooth speakers, but none like this, so I wanted to share with you guys.

In this project I made an alarm clock with an 8 digit display. This clock does not have buttons, and all the configuration is done via IR (infrared), with a TV remote, or any other IR remote. In the early days I put a buzzer, so you could configure two different alarm times (but by changing the code you can put whatever N amount of different alarms you want).

Also I did put a microphone in it, so the display is always off, and just activating when it hears a sound. This is very useful if you don’t want all that light upon your face when you are trying to sleep, and just activates when you clap your hands or whatever. I used a humidity sensor to detect this variable and the temperate too.

In the future I plan to put a relay module, so the Arduino could activate a humidifier when your bedroom gets too dry (because of the air conditioning). Another thing I did was to use an old Sony Ericsson MPS-60 speaker I had to play music from my cellphone, via Bluetooth.

Step 1: Components:

  • Humidity sensor DHT11 – Ebay;
  • Arduino Pro Mini 5V – Ebay;
  • Amplifier 2x3W – Ebay;
  • HX1838 and infrared remote – Ebay;
  • Sound sensor – Ebay;
  • Buzzer – Ebay;
  • 8 Digit display – Ebay;
  • Prototyping PCB – Ebay;
  • Bluetooth receiver – Ebay;
  • Arduino pro mini programmer – Ebay;
  • A tube for the box;
  • Sony Ericsson MPS-60 or any other two speakers you may have;
  • Silicon glue;
  • Plenty of wires, electric tape, common drills and a bigger (flat bit for wood) wich you will use to make the bigger holes for the speakers, and two different old cellphone chargers, to transform 110/220V to 5V, one you will use on the amplifier circuit and the other with the arduino, otherwise when the music is on, the arduino will shut down.

Step 2: Soldering and Mounting the PCB

Start soldering the prototyping PCB following the connections listed below. I used connectors to plug the components, as seen in one of the images above, but it was a personal choice. This way, in future projects I still can change their configuration, add and remove pieces.

  • Sound detector
    • Pin 0 >>> GND;
    • Pin 1 >>> Arduino Pro Mini – Digital input pin 13;
    • Pin 2 >>> VCC;
  • Buzzer
    • Pin 0 >>> GND;
    • Pin 1 >>> Arduino Pro Mini – Digital input pin 12;
    • Pin 2 >>> VCC;
  • Infrared sensor
    • Pin 0 >>> GND;
    • Pin 1 >>> VCC (the positive pin is the middle one, watch out);
    • Pin 2 >>> Arduino Pro Mini – Digital input pin 12;
  • DHT11
    • Pin 0 >>> VCC;
    • Pin 1 >>> Arduino Pro Mini – Analog input A0;
    • Pin 2 >>> Not Used;
    • Pin 3 >>>GND;
  • Display
    • Pin 0 >>> VCC;
    • Pin 1 >>> GND;
    • Pin 2 >>> Arduino Pro Mini – Digital input pin 04;
    • Pin 3 >>> Arduino Pro Mini – Digital input pin 05;
    • Pin 4 >>> Arduino Pro Mini – Digital input pin 06.

Note: the digital pins can be anyone you want, but the DHT11 have to be an analog input pin. You can change the pins inside the code. I suggest you try your assembly on the breadboard first before soldering. At last you just have to connect the 5V fountain on the VCC and GND of the arduino, and that’s it.

Step 3: Soldering and Mounting the Speakers

This part is easy. Just solder the amplifier pins using the image as a guide. The amplifier has positive and negative pins that will come from a different 5V fountain (than the one that goes to the arduino), two pins for each of the speakers you have, and three others that goes on the stereo sound cable: one is the common, one is for left channel and one for right channel.

Use the drills to make the holes for the speakers and one for the microphone, and one for the buzzer. Glue everything with silicon. Plug the bluetooth receiver on the audio cable that goes to the amplifier and at last solder positive and negative wires on the USB pins of the receiver (you cant dismount the receiver and solder directly on the board, it’s easy).

Step 4: The Code

Just download the code and install the libraries.

  • #include “dht.h” – GitHub;
  • #include “LedControl.h” – GitHub;
  • #include “Time.h” – GitHub;
  • #include “IRremote.h” – GitHub;

One the #define section, I named the code from the infrared remote for each of the numbers pressed. In case you have a different remote, from a different manufacturer, you just open the serial monitor and look for which code the remote sends on each button pressed. The numbers are named in Portuguese –sorry for that :p. The names “BOT_OK”, “BOT_MENU” and “BOT_VOLTAR” are for the buttons “enter”, the right arrow, and the left arrow respectively. These last two are responsible for changing what is displayed, forward and backward. The display’s instances are:

  • Nothing to be displayed;
  • Time (hours.minutes.seconds);
  • Humidity and temperature;
  • Alarm 01;
  • Alarm 02;

I configured two different alarm times, however the code can be adjusted to fit as many alarms as you want. When you set on and off the alarm, the buzzer makes a sound with two beeps. When the alarm rings, it will stay ringing for 30 seconds (annoying seconds) or you have to press the “enter” button in order to set it off. You can put new functions on the buttons. Also, when ringing, the display will show the word “Acorda”, which is the Brazilian term for “Wake up”. I guess you can adapt that for you own language. The code is available to download on GitHub, here.

Step 5: Final Words

In the future, if one wants to control the humidity inside the room, you can buy this relay module (Ebay) and create a situation that if the humidity falls below, let’s say, 40%, it activates a humidifier, so you can have a glorious nap time, with the air conditioner turned on, without waking up with your throat dry.

There are several ports of the Arduino which weren’t used. You can have many ideas to take advantage of that and from the fact that you already use a sound sensor. For example, one can put leds inside it to blink as the music plays on the speakers. Or to intensify their light according to the time (hour) of the day, brighter during day and darker during the night. If you used an RGB led, you could change its color via remote control, how cool would it be that?

Well, that’s it guys. Hope you guys liked, please comment and follow my channel. See you in the comments section! Bye.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s