回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【PinPong Board】室内温湿度提醒仪 简单

头像 天明zzb 2021.05.06 336 0

结合我们PinPong Board开发版的优势,我们之前做一个温湿度提醒仪比较费事的。。。。需要连接oled屏+连接温湿度传感器+连接rgb4彩色灯+…(调代码发现线路接错了,一堆问题,做出来布置线也是一个比较头疼的事情,各种传感器的接法也不一样)然而PinPong Board就轻松解决了我们这一类问题!!!高度集成就是爽😊 

而且还不需要用数据线直接连接电脑,使用wifi通信

太香了。。。。。

材料清单

  • PinPong Board X1

步骤1 阅读手册里面的案例教程,设置wifi

代码
# -*- coding: utf-8 -*-

import time
from pinpong.board import Board,Pin,WIFI
from pinpong.libs.dfrobot_ssd1306 import SSD1306_I2C #导入ssd1306库

Board("PinPong Board").begin()#初始化,选择板型和端口号,不输入端口号则进行自动识别

oled=SSD1306_I2C(width=128, height=64) #初始化屏幕,传入屏幕像素点数
obj = WIFI()


ssid = "hitest"                            #wifi名
password = "12345678"                      #wifi密码

obj.set_ssid(ssid)                          #设置wifi名
obj.set_password(password)                  #设置wifi密码
obj.connect_wifi()                          #开始连接
print("Waiting for WIFI connection...")
time.sleep(5)

while True:
  ip,port = obj.get_ip_port()
  if ip != None:
    print("ip: {} port: {}".format(ip, port))#打印ip地址和port
    break
  time.sleep(1)

ip = "ip:" + str(ip)
port = "port:"+str(port)
oled.text(ip,0,10) #指定位置显示文字
oled.text(port,0,30)
oled.show()  #显示生效

步骤2 温湿度提醒仪代码如下,如果wifi有问题或不成功的同学建议查看我之前的贴,还是不行先用数据线测试下

代码
import time
from pinpong.board import Board
from pinpong.libs.dfrobot_aht20 import AHT20
from pinpong.libs.dfrobot_ssd1306 import SSD1306_I2C #导入ssd1306库
from pinpong.board import Board,Pin,NeoPixel

ip = "192.168.0.102"  #网络配置中OLEB屏上显示的ip
port = 8081    #网络配置中OLEB屏上显示的port
Board(ip, port)
#Board("PinPong board").begin()#初始化,选择板型和端口号,不输入端口号则进行自动识别

NEOPIXEL_PIN = Pin.D9
PIXELS_NUM = 1 #灯数
oled=SSD1306_I2C(width=128, height=64) #初始化屏幕,传入屏幕像素点数
aht = AHT20()
np = NeoPixel(Pin(NEOPIXEL_PIN), PIXELS_NUM)

while True:
    if not aht.wait_flag:
        aht.measure_template_humidity()
    buf = aht.get_template_humidity()
    if buf == -1:
        print("wait!")
    else:
        oled.text("Hum: ", 8, 15)  # 显示数字
        oled.text(buf[0], 40, 15)  # 指定位置显示文字
        oled.text("%RH", 85, 15)
        oled.text("Tem: ", 8, 40) # 显示数字
        oled.text(buf[1], 40, 40)  # 指定位置显示文字
        oled.text("'C", 85, 40)
        oled.show()  # 显示生效
        print("humidity = {} %RH".format(buf[0]))
        print("template = {} ℃".format(buf[1]))
        print("---------------------------")
        if 60>buf[0] >30:
            np[0] =(0, 255 ,0)
        else:
            np[0] = (255, 0, 0)
    time.sleep(0.5)

查看了相关资料:

人的体感并不单纯受气温或气湿两种因素的影响,而是两者综合作用的结果。通过实验测定,最宜人的室内温湿度是:冬天温度为18至25℃,湿度为30%至80%;夏天温度为23至28℃,湿度为30%至60%。在此范围内感到舒适的人占95%以上。在装有空调的室内,室温为19至24℃,湿度为40%至50%时,人会感到最舒适。如果考虑到温、湿度对人思维活动的影响,最适宜的室温度应是18℃,湿度应是40%至60%,此时,人的精神状态好,思维最敏捷,工作效率高。

这里我的湿度范围为30%—60%之间,不再这个范围内的rgb灯闪红色,在范围内的闪绿色,并且oled屏实时显示温湿度

 

比如还想加入蜂鸣器的小伙伴可以直接加入哦😯

最后说下,这个显示屏用python显示的字符只能是英文字符,中文符号和其他特殊符是不显示滴

project-image
project-image

步骤3 放一个显眼的地方,让它完成自己的使命!

评论

user-avatar