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

    文章

    395

    浏览量

    32156
  • DS3231
    +关注

    关注

    2

    文章

    51

    浏览量

    23731
收藏 人收藏

    评论

    相关推荐

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

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

    光电计时器的原理和使用

    光电计时器的原理和使用  光电计时器是一种高精度计时器,主要应用于自动控制领域中的计时和计数,同时也可以用于科学实验和工艺生产中的计时和计数
    的头像 发表于 09-22 16:25 2626次阅读

    如何使用Arduino制作LCD 220V电源操作计时器

      在这篇文章中,我们将使用 Arduino 制作 LCD 220 V 电源操作计时器,其倒计时时间可以通过 16 x 2 LCD显示屏
    发表于 09-14 16:36

    求助,请问CSR time计时器的频率是多少?

    RISC-V可以通过读取csrr rd, time指令来获取时间(rd是目标寄存),但这个计时器的频率取决于开发板的实现。想问下星光2的设计中计时器频率是多少?我测出的结果好像是3
    发表于 09-12 06:06

    8051计时器滴答声中断

    经常需要在程序中使用计时器来为事件计时,或者仅仅作为简单的圈速计时器。 使用C51,很容易将强大的、中断驱动的
    发表于 09-04 06:24

    EDA程序设计—计时器设计

    用EDA实训仪的I/O设备和PLD芯片实现计时器的设计。
    的头像 发表于 08-23 15:19 760次阅读
    EDA程序设计—<b class='flag-5'>计时器</b>设计

    EDA程序设计之计时器设计

    计时器的设计1. 设计任务 设计并制作一台计时器。2. 设计要求① 用EDA实训仪的I/O设备和PLD芯片实现计时器的设计。② 计时器能够显
    发表于 08-22 10:16 1次下载

    如何使用NUC240利用I2C控制DS3231

    : NuEdu-EVB-NUC240 v1.0 例如,基于NUC240系列的DS3231驱动,NUC240系列从DS3231通过I2C接口读取RTC信息,并在终端上显示。 您可以在下列时间下载样本代码http://www.n
    发表于 08-22 06:44

    如何使用计时器驱动RGB LED

    点就到了。 处理 I/ O 状态只需要计时器时间 。 您可以在下列时间下载样本代码http://www.nuvoton.com/resources-downlo. 1204164412。 nuvoton 核
    发表于 08-22 06:32

    嵌入式计时器以及simulink设计实现

    嵌入式计时器是一种在嵌入式系统中用于计时、计数和测量时间间隔的设备。
    发表于 07-21 17:20 3270次阅读
    嵌入式<b class='flag-5'>计时器</b>以及simulink设计实现

    通过库函数来驱动DS1302获取时间数据

    很多电子爱好者都热衷制作电子时钟来练手,这些时钟会使用数码管、点阵屏、LCD液晶屏、OLED屏、TFT屏等显示模块,所使用的RTC时钟芯片也各不相同,DS1302、DS3231
    发表于 06-15 16:28 927次阅读
    通过库函数来驱动<b class='flag-5'>DS</b>1302获取时间数据

    厨房计时器开源设计

    电子发烧友网站提供《厨房计时器开源设计.zip》资料免费下载
    发表于 06-15 14:55 0次下载
    厨房<b class='flag-5'>计时器</b>开源设计

    魔方计时器开源分享

    电子发烧友网站提供《魔方计时器开源分享.zip》资料免费下载
    发表于 06-13 15:18 1次下载
    魔方<b class='flag-5'>计时器</b>开源分享

    带Arduino的OLED倒数计时器

    电子发烧友网站提供《带Arduino的OLED倒数计时器.zip》资料免费下载
    发表于 06-09 10:40 2次下载
    带Arduino的OLED倒数<b class='flag-5'>计时器</b>

    让ESP-12E与PN532 (SPI) 和DS3231 (I2C) 起使用时遇到的问题求解

    大家好,我在让 ESP-12E 与 PN532 (SPI) 和 DS3231 (I2C) 起使用时遇到 问题 只有单独的草图。 所以我想通过为 SPI 和 I2C 提供单独的引脚来实现这点,我
    发表于 05-29 07:46