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

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

3天内不再提示

基于Arduino开发板的倒计时器制作设计

电子设计 来源:一板网 作者:风筝 2021-01-03 09:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

计时器是一种时钟形式,通常用于测量时间间隔。有两种类型的计时器,一种是从零开始向上计数,用于测量已用时间,称为秒表。而第二种类型的计时器从用户提供的指定持续时间倒计时,通常称为倒计时器。

在本教程中,我们将向您展示如何使用Arduino开发板制作一个倒计时器。在本文中,我们没有使用任何实时时钟(RTC)模块来获取时间。持续时间由用户通过键盘和1602的LCD设定的。当计时器归零时,将会通过蜂鸣器发出警报声。

所需的材料

● Arduino UNO开发板

● LCD显示模块1602

● 4 * 4的矩阵键盘

● 蜂鸣器

● 按钮

电位器(10k)

电阻(10k、100欧)

● 连接导线

电路原理

pIYBAF_q8uyALXmmAAGMSbr6hF0276.png

在这里,Arduino Uno开发板用作主控制器。使用键盘来设定持续时间,以及LCD显示模块1602来显示倒计时。按钮用于启动定时。有关如何将Arduino开发板与4x4矩阵键盘进行连接,请参考:https://www.yiboard.com/thread-780-1-1.html。

代码和说明

在本文的末尾处,给出了完整的Arduino计时器代码。

在下面的代码中,我们正在初始化键盘和LCD的库以及代码中使用的变量。

#include

#include

long int set1;

long int set2;

long int set3;

long int set4;

long int j;

int t1, t2, t3, t4, t5, t6;

int r1, r2, r3;

char key;

String r[8];

String hours;

String minutes;

String seconds;

在下面的代码中,我们初始化行和列的数目,用于定义键盘矩阵。

const byte ROWS = 4; // Four rows

const byte COLS = 4; // Three columns

char keys[ROWS][COLS] = {

{'1','2','3','A'},

{'4','5','6','B'},

{'7','8','9','C'},

{'*','0','#','D'}

};

为了将连接4 * 4矩阵键盘与Arduino开发板进行连接,我们必须定义使用的行和列的引脚。所以在下面的代码中我们已经定义了键盘的引脚以及1602模块的引脚。

byte rowPins[ROWS] = { 6, 7, 8, 9 };// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins

byte colPins[COLS] = { 10, 11, 12, 13 };// Connect keypad COL0, COL1 and COL2 to t

LiquidCrystal lcd(A0, A1, 5, 4, 3, 2); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7)

下面的代码用于声明一个keypad数组:

Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

在void setFeedingTime()函数中,按下按钮后,我们可以输入定时器的时间,然后在输入完成后,我们必须按下D开始倒计时。

void setFeedingTime()

{

feed = true;

int i=0;

lcd.clear();

lcd.setCursor(0,0);

lcd.print("Set feeding Time");

lcd.clear();

lcd.print("HH:MM:SS");

lcd.setCursor(0,1);

while(1){

key = kpd.getKey();

char j;

if(key!=NO_KEY){

lcd.setCursor(j,1);

lcd.print(key);

r[i] = key-48;

i++;

j++;

if (j==2 || j == 5)

{

lcd.print(":"); j++;

}

delay(500);

}

if (key == 'D')

{key=0; break; }

}

lcd.clear();

}

在void setup()函数中,我们初始化了LCD和串行通信,并在下面的代码中将引脚定义为INPUT和OUTPUT。

void setup()

{

lcd.begin(16,2);

Serial.begin(9600);

pinMode(A0, OUTPUT);

pinMode(A1, OUTPUT);

pinMode(A3, INPUT);

pinMode(A4, OUTPUT);

}

这个Arduino倒计时器的工作原理很简单,但代码有点复杂。

最初,它会在LCD显示屏上打印输出“Arduino Timer”,直到您按下按钮。只要按下按钮,它会通过调用“setFeedingTime”函数来要求输入倒计时时间。然后你可以通过使用键盘输入持续时间。然后你需要按'D'来保存时间并开始倒计时。在void loop()函数中,我们已经做了一些计算以逐秒递减时间,并根据剩余时间显示Hour、Minutes和Seconds(HH:MM:SS)相应的值。您可以在下面查看完整的代码。

当计时器归零时,蜂鸣器开始发出蜂鸣声并且只发出100次蜂鸣声。要停止蜂鸣器,请按住按钮。您可以随时使用按钮在计数时停止定时器。

