精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

如何向Arduino添加實時時鐘

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-12-05 08:49 ? 次閱讀

保持Arduino項目的時間并不像您想的那么容易:一旦計算機連接不存在,您沒電的Arduino就會停止運行,包括內部代碼。

在為了使Arduino與周圍世界保持同步,您將需要所謂的“實時時鐘模塊”。

實時時鐘(RTC)的意義是什么?

您的計算機最有可能與互聯網同步時間,但它的內部時鐘仍然可以即使沒有互聯網連接或電源關閉也能繼續工作。當您使用Arduino插入計算機時,它可以訪問系統時鐘提供的準確時間。這非常有用,但是大多數Arduino項目都設計為不在計算機上使用–到那時,無論何時拔掉電源或Arduino重新啟動,它絕對不知道現在幾點。內部時鐘將被重置,并在下一次啟動時從零開始重新計數。

如果您的項目與需要時間有關,例如我的夜燈和日出鬧鐘,那么這很明顯成為一個問題。在該項目中,我們通過以一種相當粗略的方式手動設置每晚的時間來解決該問題-用戶在上床睡覺之前將按下重置按鈕,從而提供了手動時間同步。顯然,這不是一個理想的長期解決方案。

RTC模塊是額外的電路,需要一塊小的紐扣電池,即使關閉Arduino,它也可以繼續計時。設置一次–它將使電池的壽命(通常是一年左右)有效。

TinyRTC

Arduino最受歡迎的RTC稱為TinyRTC,可以購買在eBay上大約需要5至10美元。您最有可能需要提供自己的電池(將這些電池運到國外很多地方是違法的)和一些接頭(插入孔中的銷,您需要自己焊接在這些孔中)。

這是我擁有的模塊:

它甚至具有內置的溫度傳感器,但是如果您使用以下電池,則電池可以使用更長的時間不使用它。

在那個東西上的孔的數量看起來很嚇人,但是您只需要四個即可。 GND,VCC,SCL和SDA –您可以使用RTC模塊兩側的相關引腳。您使用I2C協議與時鐘對話,這意味著僅使用了兩個引腳-一個用于“時鐘”(串行通信數據時鐘,與時間無關),另一個用于數據。實際上,您甚至可以在相同的兩個引腳上鏈接多達121個I2C設備-請訪問Adafruit頁面以選擇可以添加的其他I2C設備,因為還有很多!

入門 strong》

根據下圖連接TinyRTC模塊–不需要粉紅色的DS線,因為它是用于溫度傳感器的。

下一步,下載Time和DS1307RTC庫,并將生成的文件夾放在您的/libraries 文件夾中。

退出并重新啟動Arduino環境以加載到庫和示例中。

您將在DS1307RTC菜單中找到兩個示例:首先上傳并運行 SetTime 示例-這會將RTC設置為正確的時間。實際的代碼不值得詳細介紹,只是知道您需要運行一次才能執行初始時間同步。

接下來,請使用 ReadTest 查看示例用法

#include

#include

#include

void setup() {

Serial.begin(9600);

while (!Serial) ; // wait for serial

delay(200);

Serial.println(“DS1307RTC Read Test”);

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

}

void loop() {

tmElements_t tm;

if (RTC.read(tm)) {

Serial.print(“Ok, Time = ”);

print2digits(tm.Hour);

Serial.write(‘:’);

print2digits(tm.Minute);

Serial.write(‘:’);

print2digits(tm.Second);

Serial.print(“, Date (D/M/Y) = ”);

Serial.print(tm.Day);

Serial.write(‘/’);

Serial.print(tm.Month);

Serial.write(‘/’);

Serial.print(tmYearToCalendar(tm.Year));

Serial.println();

} else {

if (RTC.chipPresent()) {

Serial.println(“The DS1307 is stopped. Please run the SetTime”);

Serial.println(“example to initialize the time and begin running.”);

Serial.println();

} else {

Serial.println(“DS1307 read error! Please check the circuitry.”);

Serial.println();

}

delay(9000);

}

delay(1000);

}

void print2digits(int number) {

if (number 》= 0 && number 《 10) {

Serial.write(‘0’);

}

Serial.print(number);

}

。請注意,我們還包括了核心 Wire.h 庫–該庫隨Arduino一起提供,用于通過I2C進行通信。上載代碼,以9600波特打開串口控制臺,然后觀察,您的Arduino將每秒輸出當前時間。

該示例中最重要的代碼是創建一個 tmElements_t tm –一種我們將在當前時間填充的結構;和 RTC.read(tm)函數,該函數從RTC模塊獲取當前時間,并將其放入我們的 tm 結構,如果一切順利,則返回true。在該“ if”語句中添加調試或邏輯代碼,例如打印時間或對其作出反應。

