IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 传感器实验——LCD显示SHT20 -> 正文阅读

[Python知识库]传感器实验——LCD显示SHT20

MR开发板

在这里插入图片描述

SHT20温湿度传感器

由瑞士推出的 SHT20数字温湿度传感器,基于领先世界的CMOSens ? 数字传感技术,具有极高的可靠性和卓越的长期稳定性。全量程标定,两线数字接口,可与单片机直接相连,大大缩短研发时间、简化外围电路并降低费用。此外,体积微小、响应迅速、低能耗、可浸没、抗干扰能力强、温湿一体,兼有露点测量,性价比高,使该产品能够适于多种场合的应用。

在这里插入图片描述

1.54寸液晶屏st7789 spi

在这里插入图片描述
之前用的是所谓的硬I2C。好处就是简单,坏处就是万一我板子的I2C都被占了,就没法玩了?我们今天试试软I2C~就是普通引脚模拟I2C功能。之前小伙伴私信我说用屏每次都要在主函数文件引入一堆东西很烦,今天咱一起解决。

引脚说明

开发板sht20
A1SCL
A0SDA
3.3vVCC
GNDGND

示例代码

main.py
主文件就这些东西了。。其他引用即可。

# main.py -- put your code here!
from SHT20 import SHT20
import pyb
import lcd

WS=SHT20()
lcd = lcd.LCD()
while True:
    T = WS.TEM()  # 获取温度
    H=WS.HUM()  # 获取湿度
    #print('tem:',round(T,2),'hum:',round(H,2))  #获取的值保留2位小数
    lcd.chars('tem: '+str(round(T,2))+"        ",65, 90)#空格以防超出显示限制补位使用
    lcd.chars('hum: '+str(round(H,2))+"        ",65,120)
    pyb.delay(1000)

lcd.py

import time
from pyb import SPI,Pin,delay
from ztst7789class import ST7789
import bauhs93
def color565(r, g, b):  #255 255 255
    return (r & 0xf8) << 8 | (g & 0xfc) << 3 | b >> 3
def LCD():
    #---------TFT pin 定义
    RES = Pin('C4')
    BLK = Pin('B10')
    DC = Pin('C5')
    CS = Pin('B11')
    SCL = Pin('A5')
    TFT_MISO_PIN = Pin('A6')
    SDA = Pin('A7')

    bl = Pin(BLK, Pin.OUT)
    LCD = None
    bl.value(1)  #屏幕背光打开
    spi = SPI(1,SPI.MASTER,baudrate=7800000,polarity=0,phase=0)
    LCD = ST7789(spi, cs=Pin(CS), dc=Pin(DC), rst=RES)

    delay(1000)
    
    LCD.erase()  # 清屏显示黑色背景
    LCD.set_font(bauhs93)  #设置字体
    LCD.set_color(color565(255,255,0),color565(0,0,0))
    return LCD

SHT20.py

from machine import Pin, I2C
from struct import unpack as unp
from time import sleep_ms


# SHT20 地址
SHT20_I2CADDR = 64

# SHT20 接口 选用16位
TRI_T_MEASURE_NO_HOLD = b'\xf3'
TRI_RH_MEASURE_NO_HOLD = b'\xf5'
READ_USER_REG = b'\xe7'
WRITE_USER_REG = b'\xe6'       #地址有关
SOFT_RESET = b'\xfe'


class SHT20(object):

    def __init__(self, scl=Pin.cpu.A1, sda=Pin.cpu.A0, clk_freq=400000):  #修改引脚的地方。
        self._address = SHT20_I2CADDR

        pin_c = Pin(scl)
        pin_d = Pin(sda)
        self._bus = I2C(scl=pin_c, sda=pin_d, freq=clk_freq)

    def TEM(self):
        self._bus.writeto(self._address, TRI_T_MEASURE_NO_HOLD)
        sleep_ms(150)
        origin_data = self._bus.readfrom(self._address, 2)
        origin_value = unp('>h', origin_data)[0]
        value = -46.85 + 175.72 * (origin_value / 65536)
        return value

    def HUM(self):
        self._bus.writeto(self._address, TRI_RH_MEASURE_NO_HOLD)
        sleep_ms(150)
        origin_data = self._bus.readfrom(self._address, 2)
        origin_value = unp('>H', origin_data)[0]
        value = -6 + 125 * (origin_value / 65536)
        return value

效果

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 07:42:06  更:2021-07-28 07:42:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年3日历 -2024/3/29 20:14:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码