I am in need of a real time clock with a LED display, will pay if done right and explanation is provided in the code so I could learn about how to do it myself. Currently have no time to do this project, but the deadline is a week away. The requirements:
LCD should have at least 2 rows that fit the following information:
Upper row: Year, Month, Day. (YY/MM/dd)
Lower row: Hours, Minutes, Seconds, Greenwich Mean Time offset. (hh/mm/ss GMT/UTC offset)
Hour format is “24 hours”.
Two buttons are used to change the GMT format. One button is increasing while the other button is decreasing the offset from min to max value (-12 to +14). No overflow can occur. Year, Month, Day and Hour values changes according to offset, where default value is GMT-0.
Three additional buttons should also be used:
a. First button is used to cycle through the Upper and Lower row values (excluding Greenwich Mean Time offset). Current active value selection indication can be chosen freely.
b. Second button is used to increase the value of the active selection.
c. Third button is used to decrease the value of the active selection.
Would also pay if someone would teach me how to make this myself, since I want to learn this, but do not have too much time.
Sounds like a school project to me. Hopefully you are not trying to pay someone (I assume you are offering to pay) to do your homework and get yourself credit for someone else's work.
So if this is not a school project and you are willing to pay we need a bit more information
What Arduino
What LCD unit and connection type I.E. SPI/I2C/parallel/Serial
What RTC unit and connection type I.E. SPI/I2C
Chip-sets for both the display drivers and the RTC.
Are you planning to de-bounce the switches in hardware or do you want that to be a software function.
You also mention LED in the title and a bit in the text then start referring to LCD so which is it ?
Bainesbunch:
Sounds like a school project to me. Hopefully you are not trying to pay someone (I assume you are offering to pay) to do your homework and get yourself credit for someone else's work.
So if this is not a school project and you are willing to pay we need a bit more information
What Arduino
What LCD unit and connection type I.E. SPI/I2C/parallel/Serial
What RTC unit and connection type I.E. SPI/I2C
Chip-sets for both the display drivers and the RTC.
Are you planning to de-bounce the switches in hardware or do you want that to be a software function.
You also mention LED in the title and a bit in the text then start referring to LCD so which is it ?
This is not a school project, yet it is a university term project. No, I do not plan to take credit for the work, but I will try to understand the code and change it in my way so that I could defend the term project. Additionally, I did specify that I am willing to pay for teaching me or just creating the whole project.
OK so then if is is an academic project that will contribute to your final marks then getting someone to write it for you is plagiarism by any definition.
If you do some research and use the examples to be found with all the libraries that you will need to stitch this together that is how you will learn.
Adafruit have libraries for all their products along with examples of how to use them.
I would start by deciding which of their products you will be using then install the required libraries into the Arduino IDE. Open up the plethora of code examples that will come with those libraries and start learning.
Bainesbunch:
OK so then if is is an academic project that will contribute to your final marks then getting someone to write it for you is plagiarism by any definition.
If you do some research and use the examples to be found with all the libraries that you will need to stitch this together that is how you will learn.
Adafruit have libraries for all their products along with examples of how to use them.
I would start by deciding which of their products you will be using then install the required libraries into the Arduino IDE. Open up the plethora of code examples that will come with those libraries and start learning.
Good luck, but most of all have fun.
I do wonder if you're reading what I said. I said I'm offering pay if someone teaches me how to do this or provides a code that I could examine and learn. Not only you skipped this once, but twice.
I already did some research into this and have attended all lectures of this subject, however I simply do not have time to make in in time most likely, that is why I'm searching for help. In a forum. Full of people that have more experience than me.
Although I do appreciate your suggestions, but I already went through multiple libraries, forums and examples of projects that are similar to mine but could not find stuff like:
changing GMT offset, cycling through selection and changing the values.
Anything in that department would be appreciated.
kazkas:
however I simply do not have time to make in in time most likely, that is why I'm searching for help.
Oh, that makes it OK. I'd suggest that next semester (in addition to repeating this course) you look into a course in Time Management. Kind of a Life Lesson.
but I will try to understand the code and change it in my way so that I could defend the term project.
I assume that means putting your name at the top.
Additionally, I did specify that I am willing to pay for teaching me or just creating the whole project.
Most people would opine that makes the plagiarism more egregious.
gfvalvo:
Oh, that makes it OK. I'd suggest that next semester (in addition to repeating this course) you look into a course in Time Management. Kind of a Life Lesson.
I assume that means putting your name at the top.
Most people would opine that makes the plagiarism more egregious.
I like how people in forums always act like they know every intricacy of the person they're talking to that simply needs help with something. You don't even know what happened during the semester and why I am in a lack of time, yet you're still judging a person while skipping over all the parts that clearly show that I'm willing to learn with some help. This whole time from the creation of this thread and an hour or two before it I've been researching rtcs with lcds, how to implement utc and line selection in them to no avail.
"putting my name at the top" does not make it passable by any means since I still have to defend the project, meaning I have to understand it, which I'm trying to do - literally said that I'm willing to pay if someone explains it, but you skipped over it.
"Most people would opine that makes the plagiarism more egregious." - yes, just creating the whole project and, as stated in the literally first post of the whole thread - "will pay if done right and explanation is provided in the code so I could learn about how to do it myself."
Maybe instead of giving life lessons, you should try simply helping a person in need and not picking out stuff out context. But that's just my two cents.
You have been given the best advice that you can have from this forum.
"GO AND LEARN" we have even pointed you at all the material you will need to makes this work.
Getting someone to write this code for you will teach you only one thing and it is not how to code.
If you think the responses you are getting are harsh, wait till you have to write some code for an employer with deadlines depending on your "supposed" skills.
You may get someone to write code for you to be able to ease your path to your qualification but most of the members in this forum are time served and either self taught or school taught. They make their living from writing code that they know will work because they know what they are doing and as such they will not aid someone into cheating their way to elevate their position to equal theirs as experienced engineers.
Getting to the level most of us here are at requires hard work and time, neither of which you seem to want to contribute.
If you have had personal issues that have impacted on your ability to deliver this project then it is your lecturer that you need to be talking to. Extenuating circumstances are a valid reason to extend deadlines.
This assignment appears to be well thought and the end result will be a useful clock. It is not a trivial exercise.
I personally would have added automatic DST correction and, may be, an alarm clock function.
If you are able to take a existing Arduino clock project which uses the same basic components (LCD 1602 , DS3231), of which there are many examples, and get that working first, that should give you something to start with.
Missing would be the time setting functions. Here it is mainly representing the whole display as an array and copying groups of characters into a copy of the array, depending on what buttons the user presses and, at the end, performing an update based on the copy of the array. The GMT offset will have to be stored in EEPROM if you want that to be respected at the next system restart.
You may have to get to understand a bit about handling epoch times (numbers of seconds since a particular start date) to easily interchange between local time and UTC.
You have also got some decisions to make.
Whether to store the time in the RTC in local time or in UTC.
How to represent the currently active parameter in clock setting mode. Eg. If you are changing the hours, are the hours digits going to be flashing, reverse highlighted, etc.
How do you handle a user wanting to abandon any changes clock setting mode? Add a confirm option and a time out if the confirm option is not selected within X seconds ?
Since it is an academic exercise, you obviously have to do it yourself, but if you have specific questions about detail you can ask.
(No personal messages)
6v6gt:
This assignment appears to be well thought and the end result will be a useful clock. It is not a trivial exercise.
I personally would have added automatic DST correction and, may be, an alarm clock function.
If you are able to take a existing Arduino clock project which uses the same basic components (LCD 1602 , DS3231), of which there are many examples, and get that working first, that should give you something to start with.
Missing would be the time setting functions. Here it is mainly representing the whole display as an array and copying groups of characters into a copy of the array, depending on what buttons the user presses and, at the end, performing an update based on the copy of the array. The GMT offset will have to be stored in EEPROM if you want that to be respected at the next system restart.
You may have to get to understand a bit about handling epoch times (numbers of seconds since a particular start date) to easily interchange between local time and UTC.
You have also got some decisions to make.
Whether to store the time in the RTC in local time or in UTC.
How to represent the currently active parameter in clock setting mode. Eg. If you are changing the hours, are the hours digits going to be flashing, reverse highlighted, etc.
How do you handle a user wanting to abandon any changes clock setting mode? Add a confirm option and a time out if the confirm option is not selected within X seconds ?
Since it is an academic exercise, you obviously have to do it yourself, but if you have specific questions about detail you can ask.
(No personal messages)
Finally some useful advice, not just "go code". As you suggested, I took a basic arduino project with the two components I need and found some code and applied it, now I do have a base to work with.
As per your advice, I will try to find any information regarding copying of arrays, GMT offsets that are stored in EEPROM and so on, so thank you for the advice.
Will ask if I need any specifics!
kazkas:
Finally some useful advice, not just "go code". As you suggested, I took a basic arduino project with the two components I need and found some code and applied it, now I do have a base to work with.
As per your advice, I will try to find any information regarding copying of arrays, GMT offsets that are stored in EEPROM and so on, so thank you for the advice.
Will ask if I need any specifics!
Hmmm did you miss the part where 6v6gt said "Since it is an academic exercise, you obviously have to do it yourself, but if you have specific questions about detail you can ask."
perhaps if you had come to the forum with some specific requests rather "I want to pay someone do do my homework" you may have been better received.
6c6gt has not suggested anything more then the rest of us and still told you to go and research it yourself.
So ask specific question and we will try to answer them.
Bainesbunch:
Hmmm did you miss the part where 6v6gt said "Since it is an academic exercise, you obviously have to do it yourself, but if you have specific questions about detail you can ask."
perhaps if you had come to the forum with some specific requests rather "I want to pay someone do do my homework" you may have been better received.
6c6gt has not suggested anything more then the rest of us and still told you to go and research it yourself.
So ask specific question and we will try to answer them.
You seem quite keen on proving your argument to me or rather to yourself, since you keep putting my words out of context, providing half sentences and also trying to incite more arguments even though I did not reply to you, I simply thanked for useful advice. Not only that, but you haven't helped me a bit. Advice like "go check libraries" (when it's the first thing I did) and to just "go code" is not helpful. 6v6gt specified what I should look into and I did.
Nonetheless, have a great day and try to better yourself instead of doing whatever you were trying to do here.