0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用DS3231模块制作一个计时器

454398 来源:网络整理 作者:网络整理 2019-11-26 16:15 次阅读

步骤1:编码

首先,您需要一个DS3231模块及其库:

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

通过Sketch》 Include库将.zip文件夹添加到Arduino IDE中》添加.zip库并找到保存的DS3231.zip库。

使用编程的基本知识,请使用if操作员设置警报或所需的计时器功能。

将&&插入 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:显然,在您第一次设置时间后,

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

您几乎将时间“消耗”到了模块中。现在,

1。您可以关闭并打开Arduino的电源,而不会弄乱DS3231模块中的时间,否则Arduino会使用“ void setup()”命令将时间重置为您设置的原始时间。换句话说,重新启动Arduino意味着重做代码中的所有内容。

2。因此,删除上述命令并仅使用:

void loop(){

Serial.begin(115200);

rtc.begin();

}

,而不是通过读取RTC DS3231模块中的“燃烧”时间来告知时间。

步骤3:结论和参考

总而言之,如果要关闭电源并打开Arduino的电源,并且希望“燃烧”的时间保持静止,则需要进行两次上传过程。首先是“刻录”时间,其次是删除“刻录”代码。而已。简单吧?
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计时器
    +关注

    关注

    1

    文章

    419

    浏览量

    32636
  • DS3231
    +关注

    关注

    2

    文章

    51

    浏览量

    23823
收藏 人收藏

    评论

    相关推荐

    单个 MSP430™ 计时器模块的多时基应用说明

    电子发烧友网站提供《单个 MSP430™ 计时器模块的多时基应用说明.pdf》资料免费下载
    发表于 09-13 11:09 0次下载
    单个 MSP430™ <b class='flag-5'>计时器</b><b class='flag-5'>模块</b>的多时基应用说明

    MSPM0-高级控制计时器有助于实现更好的控制和更好的数字输出

    电子发烧友网站提供《MSPM0-高级控制计时器有助于实现更好的控制和更好的数字输出.pdf》资料免费下载
    发表于 08-28 11:30 0次下载
    MSPM0-高级控制<b class='flag-5'>计时器</b>有助于实现更好的控制和更好的数字输出

    用于电源门控的TPL5110毫微功耗系统计时器数据表

    电子发烧友网站提供《用于电源门控的TPL5110毫微功耗系统计时器数据表.pdf》资料免费下载
    发表于 08-23 11:26 0次下载
    用于电源门控的TPL5110毫微功耗系统<b class='flag-5'>计时器</b>数据表

    用于电源门控应用的TPL5111毫微功耗系统计时器数据表

    电子发烧友网站提供《用于电源门控应用的TPL5111毫微功耗系统计时器数据表.pdf》资料免费下载
    发表于 08-23 11:25 0次下载
    用于电源门控应用的TPL5111毫微功耗系统<b class='flag-5'>计时器</b>数据表

    TLC555-Q1 LinCMOS™计时器数据表

    电子发烧友网站提供《TLC555-Q1 LinCMOS™计时器数据表.pdf》资料免费下载
    发表于 08-23 11:19 0次下载
    TLC555-Q1 LinCMOS™<b class='flag-5'>计时器</b>数据表

    TLC555 LinCMOS™技术计时器数据表

    电子发烧友网站提供《TLC555 LinCMOS™技术计时器数据表.pdf》资料免费下载
    发表于 08-20 11:15 0次下载
    TLC555 LinCMOS™技术<b class='flag-5'>计时器</b>数据表

    LMC555 CMOS计时器数据表

    电子发烧友网站提供《LMC555 CMOS计时器数据表.pdf》资料免费下载
    发表于 08-20 09:16 0次下载
    LMC555 CMOS<b class='flag-5'>计时器</b>数据表

    spi_flash期间的计时器中断导致崩溃怎么解决?

    这是我遇到的 SDK 中的小错误 (esp_iot_sdk_v0.9.5_b1): 我在 Timer1 上使用计时器中断: ets_frc_timer1_intr_attach
    发表于 07-12 11:54

    DS3231 RTC模块的I2C通信失败的原因?怎么解决?

    安装程序:SDK 版本 2.0.0 硬件:ESP-12E 我已连接DS3231 RTC模块http://www.ebay.in/itm/252641600523使用 ESP-12E 如下所示 法典
    发表于 07-11 06:12

    TLE986x如何定期重新启动计时器

    我在模式 0-13 位定时模式下运行 T3。 达到溢出时,计时器停止。 请问如何定期重新启动计时器
    发表于 07-03 07:13

    双路精密计时器选购指南:准确选择,高效工作

    在快节奏的现代生活中,准确的时间管理对于个人和团队的成功至关重要。双路精密计时器作为种高效的计时工具,受到了越来越多人的青睐。那么,如何选购款适合自己的双路精密
    的头像 发表于 06-26 16:06 327次阅读

    SNx5DPHY440SS CSI-2/DSI DPHY 重计时器数据表

    电子发烧友网站提供《SNx5DPHY440SS CSI-2/DSI DPHY 重计时器数据表.pdf》资料免费下载
    发表于 06-25 11:07 0次下载
    SNx5DPHY440SS CSI-2/DSI DPHY 重<b class='flag-5'>计时器</b>数据表

    带看门狗计时器的TPS382x电压监视数据表

    电子发烧友网站提供《带看门狗计时器的TPS382x电压监视数据表.pdf》资料免费下载
    发表于 03-25 09:52 0次下载
    带看门狗<b class='flag-5'>计时器</b>的TPS382x电压监视<b class='flag-5'>器</b>数据表

    ModusToolbox™生成时如何调用systick计时器ISR?

    我无法理解当项目由 ModusToolbox™生成时如何调用 systick 计时器 ISR。 通常,当您设置系统计时器并启用其中断时,系统会直接从中断向量调用 Systick_Handler。 我
    发表于 01-18 09:16

    如何在树莓派Pico上编程使用DS1302时钟模块

    常用的计时时钟芯片有 DS1302、DS1307、DS3231,各型号还有衍生型号。
    的头像 发表于 11-28 09:16 1626次阅读