0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >家用电器 > 基于 Arduino UNO 的经典厨房定时器(示意图+代码)

基于 Arduino UNO 的经典厨房定时器(示意图+代码)

来源: 电路城
2021-11-29
类别:家用电器
eye 44
文章创建人 拍明

原标题:基于 Arduino UNO 的经典厨房定时器(示意图+代码)

cirmall

cirmall

cirmall

cirmall

cirmall


  起初,上帝创造了天地。还有人类。人类创造了数字厨房定时器,就像这个。

  人类说,酷但有点惨淡。让我们做一个更好的!

  上帝说,我听到了你的呼唤,让 Arduinos 出现吧:地球上到处都是 Arduinos,这很好。

  人类拿了一个 Arduino 并创造了一个更好的厨房定时器,就像这个。

  上帝看到新的厨房计时器说:我看到了你的新厨房计时器,它看起来很糟糕,但似乎太有趣了!而这是好的。

  你需要什么

  既然您知道这一切的来源,让我们深入探讨一下。

  我使用的所有组件都来自Arduino 入门套件,包括您在图片和视频中看到的小面包板。如果您愿意,可以随意将项目纳入更大的项目。

  您还需要一个电源:在玩耍时,PC 的 USB 端口和电缆就足够了。

  你需要做什么

  首先:请从入门套件或您喜欢的组件箱中收集所有需要的组件;如果你没有,不要惊慌。互联网上有很多。您可以在下面找到组件列表。

  而且,你也需要代码。它在它的盒子里,又在下面。

  这个怎么运作

  基本上,就像任何其他类似设备一样,您可以在您附近的任何商店花一美元购买。但是,这是你的。这将向您展示这些小工具实际上是如何工作的。

  这里的关键字是:当前模式。计时器本身一次只能以四种模式中的一种运行:

  IDLE - 计时器正在等待您的输入,显示当前设置的时间量;这也是上电或复位后的初始模式。

  SETUP - 您可以通过长按 S4 进入此模式(在代码中这也称为“重置按钮”);在这里,通过使用 S3(“开始停止按钮”),您可以选择要更改的值,以便设置稍后倒计时的经过时间;最后,分别使用 S2(“向下按钮”)和 S1(“向上按钮”),您可以减少或增加所选值(小时、分钟或秒)。

  RUNNING - 您可以通过按 S3 进入此模式,而离开它将需要 S3 或 S4(这将导致您进入空闲模式)。

  RINGING - 当所需的时间过去后,此模式将自动激活;你可以通过按任意开关离开它(即,让小男孩停止响铃)。

  编码

  首先,我们需要包含适当的库:

如果您还没有它们,则需要下载并安装它们:

  Paul Stoffregen 的时间图书馆(请从绿色的“克隆或下载”按钮下载ZIP)

  Arduino 液晶库

  接下来,让我们初始化那个漂亮的 LCD 模块:

  请随意随意打乱引脚以获得良好的布线布局:不要跟着我这样做,因为我做了一个糟糕的布线计划!:D 例如,您可以反转上述语句中的后四个引脚,以避免在下面的示意图中看到黄色电线交叉(显然,您必须相应地调整按钮引脚常数,见下文)。玩,玩得开心!在复制/粘贴之后,Arduinos 的生活就开始了!

  接下来的 51 行代码包含静态变量声明和初始化。请随意浏览它们,它们清晰的名称和一些零散的评论将引导您了解整个事情。

  setup() 函数执行您已经在任何 Arduino 草图中看到无数次的通常的初步步骤。唯一值得注意的是第一个语句,它将设置初始 LCD 显示光标的位置。因为,是的:这个模块要求你沿着它的行和列设置一个位置,然后“打印”一些东西,它会从那个位置开始出现。

  现在让我们转到 loop() 函数。

  首先,让我们发现开关状态。为了实现这一点,几乎每一个都使用了以下代码块:

  针对相关引脚发出 digitalRead 并将结果与先前读取的值进行比较:如果发生变化,则存储新值以供将来参考,如果按下按钮,则 bool "xxxButtonPressed" 静态变量设置为 true。

  查看下面的电路图,您会注意到每个输入引脚都被一个 10k 电阻器强制为低电平,除非按下相应的开关并且引脚本身直接连接到 +5V。一个相当经典的场景,嗯?

  之前,我说“几乎每个”都是因为有一个按钮的作用与其他按钮不同:S4。它的代码块能够检测到上述长按以进入 SETUP 模式。

  接下来是模式管理块切换:每个案例查看按钮状态触发器(“xxxButtonPressed”)并将流重定向到正确的新状态,或执行正确的操作。

  前面的代码片段显示了 IDLE 模式的管理方式,并且一目了然。另一个示例显示了在响铃时按下任何按钮将如何停止响铃:

  下一个块 - “时间管理” - 执行实际的时间差计算,触发 RINGING 模式并在需要时实际响铃。

  最后一个块——“LCD 管理”——通过在适当的位置打印适当的字符串来管理每种模式的 LCD 显示。

  就是这样。



责任编辑:

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: 厨房定时器

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案