关键词: 开发工具, 编程
问:Arduino睡眠模式示例
我决定自行编写示例,说明如何将Arduino设为睡眠状态。你可能会感到疑惑,这有什么必要呢?答案是:如果你制作的项目是由电池供电的话,那么这一设置就会非常有用。让Arduino进入睡眠模式状态可降低电流消耗,从而延长项目的运行时间,而不必频繁更换电池。在许多IOT项目中亦是如此,因为并不需要单片机或外部器件一直运行。
Arduino睡眠模式示例
在启动示例代码中,我们用了两个按钮和两个LED来显示何时唤醒电路板以及何时按下中断按钮。当电路板被唤醒时,连接到引脚13的LED将开始闪烁。当按下连接到引脚11的按钮时,将使Arduino进入睡眠模式,而引脚13的LED也将停止闪烁。要唤醒电路板,只需按下连接到引脚2的按钮即可。按下此按钮时,连接到引脚10的LED将亮起,以表示中断已激活。
- 启动示例代码
- 初始代码接线图
添加实时时钟以唤醒 Arduino
接下来,我们将添加一个RTC(而非按钮)来控制Arduino的睡眠模式和唤醒。我在此项目中使用的是来自Adafruit的物料1528-1598-ND。选择它的主要原因是其配备了内置中断。我原来使用的是DS1307分线板,但我很快发现它并不支持中断,因此无法用于此项目。我还针对此项目下载了一些库。
以下是指向我下载.zip库文件的链接:
- https://github.com/PaulStoffregen/Time——Arduino的计时库
- https://github.com/JChristensen/DS3232RTC——适用于DS3231,包含唤醒Arduino所需的提醒
- 添加 RTC 的代码
- RTC 接线图
添加土壤湿度传感器和温度 / 湿度传感器
为了展示这类传感器的使用示例,我决定制作一个独立的装置监控系统。为此,我将使用土壤湿度探针(1568-1670-ND)和温度/湿度传感器(1528-1172-ND)。该程序现在要做的是检查土壤水份含量和温度。我决定省略此代码草稿中的湿度功能,但只需几行代码就可以再添加回来。
该监控系统会进行检查,以确保土壤湿度不会过低。如果水分含量低于一定水平,系统就会启动水泵或电磁阀。在本例中,我将LED用作指示器,以代替水泵或电磁阀。
对于此代码草稿,你需要安装MPL115A2库,该库可通过Manage Libraries Button进行安装(位于Include Library下的Sketch Menu中),或者你也可以通过以下链接找到zip文件:https://github.com/adafruit/Adafruit_MPL115A2
RTC 和传感器接线图
更多有关Arduino的技术信息, 请查看以下内容:
———————————————————–
如有任何问题,欢迎联系得捷电子Digi-Key客服团队。
中国(人民币)客服
- 400-920-1199
- service.sh@digikey.com
- QQ在线实时咨询 |QQ号:4009201199
中国(美金)/ 香港客服
- 400-882-4440
- 8523104-0500
- china.support@digikey.com
到微信搜寻“digikey”或“得捷电子”
关注我们官方微信
并登记成会员,
每周接收工程师秘技,
赚积分、换礼品、享福利