当前位置: 首页 > 科技观察

如何使用Arduino开发灌溉系统

时间:2023-03-22 00:33:13 科技观察

几周前,我给父亲看了一个最近的项目:用Arduino远程控制IR/RF设备,但他抱怨我还没有为他开发遥控设备.灌溉系统。我们有几英亩的土地需要灌溉,以前使用中央泵和管道。然而,当时他需要一个遥控水泵这一事实对我来说是一个新的挑战,对你来说也是如此,所以我向父亲询问了他的具体需求。他告诉我他需要一个可以让他打电话或发短信给手机号码来控制远程水泵启动和停止的设备,如果灌溉系统出现问题,系统会发送一条短信并关闭水泵及时。过去灌溉是用很多线轴连接到水泵,但仍然存在电力不足、管道连接不正确或管道需要加压等问题。由于上述问题的突发性,一个能及时提醒您并保存现场数据的系统是非常有价值的。即使你在事发12小时后回到农场,你仍然会发现灌溉地点是在水管破裂前5分钟。Arduino来拯救Arduino非常适合这样的项目:低成本,只需要一个电源,没有系统会死机/挂起,有大量的标准外围设备。听起来这个想法很适合我,所以我在互联网上搜索了一个ArduinoGSM模块。***,找了个模块和openlibrary才30块钱,很便宜。整个系统的成本约为50美元,而大多数其他系统的成本为700美元。幸运的是,GSMLib易于使用,一旦我弄清楚哪些管脚有效,哪些无效,我就开始研究它。一个简短的例子,当一个经过身份验证的电话号码向您发送短信时,您需要做的就是:stat=call.CallStatusWithAuth(number,1,3);if(stat==CALL_INCOM_VOICE_AUTH){call.HangUp()sms.SendSMS(number,value_str);}系统描述最终的泵控制系统相当简单。启动或关闭方法由模拟开/关按钮的继电器或两个继电器系统实现。我想要的是对这两种方法的支持,这不是很困难。除了输出,还有输入。系统启动运行时,相应的继电器通??断;当出现错误(断电,低电压,高温)时,三个继电器可能会打开。我们的软件一般需要在系统启动和停止时发送短信(任何原因,无论您是否通过电话打开系统),当错误继电器触发时,将发送短信并说明具体原因错误。我们还想要一种取消SMS发送的方法,而不是确保您在泵旁边手动打开/关闭系统时不会收到不相关的消息(很明显,当您站在旁边时tothepump,turnoffThewaterpump,thepressureisgone,youdon'tneedtoreceivetextmessagesanymore)短信发送功能可以通过简单的选择输入来开启或关闭。当然还有一些小问题需要考虑,比如错误继电器不与其他组件关联(所有其他错误继电器会在电源关闭时继续运行,因此您只需要发送“powergone”消息),错误特定于错误的条件(例如,关闭系统会触发“压力下降”错误),但这一切都非常简单。实现错误信息实现错误信息的功能只需要几行代码。最初,我们检测继电器的状态是否发生变化(我们希望边沿触发以避免在错误继电器保持活动状态时出现虚假循环。例如:for(chari=0;i