基于arduino的自动浇花原理

基于arduino的自动浇花原理,第1张

自动浇花,需要准备arduino、土壤干湿传感器、电动水泵、继电器。

arduino定时询问土壤干湿传感器,获取湿度。当湿度下降到指定值,则让继电器闭合,让水泵浇水,计算浇水量(如计算浇水持续时间),水量充足后,arduino控制继电器断开,让水泵停止浇水。

Arduino语言和C语言很类似。整个Arduino程序可以分为两个大块:setup函数和loop函数。

其中setup(初始化)函数为上电时一开始就执行的函数。类似电脑的开机自启动程序,此函数仅在上电时被执行一次,此后永不执行,除非重启。此函数内的代码一般为各种元件、模块、功能的初始化函数。

而loop(循环)函数则是初始化完成后一直执行的函数。此函数其实为一个无限循环(死循环),里面的代码将被反复执行,直到断电或者重启。大部分的代码都在这个函数内。

在初始化部分中,又有一个pinMode函数,这个函数是用来规定当前管脚功能的。

语法规则:pinMode(引脚编号,模式)

其中模式主要有三种:

OUTPUT——输出

INPUT——输入

INPUT_PULLLUP——带上拉电阻的输入。对于什么是上拉电阻,以后的推送中会介绍。

在这里是规定为输出模式以点亮LED。

若你想让管脚输出或者输入高/低电平,请务必在初始化部分加上这个函数,否则会有很多意想不到的问题!

在循环部分中,有两个函数:

第一个是digitalWrite函数,这个函数是用来规定管脚的输出的。

语法规则:digitalWrite(引脚编号,模式)

其中模式有两种:

HIGH或1——高电平,输出+5V电压

LOW或0——低电平,输出0V电压

第二个是delay函数,这个函数是用来控制延时的。

语法规则:delay(时间)

时间单位为毫秒(ms),1秒等于1000毫秒。

在延迟期间内,处理器将什么也不做直到延时结束,这其实极大地浪费了处理器的性能,故我个人不推荐直接通过delay来实现延时的目的。你可以使用其他方法来替代,具体做法将在以后的推送中介绍。

这样一来,这个程序也就十分清晰明了了:

首先,规定13号引脚,也就是LED_BUILTIN,为输出模式。

然后,让其输出高电平来点亮LED并延迟一秒来维持这种状态。

再后,让其输出低电平来熄灭LED并延迟一秒来维持这种状态。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11980305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存