忍者ブログ
[328]  [327]  [326]  [325]  [324]  [323]  [322]  [321]  [319]  [318]  [316
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

MCP3208の値取得(2017/7月現在)

・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])
    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])
 のシフト演算の値が間違っている
 ピンケーブルの不良
 チャネルが間違っている、


拍手

PR
カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
フリーエリア
最新CM
[03/10 DORA]
最新TB
プロフィール
HN:
dorabu
性別:
非公開
バーコード
ブログ内検索
P R
Copyright © ドラブーのアンドロイドとIoTなブログ All rights reserved. / Template by 四季. / Material by てんせん.

忍者ブログ [PR]