×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
MCP3208の値取得(2017/7月現在)
・SPIを設定>>Raspberypiの設定でSPIを有効にする
・SPIやWiringPIはすでに組み込まれているのでgetは不要
ピンケーブルの不良
チャネルが間違っている、
・SPIを設定>>Raspberypiの設定でSPIを有効にする
・SPIやWiringPIはすでに組み込まれているのでgetは不要
import spidev
import time
import sys
spi= spidev.SpiDev() #SPIデバイスのオープン
spi.open(0,0) #ce0ポート使用
def adc_read12(ch): #12ビット
r= spi.xfer2([4|2|(ch >> 2), (ch & 3 ) << 6,0])
r= spi.xfer2([4|2|(ch >> 2), (ch & 3 ) << 6,0])
v=((r[1] & 0xF) << 8 ) + r[2]
return v
def conv_volts(data,places):
volts = (data *3.3)/float(4096)
volts=round(volts,places)
return volts
def conv_volts5(data,places):
volts = (data *5.0)/float(4096)
volts=round(volts,places)
return volts
のシフト演算の値が間違っているwhile True:
try:
d=adc_read12(0)
print("adc 0 : {:8} ".format(d))
v=conv_volts(d,4)
print("volts: {:8.2f}".format(v))
time.sleep(1)
except KeyboardInterrupt:
break
spi.close()
・値が不安定の時は、
結線が間違っている
r= spi.xfer2([4|2|(ch >> 2), (ch & 3 ) << 6,0])
・値が不安定の時は、
結線が間違っている
r= spi.xfer2([4|2|(ch >> 2), (ch & 3 ) << 6,0])
ピンケーブルの不良
チャネルが間違っている、
PR