-
谁将登场
LCD 模块
温湿度传感器
-
你将学会
温湿度传感器的使用
LCD 屏的进阶使用
介绍
这节课将实现一个用 LCD 屏显示的温湿度计:
LCD 屏初始显示 “Welcome !” 欢迎字样;
1秒钟后,在第一行显示当前温度,在第二行显示当前湿度;
每秒钟刷新当前温度和湿度的值。
元件
Ruff 开发板
温湿度传感器模块
LCD 模块
外设添加
-
向项目中添加名为
lcd
的 LCD 模块model 选择
lcd1602-02
,驱动版本选择最新版。
-
向项目中添加名为
humirature
的温湿度传感器模块,model 选择 DHT11,驱动版本选择最新版。
代码
初始化
我们首先初始化 LCD 屏以及设置光标:
打开 LCD 屏幕;
-
使用设置
setCursor(x,y)
函数设置光标到(1,0)处并打印欢迎语;LCD 模块的
setCursor
函数用来设置光标,用法如下:
setCursor(x, y, [callback])
-
LCD 模块每行可显示16个字符,共有两行字符,
(0,0)指向第一行第一个字符;
(1,0)指向第一行第二个字符;
(0,1)指向第二行第一个字符;
初始化代码如下:
$('#lcd').turnOn();
$('#lcd').setCursor(1, 0);
$('#lcd').print('Welcome!');
可以在这里复习LCD 模块知识。
温度显示
之后我们解决:如何检测和显示当前温度
-
使用温湿度传感器模块的
getTemperature()
函数获取当前温度:温湿度模块的
getTemperature()
函数语法如下:
getTemperature(callback)
设置光标到第一行第二个字符处;
打印 “temperature” 和当前温度;
使用
setInterval
函数每秒钟重新检测和显示当前温度。温度显示代码如下:
setInterval(function () {
$('#humirature').getTemperature(function (error, temperature) {
if (error) {
console.error(error);
return;
}
$('#lcd').setCursor(1, 0);
$('#lcd').print('temperature: ' + temperature);
});
}, 1000);
湿度显示
之后我们解决:如何检测和显示当前湿度,解决方法和温度类似。
-
使用温湿度传感器模块的
getRelativeHumidity()
函数获取当前湿度:温湿度模块的
getRelativeHumidity()
函数用法如下:
getRelativeHumidity(callback)
设置光标到第二行第二个字符处;
打印 “humility” 和当前湿度;
使用
setInterval
函数每秒钟重新检测和显示当前湿度。湿度显示代码如下:
setInterval(function () {
$('#humirature').getRelativeHumidity(function (error, humidity) {
if (error) {
console.error(error);
return;
}
$('#lcd').setCursor(1, 1);
$('#lcd').print('humidity: ' + humidity);
});
}, 1000);
可以在这里进一步学习温湿度传感器模块知识;
最后,
将初始化、温度显示、湿度显示的实现放在
$.ready
事件下 。
完整代码
'use strict';
$.ready(function (error) {
if (error) {
console.log(error);
return;
}
$('#lcd').turnOn();
$('#lcd').setCursor(1, 0);
$('#lcd').print('Welcome!');
setInterval(
function () {
$('#humirature').getTemperature(function (error, temperature) {
if (error) {
console.error(error);
return;
}
$('#lcd').setCursor(1, 0);
console.log('temperature', temperature);
$('#lcd').print('temperature: ' + temperature);
});
}, 1000);
setInterval(function () {
$('#humirature').getRelativeHumidity(function (error, humidity) {
if (error) {
console.error(error);
return;
}
$('#lcd').setCursor(1, 1);
console.log('humidity', humidity);
$('#lcd').print('humidity: ' + humidity);
});
}, 1000)
});
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。