编辑:hfy

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

    关注

    1

    文章

    434

    浏览量

    34868
  • 蜂鸣器
    +关注

    关注

    12

    文章

    897

    浏览量

    47605
  • 开发板
    +关注

    关注

    25

    文章

    6122

    浏览量

    113271
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195955
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何用Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录引导程序bootlaoder

    本文介绍了如何用能够Arduino IDE下载的Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino
    的头像 发表于 08-08 20:16 3059次阅读
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>开发板</b>给另一个<b class='flag-5'>Arduino</b> IDE不能下载的<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>开发板</b>重新烧录引导程序bootlaoder

    倒计时!米尔-安路飞龙派创意秀奖品等您领~~

    创意秀活动进入倒计时阶段‌2025年米尔-安路飞龙派FPGAFPSoC创意开发大赛即将于8月15日正式收官(原定于6月15日,已延期到8月15日)。作为国产工业级FPGA领域的赛事,本次活动已吸引多
    的头像 发表于 08-08 08:04 583次阅读
    ‌<b class='flag-5'>倒计时</b>!米尔-安路飞龙派创意秀奖品等您领~~

    【重要通知】OpenHarmony主干平台开发板选型提报倒计时(参考工具发布)

    芯片平台: RK3588、展锐7885、飞腾D3000M、海思(型号待定)各厂商/团队如有以上芯片平台的开发板,请将相关资料(开发板产品信息、详细产品规格书、初步报价方案等)于本周六(7月26日)20
    发表于 07-24 09:17

    零知开源——基于STM32F407VET6零知增强的四路独立计时器

    /// 所需库文件 ├── SPI/ // 电路图^_^本教程详细展示了四路独立计时器的报警功能和操作演示,并提供了完整的源码获取方式。这个项目不仅具有实际应用价值,还涵盖了嵌入式开发的多个关键技术点
    发表于 07-01 10:31

    零知开源——基于STM32F407VET6零知增强的四路独立计时器

    本教程介绍基于STM32F407VET6零知增强的四路独立计时器实现方案。项目采用TFT显示屏、蜂鸣器和按钮构建交互系统,支持各计时器独立控制(开始/暂停/重置)和智能报警(4小时及以上每小时触发
    的头像 发表于 07-01 10:13 868次阅读
    零知开源——基于STM32F407VET6零知增强<b class='flag-5'>板</b>的四路独立<b class='flag-5'>计时器</b>

    基于STM32F407VET6零知增强的四路独立计时器

    计时器
    PCB56242069
    发布于 :2025年07月01日 09:41:44

    【免费试用】倒计时六天!RISC-V、OH、RK开发板等你来申请!

    技术人的狂欢,开发者的盛宴!2025年最值得期待的硬核赛事——电子发烧友开发板评测大赛正式启动!无论你是开源生态的探索者、芯片架构的极客,还是物联网领域的创新达人,本次大赛三大赛
    的头像 发表于 06-10 08:05 358次阅读
    【免费试用】<b class='flag-5'>倒计时</b>六天!RISC-V、OH、RK<b class='flag-5'>开发板</b>等你来申请!

    无锡太湖机床展倒计时!高端制造 筑梦之展

    无锡机床展倒计时!2025年2月26-3月1日,第 45 届无锡太湖国际机床及智能工业装备产业博览会(简称:无锡太湖机床展)将在无锡太湖国际博览中心迎来开春首展!
    的头像 发表于 02-22 17:44 536次阅读
    无锡太湖机床展<b class='flag-5'>倒计时</b>!高端制造 筑梦之展

    倒计时8天! 免费开发板申领即将截止|2025 Matter 应用开发比赛

     倒计时8天! 2025 Matter应用开发比赛 免费开发板申领即将截止   “让你的智能设备能无缝接入苹果、谷歌、亚马逊的生态系统,而这一切只需一个协议——这就是Matter的力量
    发表于 02-21 14:56 367次阅读
    <b class='flag-5'>倒计时</b>8天! 免费<b class='flag-5'>开发板</b>申领即将截止|2025 Matter 应用<b class='flag-5'>开发</b>比赛

    AI80C51U倒计时

    AI80C51U倒计时
    的头像 发表于 01-10 11:41 793次阅读

    ST×米尔STM32MP25x线下培训会倒计时12天

    STM32MP257D是ST推出的搭载了双核Cortex-A35@1.5GHz和Cortex-M33@400MHz的微处理。米尔电子基于STM32MP257D推出了MYD-LD25X开发板开发板
    的头像 发表于 12-26 08:04 682次阅读
    ST×米尔STM32MP25x线下培训会<b class='flag-5'>倒计时</b>12天

    倒计时无线遥控开关生产多快好省改进案例

    定时开关等领域。 倒计时无线遥控开关生产图片       该产品相较于普通的无线遥控开关增加了倒计时功能、外接浮球感应开关等,电子元器件数量较多,所以使用的是双面插件,需要焊接的锡点太多,人工焊锡效率不高,每个锡点最少耗费
    的头像 发表于 12-24 16:44 754次阅读
    <b class='flag-5'>倒计时</b>无线遥控开关生产多快好省改进案例

    系统化课程体系——2天倒计时

    ✦✦开课倒计时2天!✦✦✦✦✦COURSEINTRODUCTION•✦课程介绍✦•✦01EMC基础-EMC(电磁兼容性)确保产品不受电磁干扰(EMI),并避免能量泄露至其他设备。EMC设计的三要素
    的头像 发表于 12-16 09:52 823次阅读
    系统化课程体系——2天<b class='flag-5'>倒计时</b>!

    掌握EMC核心知识——7天倒计时

    赛盛技术第九期“EMC实战特训营“开课倒计时7天”!本期课特训营将于12月18日正式开课,课程涵盖电磁兼容(EMC)领域的核心知识。四位资深讲师主讲,团队经验累计超过70年,并结合赛盛技术公司19年
    的头像 发表于 12-11 09:40 821次阅读
    掌握EMC核心知识——7天<b class='flag-5'>倒计时</b>!

    Arduino Nano Matter开发板正式上市

    Silicon Labs(芯科科技)和Arduino在近日共同宣布Arduino Nano Matter开发板现已正式上市。这是延续今年3 月芯科科技和Arduino释出
    的头像 发表于 12-10 13:50 1429次阅读