0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用DS3231模塊制作一個計時器

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-26 16:15 ? 次閱讀

步驟1:編碼

首先,您需要一個DS3231模塊及其庫:

http://www.rinkydinkelectronics.com/library.php?id 。..

通過Sketch》 Include庫將.zip文件夾添加到Arduino IDE中》添加.zip庫并找到保存的DS3231.zip庫。

使用編程的基本知識,請使用if操作員設(shè)置警報或所需的計時器功能。

將&&插入 add 和運算符。 (請參閱最后幾行)

#include

// Init the DS3231 using the hardware interface

DS3231 rtc(SDA, SCL);

// Init a Time-data structure

Time t;

void setup()

{

// Setup Serial connection

Serial.begin(115200);

// Uncomment the next line if you are using an Arduino Leonardo

//while (!Serial) {}

// Initialize the rtc object

rtc.begin();

// The following lines can be uncommented to set the date and time

//rtc.setDOW(SUNDAY); // Set Day-of-Week to SUNDAY

//rtc.setTime(12, 0, 0); // Set the time to 12:00:00 (24hr format)

//rtc.setDate(1, 1, 2016); // Set the date to DD/MM/YYYY

}

void loop()

{

t = rtc.getTime(); // Get data from the DS3231

// Send date over serial connection

Serial.print(“Date: ”);

Serial.print(t.date, DEC);

Serial.print(“/”);

Serial.print(t.mon, DEC);

Serial.print(“/”);

Serial.print(t.year, DEC);

Serial.println();

// Send Day-of-Week and time

Serial.print(“Day of Week: ”);

Serial.print(t.dow, DEC);

Serial.println();

Serial.print(“Time: ”);

Serial.print(t.hour, DEC);

Serial.print(“:”);

Serial.print(t.min, DEC);

Serial.print(“:”);

Serial.print(t.sec, DEC);

Serial.println();

Serial.println(“--------------------------------”);

delay(1000); //Delay is for displaying the time in 1 second interval.

if (t.hour == 14 && t.min == 32 && t.sec == 53)

//Setting alarm/timer at every 2:32:53pm,

//in other words you can insert t.dow for every Thursday?, t.date for specific date?

{ digitalWrite(99, HIGH); delay(5000);

//Lets say that your component is wired to pin 99 and be switched on for 5 seconds,

//whatever you want to do with it

}

}

第2步:告訴時間

更新08/21/2016:顯然,在您第一次設(shè)置時間后,

rtc.setDOW(SUNDAY); // Set Day-of-Week to SUNDAY

rtc.setTime(12, 0, 0); // Set the time to 12:00:00 (24hr format)

rtc.setDate(1, 1, 2016); // Set the date to DD/MM/YYYY

您幾乎將時間“消耗”到了模塊中。現(xiàn)在,

1。您可以關(guān)閉并打開Arduino的電源,而不會弄亂DS3231模塊中的時間,否則Arduino會使用“ void setup()”命令將時間重置為您設(shè)置的原始時間。換句話說,重新啟動Arduino意味著重做代碼中的所有內(nèi)容。

2。因此,刪除上述命令并僅使用:

void loop(){

Serial.begin(115200);

rtc.begin();

}

,而不是通過讀取RTC DS3231模塊中的“燃燒”時間來告知時間。

步驟3:結(jié)論和參考

總而言之,如果要關(guān)閉電源并打開Arduino的電源,并且希望“燃燒”的時間保持靜止,則需要進行兩次上傳過程。首先是“刻錄”時間,其次是刪除“刻錄”代碼。而已。簡單吧?
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 計時器
    +關(guān)注

    關(guān)注

    1

    文章

    416

    瀏覽量

    32576
  • DS3231
    +關(guān)注

    關(guān)注

    2

    文章

    51

    瀏覽量

    23811
