如何让Arduino进入睡眠状态

电子说

1.2w人已加入

描述

第1步:需要的材料/使用的电路板

使用什么电路板?

在本教程中,我们将使用Arduino Uno,因为它是一个更简单的原型板。在一个真实的现场项目中,我会使用Arduino Pro Mini。 Arduino Uno和Arduino Pro Mini具有非常相似的特性,Arduino pro mini具有更少的硬件供电(例如USB部分,额外的LED和其他一些东西),因此功耗更低。这就是为什么Arduino Pro mini是更好的选择。举一个例子,Uno在清醒时使用30-40 mA,在睡眠时使用约19 mA。 Pro Mini在唤醒时使用25mA,在睡眠时使用0.57 mA。由于每个mA在连接到电池时都很重要,你可以看到没有比赛,Arduino Pro Mini是赢家。

注意:作为初学者,Arduino Pro Mini可能有点令人生畏,但没有理由。是的,您需要将标题焊接到电路板上,并且需要使用FTDI电缆上传草图,但除此之外没有重大差异。

第2步:睡眠模式

当您查看ATmega328p的文档时(单击此链接获取本文档的副本)处理器用于Arduino Uno和Arduino Pro mini,您会注意到那里有许多不同的睡眠模式可用。但在现实世界中,实际上只有一种模式很有用;掉电模式(SLEEP_MODE_PWR_DOWN)。

当您将Arduino置于休眠状态时,它会关闭所有不必要的组件,从而降低MCU(微控制器单元)的功耗。在这种模式下,你可以唤醒它的唯一方法是使用外部影响(例如我们轻轻唤醒它)。我们将在本教程稍后讨论如何执行此操作。

步骤3:中断

在我们进入代码放置Arduino之前睡觉我们需要了解中断概念。描述它的最佳方式是;你正在研究你真正需要关注的事情。你戴着耳机大声爆破你的音乐,淹没你的余情。你如此专注于外面世界对你失去了。引起你注意的唯一方法就是给你一个轻推。在你收到这个轻推之后,你要注意中断的内容,并在处理之后你重新打开音乐并继续你的任务。

注意:我不打算深入了解中断有什么用处,但如果您想了解有关此概念的更多信息,请查看我的教程( 使用中断来改善项目的功能 )

大多数真正的Arduino都有几个引脚可以做到这一点。 Uno和Pro Mini有2个引脚(d2和d3),能够中断Arduino正在做的事情。有了这个,我们可以将Arduino推回到清醒状态。

第4步:代码/草图

您可以从我的下载已完成的完成草图网站点击此链接要获得完整的描述和解释代码如何工作,您可以点击链接:让您的Arduino进入睡眠状态的指南进入我的博客。

第5步:EXERCISE 1

Arduino

Arduino

步骤1)

现在是时候上传草图了。但在此之前,在d2中放了一根跳线。现在就把它拔掉另一端。加载草图并等待5秒钟,LED指示灯熄灭,Arduino进入休眠状态。

步骤2)

LED熄灭后插入跳线的另一端连接Arduino Uno上的GND引脚。这将拉低引脚2 LOW触发中断,从而唤醒正在睡眠的Arduino。 LED重新亮起后,您可以将跳线从GND中取出,5秒钟后,Arduino会重新进入睡眠状态。

对于我使用实时时钟(RTC)唤醒的示例项目湿度和温度数据记录器只需单击以下链接:使用RTC唤醒ARDUINO数据记录器的示例。它是如何在现实世界中发挥作用的一个很好的例子

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分