Materials required and general help !!!

Hello, a COMPLETE noob here. I really need some help and quick.
I need to make a alarm clock and i have no idea how. Me and my partner are doing this project and he has a bit more knowledge about this then i do but really speaking we both are shooting into the dark. First of all i dont even know what are the things required. Any help would be a great help , even listing the materials would be a great start.

I mean i have a basic idea how to do it and what are the things required but any help is appreciated. And i am really excited about this project. any help would encourage me for future projects too. thank you

If you need an alarm clock quickly then just buy one. They are cheap.

If you want to take the time (pun intended) to learn Arduino programming we will be happy to help.

Get yourselves an Arduino Uno and study some of the example programs that come with the Arduino IDE. Most of the techniques that you will need are in one or other of the examples.

...R

The Arduino itself can keep basic track of time but if you switch it on and off it will need to have the time reset. You can get round this by adding a Real Time Clock card these are cheap, accurate and run for years and years.

Then you need to think about exactly what type of clock you want. You can have a standard one with mechanical arms, a digital one, a steam punk one - the limit is your imagination.

An Arduino + RTC + some form of display + some form of alarm is all you need for a basic alarm clock. Add a few buttons (push buttons, rotary buttons, switches) for control.

That's what you need for an alarm clock.

Now it's up to you to, for starters, fill in the details.
What display? E.g.: 1602 LCD, 4x7-segment LED, clock face with hands, etc.
What alarm? E.g.: bell, buzzer, flashing lights, SMS notification, setting off some firecrackers.
How should the user control the thing? What kind of buttons and how many, what exact interactions to set time/alarm, how many alarms, etc.
When you have the basic design planned for, you can think of what components you need. The controller, the buttons, the type/size of display, the firing mechanism for your fireworks, the drivers and other components, power supply, etc.

Oh, it won't be quick. Even if you have all the components you would want on hand. You don't seem to even have a design yet for your clock, let alone a selection of components.

wvmarle:
An Arduino + RTC + some form of display + some form of alarm is all you need for a basic alarm clock. Add a few buttons (push buttons, rotary buttons, switches) for control.

That's what you need for an alarm clock.

Now it's up to you to, for starters, fill in the details.
What display? E.g.: 1602 LCD, 4x7-segment LED, clock face with hands, etc.
What alarm? E.g.: bell, buzzer, flashing lights, SMS notification, setting off some firecrackers.
How should the user control the thing? What kind of buttons and how many, what exact interactions to set time/alarm, how many alarms, etc.
When you have the basic design planned for, you can think of what components you need. The controller, the buttons, the type/size of display, the firing mechanism for your fireworks, the drivers and other components, power supply, etc.

Oh, it won't be quick. Even if you have all the components you would want on hand. You don't seem to even have a design yet for your clock, let alone a selection of components.

me and my partner have been talking and the basics would be to get an Arduino and attach a rtc1307 and a lcd (something like 1602 LCD Module) and 2-3 buttons. for bell, i think we will attach a relay module !! and heres the situation, for me to learn i need the board and to get the board i dont know what to ask for ! Heres the list i made for everything i need for the project,
1- arduino
2- Rtc 1307
3- 1602 LCD Module
4- ac buzzer
5- male-male jumper cable
6- Relay module
7- power suply (5-9v??)
8- Resistors (??)
10- 3-4 buttons
11- digital multimeter
12- breadboard

Robin2:
If you need an alarm clock quickly then just buy one. They are cheap.

If you want to take the time (pun intended) to learn Arduino programming we will be happy to help.

Get yourselves an Arduino Uno and study some of the example programs that come with the Arduino IDE. Most of the techniques that you will need are in one or other of the examples.

...R

its more about learning then the clock, and i know i must come off as a arrogant noob who wants to learn everything quick but the situation is complicated. and thank you for responding. it would be a honour to learn these stuff from nice people such as yourself !!

ardly:
The Arduino itself can keep basic track of time but if you switch it on and off it will need to have the time reset. You can get round this by adding a Real Time Clock card these are cheap, accurate and run for years and years.

Then you need to think about exactly what type of clock you want. You can have a standard one with mechanical arms, a digital one, a steam punk one - the limit is your imagination.

Its more like a bell for class, when a certain time hits its ring for some time and repeat everyday !!! more of a alarm then a clock.

Power supply: best use a 5V supply, connect to the Vcc pin, bypassing the on-board regulator. Your relay probably works on 5V as well, and can not be powered from the Arduino.

I don't see the button part in your list. Think carefully about how you want to set/change alarms.

wvmarle:
Power supply: best use a 5V supply, connect to the Vcc pin, bypassing the on-board regulator. Your relay probably works on 5V as well, and can not be powered from the Arduino.

I don't see the button part in your list. Think carefully about how you want to set/change alarms.

