micropython驱动MAX6675读取K型热电偶温度数据

一.基本情况

做加热台的需要测温度,买了一个MAX6675带K型热电偶的模块实验。

项目使用micropython环境,硬件SPI总线读取数据。

MAX6675的读取时序如下:

二.源码

from machine import SPI,Pin




class max6675():
    def __init__(self,spi,cs):
        self.cs=Pin(cs,Pin.OUT)
        self.cs.value(1)#看时序图,不读写数据时为高电平
        self.spi=spi
        self.temprature=0
    
    def readData(self):
        self.cs.value(0)#拉低CS开始读取数据
        rawDataH=spi.read(1)#看时序图,先读取的一个字节为16位数据的高8位
        rawDataL=spi.read(1)#低8位
        self.temprature=(rawDataH[0]*256+rawDataL[0])*2/16*0.25#看datasheet,16位数据转为真实温度数据
        self.cs.value(1)#读取完毕拉高CS
            

spi=SPI(2, baudrate=500000,sck=Pin(4), mosi=None, miso=Pin(6))
#避免IO浪费,初始化SPI总线时,把MOSI初始化为None,确定不占用引脚。
#如果不初始化为None,会缺省使用一些引脚,从而造成引脚占用
#可以这样测试:
#>>> s=SPI(2)
#>>> s
#SPI(id=2, baudrate=500000, polarity=0, phase=0, bits=8, firstbit=0, sck=36, mosi=35,miso=37)
#可以看到MOSI是会缺省占用引脚的

m=max6675(spi,cs=5)
#注意SPI模块没有CS引脚,所以要额外指定CS引脚

m.readData()
print(m.temprature)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值