有幸能得到DFRobot的DHT20和串口数据模块,非常开心。这个测试和应用帖就从DHT20先开始。DHT20温湿度传感器模块因为是I2C接口,因此调试和接线都非常方便。那么这一次就有别与用Arduino环境来调试这个模块,而是选用Mind+的python环境来使用这个模块。
先简单介绍下上面的代码。首先打开mind+,然后按照pinpong库,在pinpong库导入DHT20函数包。然后写出DHT20的接收数据的功能。最后在终端可以看到接收到的数据。
接下来就是应用部分了。只要终端看到数据是不够的。实际应用场合需要能在现场直接看到数据,这时候一个LCD模块就需要部署上了。这个例子就是把LCD 1602-I2C的显示屏给引入进来。
代码
import time
from pinpong.board import Board,Pin
from pinpong.libs.dfrobot_dht20 import DHT20
#Board("uno").begin()#初始化,选择板型和端口号,不输入端口号则进行自动识别
Board("uno","COM6").begin() #windows下指定端口初始化
#Board("uno","/dev/ttyACM0").begin() #linux下指定端口初始化
#Board("uno","/dev/cu.usbmodem14101").begin() #mac下指定端口初始化
dht20 = DHT20()
while True:
print("-------------------------")
print("温度: {} ℃".format(dht20.temp_c()))
print("湿度: {} %".format(dht20.humidity()))
time.sleep(0.5)
这是DHT20的测试代码
代码
import time
from pinpong.board import Board,Pin
from pinpong.libs.dfrobot_dht20 import DHT20
from pinpong.libs.lcd1602 import LCD1602_I2C
#Board("uno").begin()#初始化,选择板型和端口号,不输入端口号则进行自动识别
Board("uno","COM6").begin() #windows下指定端口初始化
#Board("uno","/dev/ttyACM0").begin() #linux下指定端口初始化
#Board("uno","/dev/cu.usbmodem14101").begin() #mac下指定端口初始化
lcd = LCD1602_I2C(i2c_addr=0x27)
dht20 = DHT20()
print("I2C LCD1602 TEST...")
lcd.backlight(True) #打开背光
lcd.clear() #清屏
while True:
print("-------------------------")
print("温度: {} ℃".format(dht20.temp_c()))
print("湿度: {} %".format(dht20.humidity()))
time.sleep(0.5)
lcd.set_cursor(0,0) #设置光标位置
lcd.print("{} C".format(dht20.temp_c()))
lcd.set_cursor(1,1) #设置光标位置
lcd.print("{} %".format(dht20.humidity()))
这是DHT20应用案例的代码
评论