i watched some youtube video and online guide about similar projects and they used 2-3 buttons combination to change and set the time and i have 0% idea about coding, but i know a little bit of c so i guess i will figure that out.
and hey is the list ok ?? or should i add or remove some stuff ??

Looks like a reasonable starting point.

Maybe add a simple DC buzzer for your prototyping. When you're ready to build the real thing you're going to have a new list anyway (breadboards and jumper wires are great for prototyping, not suitable for anything that has to work longer than half a day - get perfboard or stripboard and a Nano and proper wiring for that).

An Uno should do the job.

As @wvmarle says you need to think carefully about how you will interact with the clock e.g. ;

  • What is the maximum number of times the alarm needs to go off each day.
  • How long is the alarm to ring for (does it always ring for the same length of time).
  • Does the alarm ring at the same or different times each day Mon...Fri, what about Sat/Sun.
  • Does it matter what the date is or is only the day of the week important.

The interface may be one of the hardest parts of the system to get right, depending on what you specify. It is probably not a bad idea to look at how similar systems have solved the interface problem e.g. perhaps the timer on a boiler.

Initially I would start with just hard coding times into my sketch, then add the interface to change the settings later.

Do not try to write the whole program at once. Build it up gradually. Print "Hello world". Read and print the state of the buttons. Add the display and print the button state on the display. Add the relay and operate the relay when a button is pressed. Add the RTC and print the time on the display. That way you are always making progress, and you always have something that works.

my friend has a bit more knowledge about the matter, so ignoring my skill level how long should we estimate the project to last ?? its like we have to finish the project in a given window but we are allowed to ask for reasonable time, how long should we ask for ??

mr_pea09:
my friend has a bit more knowledge about the matter, so ignoring my skill level how long should we estimate the project to last ?? its like we have to finish the project in a given window but we are allowed to ask for reasonable time, how long should we ask for ??

That really depends on your skills, how much time you can put into it, and exactly what you specify.

An alarm that goes of once a day every day is a lot simpler than one that can go off several times a day depending on what day of the week it is and the date.

Also if you don't already have the parts allow time for delivery.

I would keep the spec as simple as possible and ask for as much time as you can get.
You can then complete the project ahead of time and make further improvements.

What is the maximum time you can get?

ardly:
That really depends on your skills, how much time you can put into it, and exactly what you specify.

An alarm that goes of once a day every day is a lot simpler than one that can go off several times a day depending on what day of the week it is and the date.

Also if you don't already have the parts allow time for delivery.

I would keep the spec as simple as possible and ask for as much time as you can get.
You can then complete the project ahead of time and make further improvements.

What is the maximum time you can get?

i will meet with the person tomorrow and finalize everything and then i will make an update here. Thank you very much for giving so much time here today, hope i can learn a lot more from you.

I've programmed almost the exact same thing.
Took me about 12 hours iirc.
Could have used the button library of course but it was more fun to write my own code for short press, long press, rate repeat and debouncing (to give a single push button multiple functions). Would have easily saved me half the time.
Multiple alarms, set day by day, repeating on a weekly basis. All stored in EEPROM.
Didn't do the hardware part though. Would've taken a couple more hours with all parts ready (not counting building a nice case and building it into that nice case, just the basic wiring). My test rig was a Pro Micro where a jumper wire replaced the buttons, and an LED the alarm.

If you haven't bought the RTC yet, consider using a DS3231 instead of the 1307. It's cheaper, easier to use, more accurate, and does not require an external crystal. Also, it is fully compatible with any code for the 1307 as well.

As a complete noob you will not remotely do this in 12 hours, but that gives you a benchmark for the time an expert would need. People in the forum will help you when you get stuck but they will not do the work for you.

You can sit down and blitz the thing but you will come to points where you are banging your head off the wall and no matter how hard you look you will not see the problem. In my experience it is then best to take a break, perhaps even a couple of days, and then the solution will just pop into your head. So build in slack time and also time for experimentation.

The Arduino IDE uses C++ but for simplicity you can essentially program in C. There is a book "The C Programming Language" by Kernighan and Ritchie that is very helpful, I think there are copies online. For this project I would not work through all the examples but keep it for reference and use it if statements are not working the way you are expecting.

There are two of you but probably only one Arduino so you might find it speeds things up to use online compiler to test out and understand snippits of code;

Put plenty of print statements in your program so that you know where it is going and what it is doing.

Good luck, have fun.

A major thing I ran into was deciding how those buttons were to act: what does a short press do, what does a long press do, what does holding the button do - in each situation/state. Setting alarm, setting time, checking alarms, alarm ringing, etc. It ended up being a rather complex state machine, and keeping an overview of what was going on can be tricky.

Organising the program is a major part in keeping it from becoming spaghetti code - this basically means, when you start programming, the first thing you do is switch off your computer, grab some paper and pencil, and start writing down the behaviour and how it all links together.