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

计时器是一种时钟形式,通常用于测量时间间隔。有两种类型的计时器,一种是从零开始向上计数,用于测量已用时间,称为秒表。而第二种类型的计时器从用户提供的指定持续时间倒计时,通常称为倒计时器。
在本教程中,我们将向您展示如何使用arduino开发板制作一个倒计时器。在本文中,我们没有使用任何实时时钟(rtc)模块来获取时间。持续时间由用户通过键盘和1602的lcd设定的。当计时器归零时,将会通过蜂鸣器发出警报声。
所需的材料
●    arduino uno开发板
●    lcd显示模块1602
●    4 * 4的矩阵键盘
●    蜂鸣器
●    按钮
●    电位器(10k)
●    电阻(10k、100欧)
●    连接导线
电路原理图
在这里,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次蜂鸣声。要停止蜂鸣器,请按住按钮。您可以随时使用按钮在计数时停止定时器。


深圳市场监督管理局《普通照明用贴片式LED技术规范》发布
永洪科技:利用AI和专家系统更好地驾驭数据
realme真我V15有哪些亮点?
射频芯片与基带芯片有哪些区别
MCU数据表的参数了解
基于Arduino开发板的倒计时器制作设计
用于同时测量电和机械细胞响应的生物激励二合一纳米晶体管传感器
关于短波接收机前端模块电路设计
恩泽能源惠享系列 360F系列充电桩简介
Intel将发布首款板载FPGA的处理器
便携式农药残留速测仪的原理及特点的介绍
主动液冷措施在汽车前照灯采用LED灯的应用
芯片里的单位纳米含义
区块链和支付宝是否可以掀起较大的浪花
比亚迪成国产手机隐形巨头 世界第二大手机代工厂
5G消息正式商用前夕遭遇多方博弈
二端口网络噪声分析方法在低噪声放大器中的应用
详解功率分析仪的基础知识
河北稳控科技VM系列振弦采集模块 测量时长与优化
三星Galaxy S8最新消息:将推S8 mini 5.3寸版 4月下旬登场