[ Ruff 开发套件 ] Lesson 4 - LCD 温湿度计

图片描述

  • 谁将登场javascript

    • LCD 模块html

    • 温湿度传感器java

  • 你将学会函数

    • 温湿度传感器的使用学习

    • LCD 屏的进阶使用spa

介绍

这节课将实现一个用 LCD 屏显示的温湿度计:code

  • LCD 屏初始显示 “Welcome !” 欢迎字样;htm

  • 1秒钟后,在第一行显示当前温度,在第二行显示当前湿度;blog

  • 每秒钟刷新当前温度和湿度的值。事件

元件

  • Ruff 开发板

  • 温湿度传感器模块

  • LCD 模块

外设添加

  • 向项目中添加名为lcd的 LCD 模块

    • model 选择lcd1602-02,驱动版本选择最新版。

  • 向项目中添加名为humirature的温湿度传感器模块,

    • model 选择 DHT11,驱动版本选择最新版。

代码

  • 在编写代码以前须要完成 Ruff 开发板的设置链接、硬件连线。若是有疑问你们能够到这里了解。

  • 想了解 Ruff 应用开发步骤和模型,能够到这里

初始化

咱们首先初始化 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)
});
相关文章
相关标签/搜索