現在,您知道如何使用Arduino獲得正確的時間,您可以嘗試重寫日出報警項目或創建一個LED字時鐘–無限的可能性!你會做什么?

責任編輯:wv

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 時鐘
    +關注

    關注

    10

    文章

    1721

    瀏覽量

    131378
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186681
收藏 人收藏

    評論

    相關推薦

    TPS65950實時時鐘時序補償分析

    電子發燒友網站提供《TPS65950實時時鐘時序補償分析.pdf》資料免費下載
    發表于 10-29 10:01 ?0次下載
    TPS65950<b class='flag-5'>實時時鐘</b>時序補償分析

    使用實時時鐘

    電子發燒友網站提供《使用實時時鐘庫.pdf》資料免費下載
    發表于 10-22 10:09 ?0次下載
    使用<b class='flag-5'>實時時鐘</b>庫

    bq32000實時時鐘(RTC)數據表

    電子發燒友網站提供《bq32000實時時鐘(RTC)數據表.pdf》資料免費下載
    發表于 08-23 11:23 ?0次下載
    bq32000<b class='flag-5'>實時時鐘</b>(RTC)數據表

    BQ32002實時時鐘(RTC)數據表

    電子發燒友網站提供《BQ32002實時時鐘(RTC)數據表.pdf》資料免費下載
    發表于 08-23 11:23 ?0次下載
    BQ32002<b class='flag-5'>實時時鐘</b>(RTC)數據表

    bq3285實時時鐘(RTC)數據表

    電子發燒友網站提供《bq3285實時時鐘(RTC)數據表.pdf》資料免費下載
    發表于 08-23 11:21 ?0次下載
    bq3285<b class='flag-5'>實時時鐘</b>(RTC)數據表

    TCXO RTC實時時鐘模塊的特性

    高精度實時時鐘模塊內建TCXO數字式實時時鐘模塊的特征【序文】時間是我們日常生活中的基本概念?;疖囘\行管理、進出場管理等各種處理系統和應用程序按照時間信息工作。在金融、股市領域中,時間操縱著巨大利益
    的頭像 發表于 08-14 11:44 ?300次閱讀
    TCXO RTC<b class='flag-5'>實時時鐘</b>模塊的特性

    京準電鐘:基于GPS與北斗高精度實時時鐘的時間同步方法

    京準電子分享:基于GPS與北斗衛星高精度實時時鐘的時間同步方法
    的頭像 發表于 06-18 14:35 ?640次閱讀
    京準電鐘:基于GPS與北斗高精度<b class='flag-5'>實時時鐘</b>的時間同步方法

    RTC實時時鐘的基本概念和工作原理

    在現代電子設備中,精確的時間管理和控制是至關重要的。為了實現這一功能,實時時鐘(RTC, Real-Time Clock)模塊被廣泛應用于各種設備和系統中。RTC模塊作為一個獨立的定時器,能夠提供
    的頭像 發表于 05-27 15:43 ?3424次閱讀

    RX-4571LC、NB、SA實時時鐘模塊

    RX-4571LC實時時鐘模塊是EPSON推出的一求款額定頻率32.768KHz,接口為SPI(3-wire),月偏差為±60 s的實時時鐘模塊,12腳貼片,具有小尺寸,高穩定性。該款實時時鐘模塊
    發表于 01-31 11:46 ?0次下載

    基于51單片機的實時時鐘設計

    電子發燒友網站提供《基于51單片機的實時時鐘設計.rar》資料免費下載
    發表于 01-12 10:43 ?12次下載

    基于51單片機的實時時鐘+溫度應用設計

    電子發燒友網站提供《基于51單片機的實時時鐘+溫度應用設計.rar》資料免費下載
    發表于 01-12 10:20 ?0次下載

    基于51單片機的實時時鐘設計

    電子發燒友網站提供《基于51單片機的實時時鐘設計.rar》資料免費下載
    發表于 01-02 10:15 ?43次下載

    基于51單片機的實時時鐘+溫度應用設計

    基于51單片機的實時時鐘+溫度應用設計(仿真)
    發表于 01-02 09:55 ?6次下載

    帶電池的實時時鐘1338 數據表

    電子發燒友網站提供《帶電池的實時時鐘1338 數據表.pdf》資料免費下載
    發表于 12-21 10:47 ?0次下載
    帶電池的<b class='flag-5'>實時時鐘</b>1338 數據表

    RA8804CE實時時鐘模塊內置調頻32.768 kHz晶體單元和DTCXO

    RA8804CE 實時時鐘模塊內置調頻32.768 kHz晶體單元和DTCXO
    的頭像 發表于 12-08 10:40 ?460次閱讀
    RA8804CE<b class='flag-5'>實時時鐘</b>模塊內置調頻32.768 kHz晶體單元和DTCXO