Arduino and DS3231 Real Time Clock Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 เม.ย. 2024
  • howtomechatronics.com/tutoria... ► Find more details, circuit schematics and source codes on my official website.
    In this Arduino Tutorial we will learn how to use the DS3231 Real Time Clock Module.
    Visit HowToMechatronics.com for more Tutorials, Tips, Projects and How It Works videos:
    ► howtomechatronics.com/
    Like my page on Facebook:
    ► / howtomechatronics
    Add me on Google+:
    ►plus.google.com/+Howtomechatr...
    Music: Aduro by Jens Kiilstofte (machinimasound.com/music)

ความคิดเห็น • 172

  • @youpattube1
    @youpattube1 7 ปีที่แล้ว +1

    Very good instructional video. There are so many bad ones out there that I was getting discouraged. Thanks.

  • @EricTViking
    @EricTViking 3 ปีที่แล้ว +8

    This is an excellent video, all the info you need to get started in under 4 minutes - thank you 👍 I get fed up with TH-camrs that pad a 5 minute video to 35 minutes - droning on with "blah, blah, blah" and naff video animations (naming no names).

    • @First.Last.99
      @First.Last.99 2 ปีที่แล้ว

      most creators try to hit 10min mark to "get the algorithm going", god bless those who earn money any other way lol, they give info like this, few minutes.

  • @jpb10
    @jpb10 3 ปีที่แล้ว +19

    PSA for anyone using this RTC (DS3231), there is a badly designed charging circuit on this particular module (ZS-042 and probably others). You must either use a rechargeable LIR2032 battery or disable the charging circuit. You can do so by cutting the trace or removing the diode or resistor. Otherwise, using a non-rechargeable CR2032 could cause it to swell and explode. Although, even with a rechargeable LIR2032, the charging voltage is too high at ~4.7 V relative to the spec of 4.2 V, which may also cause issues. The recommenced option is to remove the diode with a pair tweezers or by desoldering, and use a regular CR2032 battery. There is a thread about this issue on the Arduino forums.

    • @goku445
      @goku445 2 ปีที่แล้ว

      Thank you!

  • @arahmankabir8405
    @arahmankabir8405 3 ปีที่แล้ว

    Thank you for your important video on how to add AM PM code to your real time clock.

  • @amirsohailansari7465
    @amirsohailansari7465 7 ปีที่แล้ว

    thank u Dejan
    you always give very useful tutorials..

  • @batmantherooster
    @batmantherooster 4 ปีที่แล้ว +2

    Thanks for the Excellent easy to understand video. I am great at building the circuit but horrible at programming. It’s like I’m terrified of programming

  • @profesorjan7614
    @profesorjan7614 6 ปีที่แล้ว +1

    you gained a new subscriber

  • @redelectron8575
    @redelectron8575 2 ปีที่แล้ว

    Ds3231 in incredible for time keeping projects😍

  • @adamcowlam5527
    @adamcowlam5527 7 ปีที่แล้ว +7

    Way too underated

  • @kobedde
    @kobedde 7 ปีที่แล้ว +1

    tanks mate. Good tutorial.

  • @user-tr6co8mw4j
    @user-tr6co8mw4j 3 ปีที่แล้ว +2

    Thanks for your great simple explanation in this video .How to use a library to set time automatically with DS3231 RTC?

  • @ifell3
    @ifell3 6 ปีที่แล้ว +3

    Great video, i got a 'warning deprecated conversion from string constant to 'char*' -wwrite-strings' but can you clarify this is nothing to worry about? Regards

  • @dheerajp1512
    @dheerajp1512 5 ปีที่แล้ว

    Nice project easy and simple to understand

  • @MilanKarakas
    @MilanKarakas 7 ปีที่แล้ว +6

    Thanks for posting this video. Subbed!

  • @ruitfsilva
    @ruitfsilva 7 ปีที่แล้ว

    Great video, thanks a lot :)

  • @user-ii4yl9oq5d
    @user-ii4yl9oq5d 2 ปีที่แล้ว

    Thanks from China Inner Mongolia

  • @adam.walker
    @adam.walker 7 ปีที่แล้ว

    You're awesome.

  • @shivanighadge
    @shivanighadge 2 ปีที่แล้ว

    Thankyou sir... The video is very helpful but I want to know in which software the schematic is made ... Can you mention the name of software please

  • @Mippi12
    @Mippi12 3 ปีที่แล้ว +5

    0:06 captions
    *"Hello then dogs here from how to catch Onix"*

    • @cessposter
      @cessposter 3 ปีที่แล้ว

      Been playing Pokemon recently will need help

  • @Isotope1213
    @Isotope1213 7 ปีที่แล้ว +2

    can you provide the wiring scheme for the added LCD example? thanks

  • @luthodyiki5902
    @luthodyiki5902 5 หลายเดือนก่อน

    Thank you very much. I’ve got a problem this device after a day the time becomes of by around 6 seconds from the real time how can I fix that.
    Thank you

  • @christiankongsted5084
    @christiankongsted5084 5 ปีที่แล้ว +40

    To anyone that was in my shoes where the serial moniter only prints nonsense, I oversaw the baud rate. If it's making a ton of ????, match your serial moniters baud rate to 115200 (as seen in the video).

  • @LuizCamposTutoriais
    @LuizCamposTutoriais 7 ปีที่แล้ว

    Very good!

  • @virajsumanthraperera1586
    @virajsumanthraperera1586 4 ปีที่แล้ว

    Thanks a lot!

  • @plazmax
    @plazmax 6 ปีที่แล้ว

    you can add temp and alarm to this prject better, ds3231 has temp function but not too good like dht22 but its ok for little project

  • @angalamat2328
    @angalamat2328 6 ปีที่แล้ว +1

    how can i used rtc to trigger a particular time to send a text message ?

  • @lefebvrevanderwalt2435
    @lefebvrevanderwalt2435 4 ปีที่แล้ว

    I have bought a couple of the DS3231 modules. Trying to build a temp logger. All of them get the temperature wrong by 18 deg C even when using different libraries. And it seems they lose a lot of time as well. I guess the time loss and temp is correlated. Any idea why this might be?

  • @TOTA1200
    @TOTA1200 6 ปีที่แล้ว +2

    How can I set the source file for the library. In my project I want to get the time and days and manipulate it to count down to a certain date.

  • @messiah7948
    @messiah7948 6 ปีที่แล้ว

    HI how can i add more than 2 alarm tones in this project??

  • @josecruz1994
    @josecruz1994 7 ปีที่แล้ว

    Thank u so much

  • @mohamedabdelfattah8627
    @mohamedabdelfattah8627 3 ปีที่แล้ว

    Thanks a lot for this helpful video.
    There is a note:
    It works with me when I changed the serial as follow:
    // Serial.begin(115200);
    Serial.begin(9600);

  • @anokhautomation4453
    @anokhautomation4453 2 ปีที่แล้ว

    👌👌interesting

  • @raizen0818
    @raizen0818 5 ปีที่แล้ว

    hi. I want to set a 10 minute down clock. Any idea how I can do it?

  • @kedareswarkaavuri5774
    @kedareswarkaavuri5774 7 ปีที่แล้ว +5

    Subscribed

    • @cessposter
      @cessposter 3 ปีที่แล้ว

      Nobody asked

  • @argilaga
    @argilaga 6 ปีที่แล้ว

    Thanks, the video is very clear.

  • @borisvuckovic1557
    @borisvuckovic1557 7 ปีที่แล้ว

    Cao Dejan, ne pravis ni jedan tutorial arduità na Srpskom?

  • @babyyoda756
    @babyyoda756 3 ปีที่แล้ว

    how did you connect the LCD?

  • @mitropoulosilias
    @mitropoulosilias 6 ปีที่แล้ว

    there is no info on how to connect the LCD. i connect it based on lcd example but dont work with this sketch..

  • @drakethomas652
    @drakethomas652 4 ปีที่แล้ว +8

    I'm having an issue with the programming part. I downloaded both libraries and it still doesn't work but I suspect, based of what I'm reading, that the library is isn't completely identifying certain variables/parts, such as:
    DS3231 rtc(SDA, SCL);
    Serial.print(rtc.getDOWStr());
    Serial.print(rtc.getDateStr());
    Serial.println(rtc.getTimeStr());

    • @garytejeda-godinez4676
      @garytejeda-godinez4676 4 ปีที่แล้ว +1

      I'm having the same issue

    • @mohamedabdelfattah8627
      @mohamedabdelfattah8627 3 ปีที่แล้ว +2

      It works with me when I changed the serial as follow:
      // Serial.begin(115200);
      Serial.begin(9600);

    • @shansh23
      @shansh23 2 ปีที่แล้ว

      @@mohamedabdelfattah8627 Thanks a lot. I was struggling for two hours. Cheers!

    • @edwardowen3212
      @edwardowen3212 ปีที่แล้ว

      @@mohamedabdelfattah8627 I can't thank you enough for this! After an hour struggling I was about to throw it at the wall!

  • @taranagnew436
    @taranagnew436 5 ปีที่แล้ว

    do i need the unisex time and the wait function or no?

  • @razaali17
    @razaali17 3 ปีที่แล้ว +1

    How can I use this setup to connect to a motor and make analog clock in place of a digital one.???? Anyone have any idea ???

  • @strangejmaster
    @strangejmaster 4 ปีที่แล้ว

    Can you make a stopwatch with this?

  • @ateebhassan4655
    @ateebhassan4655 3 ปีที่แล้ว

    can someone tell me where to find the DS3231 library for proteus? Bcz In proteus only DS3232 is available. So, can we use same code for DS3232?

  • @derekschwontz9072
    @derekschwontz9072 6 ปีที่แล้ว +2

    Hello Dejan, where may I find the connections between LCD and Arduino board ?

    • @derekschwontz9072
      @derekschwontz9072 6 ปีที่แล้ว

      Great, Thank you for your answer.

    • @lylorn8484
      @lylorn8484 4 ปีที่แล้ว

      @@derekschwontz9072 where is the connection?

  • @rufaiahmed7664
    @rufaiahmed7664 2 ปีที่แล้ว

    How do I get the RTC to show short date and time 12hr format

  • @adamcowlam5527
    @adamcowlam5527 7 ปีที่แล้ว +1

    Awesome

    • @adamcowlam5527
      @adamcowlam5527 7 ปีที่แล้ว

      No problem, I have the DS1302, but I might buy the DS3231.

  • @maxvandervoort3790
    @maxvandervoort3790 5 ปีที่แล้ว +3

    How can I read out, for example the time, as an integer, so that I can make a alarm clock with it?

    • @HowToMechatronics
      @HowToMechatronics  5 ปีที่แล้ว +1

      You can read the String and then covert it to integer using the string.toInt() function.

    • @maxvandervoort3790
      @maxvandervoort3790 5 ปีที่แล้ว +1

      First of all, thanks for the reaction. But I tried it in multiple ways, but the fact that it uses rtc.getTimeStr(); seems the confuse the system. Is this a matter of notation?
      I have: int i = String.toInt(rtc.getTimeStr());

  • @jakobkatrasnik8684
    @jakobkatrasnik8684 3 ปีที่แล้ว +1

    Does RTC modules change time when the winter of summer time comes?

  • @fortnite......
    @fortnite...... 4 หลายเดือนก่อน

    Where is the circuit diagram for the LCD display?

  • @electronicspassionchannel6622
    @electronicspassionchannel6622 5 ปีที่แล้ว

    Hi!
    I need help about a project to simulate sunrise - sunset with real time clock ⏰.
    E.g. i want to start at 07:00 and stop at 19:00 dimming by time (every 15min) for six hours to peak and onother six hours decrease light to sunset.
    *arduino uno
    *DS1302 Clock Module with Battery
    *AC Light Dimmer Module for PWM control, 1 Channel, 3.3V/5V logic, AC 50/60hz, 220V/110V
    *dimmable led lamp

  • @samymsalak401
    @samymsalak401 7 ปีที่แล้ว

    bonjour je vous remercier j'ai bousoin de programe d'un LCD16-2 avec RTC et Arduino

  • @gseric4721
    @gseric4721 4 ปีที่แล้ว +2

    How exactly would you call the hour/min/seconds separately? I tried the 'now' approach, but for some reason this library doesn't seem to support this.

    • @CoHxBlackWebster
      @CoHxBlackWebster 3 ปีที่แล้ว

      there is a examples called serial hard that shows you how to get hour, min, and seconds separately

  • @RazibShahadat
    @RazibShahadat 6 ปีที่แล้ว +3

    why my RTC module time change ?

  • @freemanfreed1581
    @freemanfreed1581 4 ปีที่แล้ว

    What if you need to display this to be seen from 10 meters ??

  • @mohamedafzar1737
    @mohamedafzar1737 2 ปีที่แล้ว

    Can we use Arduino nano...?

  • @arielgeneranta4786
    @arielgeneranta4786 5 ปีที่แล้ว

    Can we attach 2 external hardware that uses i2C. Example: LCD with i2C and this realtime clock

    • @arielgeneranta4786
      @arielgeneranta4786 5 ปีที่แล้ว

      ?

    • @EmGi_
      @EmGi_ 4 ปีที่แล้ว

      @@arielgeneranta4786 Yes. you just need the lcd and the rtc as slaves with diffrent l2c adresses

  • @sayantanmaiti2513
    @sayantanmaiti2513 7 ปีที่แล้ว

    If I do not want to use the module(for time being), so can I remove that battery ?? and if I do not remove it,how long the ic /device will last??

    • @sayantanmaiti2513
      @sayantanmaiti2513 7 ปีที่แล้ว

      And after reinserting a new battery after a year ,will the device run?

    • @sayantanmaiti2513
      @sayantanmaiti2513 7 ปีที่แล้ว

      Ok, lot of thanks

  • @ThilaganKmed
    @ThilaganKmed 3 ปีที่แล้ว

    I am getting error like error: no matching function for call to 'DS3231::DS3231(const uint8_t&, const uint8_t&)'
    DS3231 rtc(SDA, SCL); Please help me to fix it

  • @my_google_arifkhan9358
    @my_google_arifkhan9358 3 ปีที่แล้ว

    how can you set time manualy

  • @atefbenattia913
    @atefbenattia913 4 ปีที่แล้ว

    hello sir,
    how can I command something with time? for example if I want to command something every day at a certain hour?
    can you help me please!

    • @tojotaco3822
      @tojotaco3822 4 ปีที่แล้ว

      @Mad Max yo chill out and Atef Ben Attia, you can probably use an if statement like this. You would need to save the hour part to a variable as well. This variable as well as the code would need to be in a loop so it constantly refreshes.
      if ((hour == 2) && (minute == 0)) {
      *insert what you want it to do here*
      }

  • @JakezChannel
    @JakezChannel 3 ปีที่แล้ว

    Sync to time server?

  • @zyghom
    @zyghom 2 ปีที่แล้ว +1

    people forget to say: when 5V is in use and non rechargeable battery, you MUST break the charging path - otherwise your 3V battery may explode ;-) if you connect to 3.3V it will not happen as there is a diode in the circuit. same no issue if you use 5V and rechargeable battery ;-)
    one more thing as bonus: this module has extra EEPROM that can be used ;-)

    • @Dvance
      @Dvance 2 ปีที่แล้ว

      What if I have a non-rechargeable battery using 3.3V? Should it be fine, or should I go out and get a rechargeable one?

  • @priyaop5040
    @priyaop5040 ปีที่แล้ว

    everything works fine, but when I disconnect the arduino from the PC, wait a few minutes, connect it again, Time starts from the moment where I cut off the power.
    Where is the fault hardware or software?

  • @srinivasperuri2189
    @srinivasperuri2189 2 ปีที่แล้ว

    sir im getting lot of erros stating same thing i used but im not getting output

  • @gamertuhin9118
    @gamertuhin9118 6 ปีที่แล้ว

    i have a very simple question to ask related to displaying things in lcd 1602
    please answer

    • @gamertuhin9118
      @gamertuhin9118 6 ปีที่แล้ว

      i have multiple sensor and from multiple sensor i can get mulitple types of data .
      For instance i can get time, date, month, day of week, temperature, humidity, dstance between objects, etc.

    • @gamertuhin9118
      @gamertuhin9118 6 ปีที่แล้ว

      I have only 1 lcd1602.
      HOW I CAN DISPLAY EACH DATA LIKE THIS WAY.
      DATE = XX XXXXXX XXXX (DATE MONTH YEAR)
      TIME = XX:XX:XX AM/PM
      DAY = XXXXXXXXXXX
      TEMP = XX.XXX °C/°F
      HUMI = XX.XXX %
      DIST = XXX cm XXX in

    • @gamertuhin9118
      @gamertuhin9118 6 ปีที่แล้ว

      i want that when only 1 switch is pressed two new lines shown

  • @anorihara
    @anorihara 4 ปีที่แล้ว

    can some one help me with count down timer with RTC module?

  • @techwithvanndy5011
    @techwithvanndy5011 4 ปีที่แล้ว

    Can we do this with Arduino Uno?

  • @rakin6488
    @rakin6488 3 ปีที่แล้ว +2

    Sir can you please add a pushbutton so when we will push it we can see the day and temperature and then we push it second time we can see the time and date again.
    Sir please reply

  • @MrBobWareham
    @MrBobWareham 4 ปีที่แล้ว

    Why don't you show the day of the week on the display?

  • @cjb1289
    @cjb1289 7 ปีที่แล้ว +2

    Is it possible to do without the MEGA

    • @twistedyogert
      @twistedyogert 5 ปีที่แล้ว

      Great, I use the UNO because it's cheaper and smaller.

    • @Laurence-Bennett
      @Laurence-Bennett 4 ปีที่แล้ว

      Yes, it's pins A4 and A5 on the Uno

  • @mundex125bieszczady
    @mundex125bieszczady 5 ปีที่แล้ว

    Hello. Why my real time within 24 hours is delaying by 15 minutes?

  • @kevinr5058
    @kevinr5058 3 ปีที่แล้ว

    Hi sir, motor on only 10 sec in Every hour...I need Arduino uno program code....

  • @homo_sapiens_sapiens
    @homo_sapiens_sapiens 4 ปีที่แล้ว +2

    Do *NOT* USE CR2032. Most modules are intended to be used with rechargeable LR2032 batteries. When DS3231 is connected to the Arduino, CR2032 is being charged (even though it's not rechargeable). It also won't last too long.

  • @divacreator259
    @divacreator259 3 ปีที่แล้ว

    Can't use i2c?

  • @Alexelectricalengineering
    @Alexelectricalengineering 7 ปีที่แล้ว

    Thumbs up :)

  • @andrewclarke406
    @andrewclarke406 4 ปีที่แล้ว

    hooked up lcd and got this message rtc was not declared n this scope. (print get timestr)...any ideas? I used your tutorial on wiring lcd.
    started new sketch, included the two libraries and your code....

  • @kanchana946
    @kanchana946 2 ปีที่แล้ว

    SUPERR

  • @andrijaadamovic87
    @andrijaadamovic87 7 ปีที่แล้ว +1

    Very nice, will you ever post a tutorial for raspberry pi?

  • @xxrlatkdqhdxx8417
    @xxrlatkdqhdxx8417 5 ปีที่แล้ว

    May I use the arduino nano I don't have arduino mega. ^^;;

    • @drakethomas652
      @drakethomas652 4 ปีที่แล้ว +1

      You should be able to use it without an arduino nano, because as far as I know, with any given arduino circuit board; the only difference is how fast it can process info, as well as its storage capacity.

  • @abdellahchioua6404
    @abdellahchioua6404 3 ปีที่แล้ว

    How can we use the module for timestamping data

    • @HowToMechatronics
      @HowToMechatronics  3 ปีที่แล้ว

      Yes, you can. I just used it in my latest project, the DIY Air Quality Monitor, for sensors data for the last 24 hours.

  • @javasyndicate713
    @javasyndicate713 6 ปีที่แล้ว

    I get it on Serial Monitor, but it dosn't appear on my 16x2 lcd, help me pls, thx in advance

    • @javasyndicate713
      @javasyndicate713 6 ปีที่แล้ว

      is there 3 times to upload the code ?
      2 times from example & 1 time code from your web

    • @andresramirezsegura9604
      @andresramirezsegura9604 5 ปีที่แล้ว

      Hey i want to know how you connected the LCD with the arduino and the ds3231?

  • @shashankbagda6970
    @shashankbagda6970 3 ปีที่แล้ว

    Can u share me pin config. For arduino nano

  • @magdanoz88
    @magdanoz88 7 ปีที่แล้ว

    How to make the RTC counting a delay? I'll explain. I have 2 large stepper motors. I need to turn them one revolution per minute. Is it possible to do it with RTC? My delay varies and is from a minute up to 24 hours. :) The delay function is not accurate for long periods of time...

    • @magdanoz88
      @magdanoz88 7 ปีที่แล้ว

      Thank you, Dejan! Your reply was really helpful! I'll try this tomorrow (I have the setup already made).

  • @dheerajp1512
    @dheerajp1512 5 ปีที่แล้ว +1

    How can i convert time from 24 hour format to 12 hour format?
    Can anyone help me please?

    • @dheerajp1512
      @dheerajp1512 5 ปีที่แล้ว

      @therealnightwriter Absolutely. U r right.
      I'm trying to find that joy...

    • @saadmgdm706
      @saadmgdm706 5 ปีที่แล้ว

      IDK why some people act like retards

  • @eulamieraz4383
    @eulamieraz4383 3 ปีที่แล้ว

    Good day! I already tried your given codes and I encountered some problems. Like, when its automatically printing on the serial monitor, after the first line being printed, the following lines showing undefined character. Why is that, and how can I solve it?

    • @hakanmf1
      @hakanmf1 2 ปีที่แล้ว

      Change the Baudrate on your Serial Monitor to the one given in the code, for me it looks like: "Serial.begin(115200)"

  • @Ammu_2722
    @Ammu_2722 7 หลายเดือนก่อน

    Please vidiga code pettandi

  • @amardarwatkar8338
    @amardarwatkar8338 4 ปีที่แล้ว

    Can Arduino be used to produce business goods? What is your opinion on this?

  • @MohammedShannaq
    @MohammedShannaq 7 ปีที่แล้ว +2

    جميل

  • @althuelectronics5158
    @althuelectronics5158 4 ปีที่แล้ว

    Hai Sir you please helping. This program . Am wery interest

  • @nathbdlt5759
    @nathbdlt5759 2 ปีที่แล้ว

    Math is cool

  • @jaspalsingh-im2pl
    @jaspalsingh-im2pl 3 ปีที่แล้ว

    You need to initialize the I2C bus using pull up resistors.. 2.2k for fast and upto 10k for slow communication bus.. This tutorial is not complete.

  • @jameswinata299
    @jameswinata299 11 หลายเดือนก่อน

    0:43 voice crack ;)

  • @venkatramanseetharaman1998
    @venkatramanseetharaman1998 5 ปีที่แล้ว

    may-i-know-the-connections-please

  • @kunalpandhram7501
    @kunalpandhram7501 2 ปีที่แล้ว

    hello sir, could you share code for Daily Schedule Timer ON-OFF Using RTC Module with Memory Backup If Power Cuts

  • @timsteel1060
    @timsteel1060 6 ปีที่แล้ว +1

    Ооо.. Этот русско-хакерский акцент :D

  • @johnwekesa7501
    @johnwekesa7501 ปีที่แล้ว

    hello someone with the codes for ds3231 with arduino unor3. Im new here

  • @s.sradon9782
    @s.sradon9782 4 ปีที่แล้ว

    The cr2032 cell should be replaced with a lir2032 due to the cr cell series being primary.

  • @driss25
    @driss25 2 ปีที่แล้ว

    no push button

  • @luizvision478
    @luizvision478 5 ปีที่แล้ว

    CUIDADO COM O CIRCUITO DE CARREGAMENTO QUE DESTRUIRÁ A CR2032 TEM QUE RETIRAR ESSA FONTE DC 4.7 V

  • @nandahidellearachchi2016
    @nandahidellearachchi2016 2 ปีที่แล้ว

    very hard to understand your demostration