Arduino and DS3231 Real Time Clock Tutorial

Поделиться
HTML-код
  • Опубликовано: 30 июл 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)

Комментарии • 174

  • @jpb10
    @jpb10 3 года назад +20

    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!

  • @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 RUclipsrs 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.

  • @youpattube1
    @youpattube1 7 лет назад +1

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

  • @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).

  • @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

  • @TOTA1200
    @TOTA1200 7 лет назад +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.

  • @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?

  • @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

  • @angalamat2328
    @angalamat2328 7 лет назад +1

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

  • @arahmankabir8405
    @arahmankabir8405 4 года назад

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

  • @messiah7948
    @messiah7948 6 лет назад

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

  • @raizen0818
    @raizen0818 6 лет назад

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

  • @user-tr6co8mw4j
    @user-tr6co8mw4j 4 года назад +2

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

  • @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

  • @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..

  • @amirsohailansari7465
    @amirsohailansari7465 7 лет назад

    thank u Dejan
    you always give very useful tutorials..

  • @luthodyiki5902
    @luthodyiki5902 8 месяцев назад

    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

  • @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?

  • @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 4 года назад

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

  • @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 ???

  • @taranagnew436
    @taranagnew436 6 лет назад

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

  • @Isotope1213
    @Isotope1213 7 лет назад +2

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

  • @drakethomas652
    @drakethomas652 5 лет назад +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!

  • @kobedde
    @kobedde 7 лет назад +1

    tanks mate. Good tutorial.

  • @profesorjan7614
    @profesorjan7614 7 лет назад +1

    you gained a new subscriber

  • @RazibShahadat
    @RazibShahadat 7 лет назад +3

    why my RTC module time change ?

  • @plazmax
    @plazmax 7 лет назад

    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

  • @DheeruMoolya
    @DheeruMoolya 6 лет назад

    Nice project easy and simple to understand

  • @redelectron8575
    @redelectron8575 2 года назад

    Ds3231 in incredible for time keeping projects😍

  • @maxvandervoort3790
    @maxvandervoort3790 6 лет назад +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  6 лет назад +1

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

    • @maxvandervoort3790
      @maxvandervoort3790 6 лет назад +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());

  • @MilanKarakas
    @MilanKarakas 8 лет назад +6

    Thanks for posting this video. Subbed!

  • @ruitfsilva
    @ruitfsilva 8 лет назад

    Great video, thanks a lot :)

  • @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?

  • @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

  • @babyyoda756
    @babyyoda756 4 года назад

    how did you connect the LCD?

  • @rufaiahmed7664
    @rufaiahmed7664 2 года назад

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

  • @adamcowlam5527
    @adamcowlam5527 8 лет назад +7

    Way too underated

  • @borisvuckovic1557
    @borisvuckovic1557 7 лет назад

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

  • @electronicspassionchannel6622
    @electronicspassionchannel6622 6 лет назад

    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

  • @atefbenattia913
    @atefbenattia913 5 лет назад

    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*
      }

  • @jakobkatrasnik8684
    @jakobkatrasnik8684 4 года назад +1

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

  • @anorihara
    @anorihara 4 года назад

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

  • @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

  • @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??

  • @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);

  • @freemanfreed1581
    @freemanfreed1581 4 года назад

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

  • @user-ii4yl9oq5d
    @user-ii4yl9oq5d 2 года назад

    Thanks from China Inner Mongolia

  • @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

  • @samymsalak401
    @samymsalak401 7 лет назад

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

  • @strangejmaster
    @strangejmaster 4 года назад

    Can you make a stopwatch with this?

  • @priyaop5040
    @priyaop5040 2 года назад

    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?

  • @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

  • @gamertuhin9118
    @gamertuhin9118 7 лет назад

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

    • @gamertuhin9118
      @gamertuhin9118 7 лет назад

      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 7 лет назад

      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 7 лет назад

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

  • @srinivasperuri2189
    @srinivasperuri2189 3 года назад

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

  • @virajsumanthraperera1586
    @virajsumanthraperera1586 5 лет назад

    Thanks a lot!

  • @LuizCamposTutoriais
    @LuizCamposTutoriais 8 лет назад

    Very good!

  • @mundex125bieszczady
    @mundex125bieszczady 5 лет назад

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

  • @adam.walker
    @adam.walker 7 лет назад

    You're awesome.

  • @fortnite......
    @fortnite...... 7 месяцев назад

    Where is the circuit diagram for the LCD display?

  • @techwithvanndy5011
    @techwithvanndy5011 4 года назад

    Can we do this with Arduino Uno?

  • @josecruz1994
    @josecruz1994 7 лет назад

    Thank u so much

  • @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).

  • @argilaga
    @argilaga 6 лет назад

    Thanks, the video is very clear.

  • @phongnguyen-zu1gl
    @phongnguyen-zu1gl 4 дня назад

    fantastic video

  • @andrewclarke406
    @andrewclarke406 5 лет назад

    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....

  • @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.

  • @mohamedafzar1737
    @mohamedafzar1737 2 года назад

    Can we use Arduino nano...?

  • @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 5 лет назад

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

  • @JakezChannel
    @JakezChannel 3 года назад

    Sync to time server?

  • @zyghom
    @zyghom 3 года назад +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?

  • @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?

  • @my_google_arifkhan9358
    @my_google_arifkhan9358 4 года назад

    how can you set time manualy

  • @xxrlatkdqhdxx8417
    @xxrlatkdqhdxx8417 6 лет назад

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

    • @drakethomas652
      @drakethomas652 5 лет назад +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.

  • @anokhautomation4453
    @anokhautomation4453 2 года назад

    👌👌interesting

  • @DheeruMoolya
    @DheeruMoolya 6 лет назад +1

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

    • @DheeruMoolya
      @DheeruMoolya 5 лет назад

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

    • @saadmgdm706
      @saadmgdm706 5 лет назад

      IDK why some people act like retards

  • @kevinr5058
    @kevinr5058 3 года назад

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

  • @kedareswarkaavuri5774
    @kedareswarkaavuri5774 8 лет назад +5

    Subscribed

  • @divacreator259
    @divacreator259 4 года назад

    Can't use i2c?

  • @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 3 года назад

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

  • @MrBobWareham
    @MrBobWareham 4 года назад

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

  • @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.

  • @shashankbagda6970
    @shashankbagda6970 3 года назад

    Can u share me pin config. For arduino nano

  • @adamcowlam5527
    @adamcowlam5527 8 лет назад +1

    Awesome

    • @adamcowlam5527
      @adamcowlam5527 8 лет назад

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

  • @andrijaadamovic87
    @andrijaadamovic87 8 лет назад +1

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

  • @amardarwatkar8338
    @amardarwatkar8338 4 года назад

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

  • @johnwekesa7501
    @johnwekesa7501 2 года назад

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

  • @althuelectronics5158
    @althuelectronics5158 4 года назад

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

  • @venkatramanseetharaman1998
    @venkatramanseetharaman1998 5 лет назад

    may-i-know-the-connections-please

  • @jaspalsingh-im2pl
    @jaspalsingh-im2pl 4 года назад

    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.

  • @s.sradon9782
    @s.sradon9782 5 лет назад

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

  • @Alexelectricalengineering
    @Alexelectricalengineering 8 лет назад

    Thumbs up :)

  • @kunalpandhram7501
    @kunalpandhram7501 2 года назад

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

  • @kanchana946
    @kanchana946 3 года назад

    SUPERR

  • @jameswinata299
    @jameswinata299 Год назад

    0:43 voice crack ;)

  • @nathbdlt5759
    @nathbdlt5759 2 года назад

    Math is cool

  • @Ammu_2722
    @Ammu_2722 10 месяцев назад

    Please vidiga code pettandi

  • @luizvision478
    @luizvision478 5 лет назад

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

  • @M.4y
    @M.4y 5 лет назад

    But it isn't accurate right?

    • @casper2501
      @casper2501 5 лет назад

      It's accurate don't worry

    • @M.4y
      @M.4y 5 лет назад

      @@casper2501 thanks

  • @MohammedShannaq
    @MohammedShannaq 7 лет назад +2

    جميل

  • @nandahidellearachchi2016
    @nandahidellearachchi2016 3 года назад

    very hard to understand your demostration