日々の記録

日々の記録

PR

×

キーワードサーチ

▼キーワード検索

サイド自由欄

2016.01.16
XML
カテゴリ: Raspberry pi
最近、ラズベリーパイで遊んでいる。

Aruduinoでは、アナログ入力は容易だが、Raspberry piではAD変換をしないといけない。
そこで購入したのがMCP3208。

ただ、MCP3008用に書かれたpythonプログラムはネット上にあったが、MCP3208用のは見つからず、そのまま用いても動かない。

問題は、以下の部分。

MCP3008用
def readAdc(channel):
adc = spi.xfer2([1,(8+channel)<<4,0])

return data

def convertVolts(data):
volts = (data * 3.3) / float(1023)
volts = round(volts,4)
return volts

特に、spi.xfer2とその次の行で変更が必要と感じた、

そこで、以下のように変更
MCP3208用

def readAdc(channel):
adc = spi.xfer2([6+((channel&4)>>2),(channel&3)<<6,0])
data = ((adc[1]&15) << 8) + adc[2]


def convertVolts(data):
volts = (data * 3.3) / float(4095)
volts = round(volts,4)
return volts

きちんと動いた。






お気に入りの記事を「いいね!」で応援しよう

最終更新日  2016.01.16 18:35:00
[Raspberry pi] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: