APP下载

“火星1号”机器人

2017-01-07林委锋

中学科技 2016年12期
关键词:土壤湿度液晶显示屏

林委锋

“老师,今天我们要学习什么呢?”“同学们好!大家看过《火星救援》这部电影吗?电影中的男主角马克通过燃烧氢气制造水,然后用来灌溉土壤,种植土豆。怎样让这珍贵的水资源被充分利用而不浪费呢?一个好的办法是检测土壤的湿度,根据检测的数据来供水。对了,这就要用到土壤湿度检测传感器。现在,就来制作一个有这种功能的机器人,我们给它起个酷酷的名字——‘火星1号。”

“火星1号”机器人要实现的功能是检测土壤的湿度,并且能把检测数据显示出来。如图1所示,实现检测土壤湿度这个功能的模块所需的元件有:Arduino Mega 2560控制板、液晶显示屏I2C LCD1602、土壤湿度传感器。

随着制作的机器人功能越来越多,我们发现Arduino UNO板的接口不够用了,那怎么办呢?这里我们使用了一个新的控制板Arduino Mega 2560,它的数字端口有54个,可以连接更多的设备。但在编程的时候要注意修改主程序工具栏的板卡选项,改为Arduino Mega 2560,否则程序下载的时候会因出错报警。

“火星1号”机器人用到的土壤湿度传感器有4个引脚,分别是电源端VCC、接地端GND、数字输出端DO和模拟输出端AO。传感器使用的电源为3.3~5V。将VCC和GND分别接Arduino板的电源端和接地端,AO接Arduino板的模拟接口端A0,编写一个测试程序,检测传感器是否能工作,将测试结果输出到串口监视器上,如图2- 1、2- 2所示。通过实验可得,当传感器电源VCC接Arduino板的5V时,传感器在没有接触水的情况下,其输出值为1023;将探测端插入土壤中,慢慢给土壤注入水,模拟湿度变化,随着湿度的增加,输出值越来越小。如果传感器电源VCC端接Arduino板的3.3V,在不接触水的情况下,AO输出值会比较小,为746左右。

液晶显示屏I2C LCD1602是一个带有I2C总线转接板的蓝色液晶显示屏。如图3所示,它共有4个引脚,分别是电源端VCC、接地端GND、数据端口SDA、数据端口SCL。液晶屏的VCC端接Arduino板的5V,显示屏的数据端口SDA、SCL接Arduino Mega 2560控制板上的针脚20(SDA)和21(SCL)。如果是使用Arduino UNO,则端口SDA、SCL应分别接Arduino UNO的模拟端口的A4、A5,这两个端口不可接反。

在Ardublock的Generic Hardware中有一个I2C LCD1602液晶显示屏的显示模块,如图4所示。这个模块有4个参数:

(1)print输出端,默认输出一个提示字符串:SainsmartLCD. I2C。

(2)line端,表示显示内容在液晶屏的第几行上显示。

(3)char端,表示显示内容从第几个字符位置处开始显示。

(4)address端,表示数据写入的地址,默认为3F。但有些液晶显示屏的地址不是3F,可能是27或其他。此时可从网上下载地址扫描程序,找到显示屏的写入地址。

将输出端print的提示字符串改为humidity,然后从通信模块中拖出“和模拟量结合”指令,连接到提示字符串后面,再从引脚模块中拖出“模拟针脚”指令,连接到前一指令后。“模拟针脚”后面的参数为A0,也就是前面土壤湿度传感器与Arduino板的连接端口A0。

程序编好后下载到Arduino板并运行,“火星1号”机器人就可以开始工作了!

附:液晶显示屏的地址扫描程序是一个C语言程序(下载地址:http://pan.baidu.com/s/1qYvUSpQ),下载运行后,打开串口监视器,就可以找到液晶屏的数据写入地址。

猜你喜欢

土壤湿度液晶显示屏
一块布就是一个显示屏?
不可压液晶方程组的Serrin解
土壤湿度传感器在园林绿化灌溉上的应用初探
《液晶与显示》征稿简则
基于51单片机控制花盆土壤湿度
苍蝇迷恋显示屏
未来五年LED显示屏出货将保持16%增长
四川盆地土壤湿度时空分布及影响因子分析
中国不同气候区土壤湿度特征及其气候响应
液晶与显示2015年第30卷第1期 目录