ラズパイでMCP9600の実装されているキットを購入して恒温槽の温度監視を行うことになった。
●問題
1.I2Cで読み出すとLSBが化けるときがある
これは多分ラズパイのI2Cで使用している抵抗値が関係していそうだ。スイッチサイエンスのIC温度センサでは発生しない。
2.連続運転状態で電源アラームがPython3で実行中のプログラムで表示された。これは自分の今回制作したプログラムには入っていない。
たまにモニタ右上に稲妻マーク。USB2.5Aのアダプタで使っている。
今回の熱電対治具と合計で(5.15V、0.52A)だ。電圧の変動に弱いらしい。
#!/usr/bin/env python import colorama from colorama import Fore, Back, Style import smbus import time i2c = smbus.SMBus(1) cnt = 0 #colorama.init(autoreset=True) cmd = [0x67,0x66,0x65,0x64,0x63] def getTemp(addrs_seq): addr = cmd[addrs_seq] block = i2c.read_i2c_block_data( addr,0x0,2) val = block[0]<<8 val = val | block[1] if(val >= 0x7fff): val = val - 0xffff result = val * 0.0625 return result n = 0 while 1: while 1: raw = getTemp(n) if raw>17: break rt = raw print( Fore.WHITE + "", end="") print(cnt,": ",end='') if raw > 27: print( Fore.RED + "", end="") print("{0:.1f}".format(rt),"℃") else: print( Fore.WHITE + "", end="") print("{0:.1f}".format(rt),"℃") n += 1 if n>4: n = 0 print(Fore.GREEN + "------------") cnt +=1 time.sleep(0.5)No tags for this post.