from machine import Pin class MAX6675: def __init__(self, cs, sck, so): self.cs = cs self.sck = sck self.so = so cs.init(Pin.OUT) # Chip select pin, active low sck.init(Pin.OUT) # Clock, driven by host so.init(Pin.IN) # Data, driven by MAX6675 def read(self): reading = 0 self.cs.off() # Active low for i in range(16): self.sck.off() self.sck.on() reading = (reading << 1) + self.so.value() self.cs.on() if reading & 0x04: raise ValueError("Thermocouple disconnected") degC = (reading >> 3) * 0.25 return(degC)