How To Use An RTC (Real Time Clock) With Arduino Uno R3 | Make an Accurate Clock!

preview_player
Показать описание
First a simple example using only an Arduino Uno R3 and a DFRobot DS1307 RTC Module - then incorporating an LCD Display + three buttons to make a Functional, Accurate, Digital Clock.

Related Information

Today I will show you the Hello World equivalent usage of a RTC (real time clock) and demonstrate how to create an accurate clock with three functional buttons that will still keep the time even when you pull the plug. I'll show exactly how to use a RTC, how to bread-board and how to make three components, a DFRobot Gravity: I2C DS1307 RTC Module, a DFRobot Gravity: I2C LCD1602 Arduino LCD Display Module and the Italian micro-controller stallion that is the Arduino Uno R3 work in harmony. The Arduino Uno R3 is perfect for a job like this as we can tell it exactly what to do and it will perform that job every time and the instant it turns on. It also has great support for all kinds of maker hardware so you can use it for this project then pull it out, re-flash the code and throw it into a whole different setup doing a completely different task. The DFRobot Gravity RTC clock used here will function for 5 years from when the button battery is inserted providing accurate time for that whole length of time. This has the new version DS1307 RTC module which adopts a high precision crystal oscillator. Testing conducted shows the time error is only about 1 second in 24 hours (for comparison the average time error of Mechanical Watches is about 20s). For this setup here I used a DFRobot Gravity LCD Display. This one is neat because the contrast is automatically done (no fiddling with a potentiometer required) and it comes backlit out of the box. I explain all the code, how to set up Arduino IDE and provide schematics. With all the code already downloaded to the Arduino, this would make for a very fun bread-boarding experiment with a very rewarding conclusion. It is very tactile and would consistently tell the correct time even when powered down. I can see it being implemented as a school lesson over a double period. I also see this as a great springboard to create your own clock creations with the Arduino being used with other exotic display methods (like Nixie Tubes) or improving the code to creating new features (such as multiple clocks running for different locations in the world).

Core Electronics is located in the heart of Newcastle, Australia. We're powered by makers, for makers. Drop by if you are looking for:

0:00 Intro
0:13 Real Time Clock Overview
0:44 Simple Connecting RTC to Arduino
1:27 Simple Schematic
1:31 Button Battery into RTC
1:41 Connect Set-Up to a Computer
2:00 Arduino IDE Set-Up and Flash Code
2:53 Establish Communication with RTC!
3:22 Quick Look at the Code
4:06 Lets make an Accurate Arduino Clock with LCD Display
4:16 Time-lapse
4:26 Schematic of Accurate Clock
4:31 Overview of Accurate Clock
6:47 Flash the New Code to the Arduino
7:30 Let Me Show You Its Features
8:06 Outro
Рекомендации по теме
Комментарии
Автор

Such a good explanation for an Arduino circuit. So easy to follow even though these projects can be so confusing and intimidating. Thanks for the great video!

dtape
Автор

Clear explanation, clear sound, clear English, not too loud or too quiet, no annoying background music...
Thank you for making a professional video!
👍🏻

UserName-cbjz
Автор

Outstanding and very good instructional techniques for this video. This is a very professional . I can see using this in my engineering classes for high school students.

Platttraining
Автор

Wow impressive! I've never seen buttons to set the time. Good job! 👍

decem_unosquattro
Автор

Thanks for showing how to program time without using the PC time, haven't found that anywhere else.

SmithDrewSmith
Автор

I have a similar RTC clock running on an Uno with an LCD display, seems to me the code I used loaded the time from the computer used to program the Uno so I didn't have to set the initial time. The only problem is if/when the time becomes inaccurate or daylight savings comes around, I have to upload the code again. It would be simpler to do it your way. As I have the same components except for the buttons, I will add them next time I need to adjust it. Thank you, really learn a lot from your channel.

jeffschroeder
Автор

Bro, that intro beat got me to subscribe.

mustaqimsufian
Автор

Well explained, thank you for the video

rationalpi
Автор

This is a great tutorial, thank you so much.

I only have a regular lcd 16x2 that comes in the mega2560 kit. Is there much difference in coding or libraries to use this one instead? I have my project set up and the lcd is working. Any help is greatly appreciated

teevee
Автор

Hi thanks for the vid! How can i add alarm to the clock with a button to turn off the alarm?

Name-smns
Автор

Can we add alarm mode in this..if yes can you give me some tips?

AKASH_MEANS_SKY
Автор

I’m still learning and have a long way to go.

Wanting to build a clock with dual time zones (Local and UTC) Date for local, even current temp of my ham shack (or possibly monitoring my Battery temp) can this be done with one Mega or R3 and the large LCD display.

danielhildebrand
Автор

i have to admit this is the best Arduino video I've ever seen, please assist with something, can i set multiple "times" let's say i want to use it for watering my garden but I want it to do it at different time intervals, how must i go about writing the code? thanks in advance

Multimamabolo
Автор

Nice video, can I use this for controlling water spray schedule for my garden? is the clock accurate?

chickenz
Автор

Does the type of RTC you are using matter?

clqemks
Автор

If there's is only one Sda and scl and are connected to RTC and LCD how to differ communication between the two from arduino... Becoz there's only two wires (SDA &SCL) for two components that require seperate sda and scl right... How did you do that ?

basspoett
Автор

Hello, any tips on how to make it so I press a button and it displays the time in the serial monitor?

yuno
Автор

i followed this to the letter but the buttons do nothing and display just scrolls through options as if button stuck on tried different buttons but same

LordAndyvaile
Автор

Great video! One question though. Is it possible to switch the DS1307 with a DS3231 instead? I know a different library is required, but will the final code (the one with the LCD and DFRobot library) work the same?

samuelyoelisliko
Автор

There are a lot of errors in the text file for the clock that has "Include" with no file names and other things so it won't compile! Should have tested this first before publishing it!

stevec