收藏 人收藏

    評論

    相關(guān)推薦

    單個 MSP430? 計時器模塊的多時基應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《單個 MSP430? 計時器模塊的多時基應(yīng)用說明.pdf》資料免費下載
    發(fā)表于 09-13 11:09 ?0次下載
    單個 MSP430? <b class='flag-5'>計時器</b><b class='flag-5'>模塊</b>的多時基應(yīng)用說明

    MSPM0-高級控制計時器有助于實現(xiàn)更好的控制和更好的數(shù)字輸出

    電子發(fā)燒友網(wǎng)站提供《MSPM0-高級控制計時器有助于實現(xiàn)更好的控制和更好的數(shù)字輸出.pdf》資料免費下載
    發(fā)表于 08-28 11:30 ?0次下載
    MSPM0-高級控制<b class='flag-5'>計時器</b>有助于實現(xiàn)更好的控制和更好的數(shù)字輸出

    TLC555-Q1 LinCMOS?計時器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TLC555-Q1 LinCMOS?計時器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-23 11:19 ?0次下載
    TLC555-Q1 LinCMOS?<b class='flag-5'>計時器</b>數(shù)據(jù)表

    TLC555 LinCMOS?技術(shù)計時器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TLC555 LinCMOS?技術(shù)計時器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-20 11:15 ?0次下載
    TLC555 LinCMOS?技術(shù)<b class='flag-5'>計時器</b>數(shù)據(jù)表

    LMC555 CMOS計時器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《LMC555 CMOS計時器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-20 09:16 ?0次下載
    LMC555 CMOS<b class='flag-5'>計時器</b>數(shù)據(jù)表

    spi_flash期間的計時器中斷導(dǎo)致崩潰怎么解決?

    這是我遇到的 SDK 中的小錯誤 (esp_iot_sdk_v0.9.5_b1): 我在 Timer1 上使用計時器中斷: ets_frc_timer1_intr_attach
    發(fā)表于 07-12 11:54

    DS3231 RTC模塊的I2C通信失敗的原因?怎么解決?

    安裝程序:SDK 版本 2.0.0 硬件:ESP-12E 我已連接DS3231 RTC模塊http://www.ebay.in/itm/252641600523使用 ESP-12E 如下所示 法典
    發(fā)表于 07-11 06:12

    TLE986x如何定期重新啟動計時器

    我在模式 0-13 位定時模式下運行 T3。 達到溢出時,計時器停止。 請問如何定期重新啟動計時器?
    發(fā)表于 07-03 07:13

    雙路精密計時器選購指南:準確選擇,高效工作

    在快節(jié)奏的現(xiàn)代生活中,準確的時間管理對于個人和團隊的成功至關(guān)重要。雙路精密計時器作為種高效的計時工具,受到了越來越多人的青睞。那么,如何選購款適合自己的雙路精密
    的頭像 發(fā)表于 06-26 16:06 ?277次閱讀

    帶看門狗計時器的TPS382x電壓監(jiān)視數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《帶看門狗計時器的TPS382x電壓監(jiān)視數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 03-25 09:52 ?0次下載
    帶看門狗<b class='flag-5'>計時器</b>的TPS382x電壓監(jiān)視<b class='flag-5'>器</b>數(shù)據(jù)表

    ModusToolbox?生成時如何調(diào)用systick計時器ISR?

    我無法理解當項目由 ModusToolbox?生成時如何調(diào)用 systick 計時器 ISR。 通常,當您設(shè)置系統(tǒng)計時器并啟用其中斷時,系統(tǒng)會直接從中斷向量調(diào)用 Systick_Handler。 我
    發(fā)表于 01-18 09:16

    如何在樹莓派Pico上編程使用DS1302時鐘模塊?

    常用的計時時鐘芯片有 DS1302、DS1307、DS3231,各型號還有衍生型號。
    的頭像 發(fā)表于 11-28 09:16 ?1549次閱讀

    使用定時和數(shù)碼管實現(xiàn)簡易秒計時器

    從今天開始,我們利用上前幾天學(xué)習(xí)的定時和數(shù)碼管,起設(shè)計簡單的秒計時器。
    的頭像 發(fā)表于 11-02 10:50 ?1239次閱讀
    使用定時<b class='flag-5'>器</b>和數(shù)碼管實現(xiàn)簡易秒<b class='flag-5'>計時器</b>

    使用51單片機開發(fā)板制作60秒時鐘計時器

    大家好,我是大魔王,雖然我已經(jīng)離開了校園,進入了職場,但是我仍然沒有停下學(xué)習(xí)的腳步。經(jīng)過三周的學(xué)習(xí),我已經(jīng)能夠使用51單片機的開發(fā)板制作60秒的時鐘計時器,今天就將這個小東西的創(chuàng)作
    的頭像 發(fā)表于 10-31 15:05 ?3264次閱讀
    使用51單片機開發(fā)板<b class='flag-5'>制作</b>60秒時鐘<b class='flag-5'>計時器</b>

    怎么在倒計時器里應(yīng)用定時?

    怎么在倒計時器里應(yīng)用定時
    發(fā)表于 10-30 06:02