Need some guidance for my starting project

Hi guys,

I am a beginner of Arduino and mechanical engineering, so I need some advices for my first project from you guys!
The idea of the project is about a watch which can record the period of your daily schedule by an intuitive operation.
Clicking the button will separate the period of time. Here is the sketch of the concept.

However, my question is that,firstly, what kind of electronics will it require and what kind of coding programs I should learn about? From all I know is that there should be a timing module for the real time on the device, and maybe write a countdown function for it.

Secondly, is it possible to archive the timing point in the memory of Arduino? If I need to display the information on the watch, what kind of screen module I need to get? (The color of displaying is not actual required.) ex. e-ink screen, OLED display

And the last question, after I accomplish the watch, I would like to build a analogue printer (like a ticker tape timer)to receive the date from the watch. Is it possible to transmit the archived data to another device?

Thanks for reading my article, I am looking forward to hearing your comments!!

Clarity needed first: do you mean that each time the user ends a task and starts a new one, a button is pressed to record the time-of-day? (Presumably so each task's elapsed time can be deduced?)

To kenwood120s,

Yes, the concept is that user could start and end a task by pressing the button, and they can review how much time they used on their each task.

kenwood120s:
Clarity needed first: do you mean that each time the user ends a task and starts a new one, a button is pressed to record the time-of-day? (Presumably so each task's elapsed time can be deduced?)

You will need an RTC as you suspected: have a look at adafruit and sparkfun eg, for their modules based on DS3231 and similar.

Then I think you'll need an SD card module to store the time of each transistion: you might get away with the builtin eeprom but I'd go for an SD card which will give you gigs of space. Also transportable to PC for whatever analysis you may need to do.

Both the RTCs and SDs are supported by readily available and documented libraries.

I have no experience with graphics displays.

Here's a thought: is there any need to differentiate between types of work? Your first post shows different colour buttons but you don't say if that's significant?- does one colour mean say "studying" and one mean "at a lecture" and one is "sleeping"?

As always with this kind of project, best to break it down. You might for instance first work through the tutorials in the IDE and see how to read a button press. Then get the RTC working. Then get it to display the time in the serial monitor when you press a button. Then work through the examples in the SD card library followed by storing the time on a button press. Ertc etc....

You are aware that this is not going to be watch sized aren't you?
If you had said it was going to be some sort of desk clock/calendar that would sound more realistic.

kenwood120s:
You will need an RTC as you suspected: have a look at adafruit and sparkfun eg, for their modules based on DS3231 and similar.

Then I think you'll need an SD card module to store the time of each transistion: you might get away with the builtin eeprom but I'd go for an SD card which will give you gigs of space. Also transportable to PC for whatever analysis you may need to do.

Both the RTCs and SDs are supported by readily available and documented libraries.

I have no experience with graphics displays.

Here's a thought: is there any need to differentiate between types of work? Your first post shows different colour buttons but you don't say if that's significant?- does one colour mean say "studying" and one mean "at a lecture" and one is "sleeping"?

As always with this kind of project, best to break it down. You might for instance first work through the tutorials in the IDE and see how to read a button press. Then get the RTC working. Then get it to display the time in the serial monitor when you press a button. Then work through the examples in the SD card library followed by storing the time on a button press. Ertc etc....

To kenwood120s,

Thanks for your advices! Fortunately, I have already gotten a DS3231 RTC!
I will try the steps you mentioned, and I will keep updating this project here.

BTW, the multiple buttons for different uses, I will think about this idea.

ardly:
You are aware that this is not going to be watch sized aren't you?
If you had said it was going to be some sort of desk clock/calendar that would sound more realistic.

To ardly,

I know that the scale of device may be too big to be a watch. lol
But I think if it is possible to be smaller by removing a display screen?

The main idea of this project is to build a intuitive device(better to be wearable) which can help people to record how much time they have used on their schedule, and review the outcome in some way (e.g. PC or another devices)

thanks!

There is a LilyPad Arduino which is designed for e-textiles and wearables projects. Rather than a watch perhaps the device could be sown into clothing or worn. There is a forum on this site about wearable stuff. There may be ideas in there about how to create an interface users could operate to say when a task starts and ends. Analysis with a PC makes sense but you would need to get the data off the device into a PC, I don't know what facilities the LilyPad has.

Hi guys,
The project is still working in progress, and now the timing is able to be recorded in a micro SD card by pressing button.
Also I can switch the task by a potentiometer before press the button, however, I can recognize the different tasks in the logger.

What I am going to do next is to build a printer to print out the log in some way. (maybe like a dot graph)
And here is the next challenge for me,

  1. How can drive the stepper motors by the text file in the SD card?

I have seen some solutions which use the Processing to read the value from the text file in SD card and send to Arduino. But, does that mean that I have to use a computer to do that? Or I have to get a raspberry Pi to connect with Arduino if I want the printer to be stand alone.

  1. How can I make the the timing data in text file readable for the motors?

As the the log below, obviously, I have to make the data more clear for the motors.

Thanks for reading, I am grateful for your help!

  1. How can drive the stepper motors by the text file in the SD card?

You can't. You need to read the text file, one record at a time, storing the characters in a NULL terminated char array. When you reach the end of a record, parse the data.

How does 23.08.2017 relate to the number of steps a stepper needs to step?

Maybe a better question is just exactly do you want the stepper to do?

Writing programs is all about making the requirements as clear as possible. You aren't doing to hot on that score.

PaulS:
You can't. You need to read the text file, one record at a time, storing the characters in a NULL terminated char array. When you reach the end of a record, parse the data.

How does 23.08.2017 relate to the number of steps a stepper needs to step?

Maybe a better question is just exactly do you want the stepper to do?

Writing programs is all about making the requirements as clear as possible. You aren't doing to hot on that score.

To PaulS,

I am sorry for my poor explanation. The data in the text file is supposed to provide the information to the

stepper how many steps it should move. However, the data is still the timing information which has no

meaning to the motors. I am trying to convert the time information into a meaningful one.

Ideally, the printer is able to output the signals which are stored in the SD card on a form of calendar I

design. I think that maybe the storing data in SD are supposed to be transformed to some simple
figures?(what number of step the motor should go)

Thank you for your advice, I will think it over and more clearly.