カイロプラクターの日々

卒業したので改題

卒業研究奇 死闘編 工作迷路

Raspberry Pi側の設定が終わったので、残すは工作のみ。

 

iinpht.jeez.jp

それはもう、ここをみてこのまま作ればいいわけで。

‥‥ん。A/DコンバーターがMCP3002 で、私が買ったキットに付属してるのはMCP3008 。

でデータシートをみにいくと。3002が

f:id:komta:20170206091703p:plain

で、3008が

f:id:komta:20170206091754p:plain

それぞれ何を意味してるのかさっぱり。

まあ、VDD/VREF が二つにわかれーのVSSが消滅して、あらたにAGNDとDGNDが出現したことと、チャンネルが増えたということが違うなと。

で、(すごくがんばって)調べたところ、VDD/VREFは電源的な意味あいと考えてよし、でVSS、GNDはアースなので、VSSでつながってた線は、AGND DGNDに読み替えればよしという、「あくまで個人の感想です」レベルで工作を始める。

pinout.xyz

ラズパイ側のピン配列を上記で確認しつつ。

 

#!/usr/bin/env python

import spidev
import time
import subprocess

#spiデバイスオープン
spi = spidev.SpiDev()
spi.open(0, 0)

try:
    while True:
        res = spi.xfer2([0x68, 0x00])
        value = (res[0] * 256 + res[1]) & 0x3ff
        print value
        time.sleep(1)   #sleep 1sec
except KeyboardInterrupt:
    spi.close()

 意味合いとしては、デバイス(チャンネル0)を呼び出して、かえってきたデータを読んで一秒ごとに画面表示する、スクリプトですよね。

センサーを指でいくらつまもうが、0,0,0,0 表示。

配線が悪かったかな、もう一回見直し。 0,0,0,0

さっきの読み替えが悪かったかな調べなおし。0,0,0,

ワイヤーのコネクタとセンサーのピン(平たい)の適合性がわるからかな。ボードに直指し。0,0,0

‥‥。

 

はい、動きませんでした。

 

こういうまったく、未知のとこでうまくいかないとどうしようもない。

いったん戻るベースキャンプないわけです。

僕にとって電子工作で、いったん退却するところはほぼふもとなわけです。

 

そんなときオトナは、悲しまず、広大なネットから新たな偉人を召還します。

見つかったのは海外の偉人。

 

Using a Force Sensitive Resistor with a Raspberry Pi

 

MCPも3008で配線図もばっちり、Pythonスクリプトgithubで公開している。

gist.github.com

spidev ではなく、GPIOライブラリを使っているので、コードもちょっと細かくなる。

見たところ、0.5秒ごとに、センサー値を読んで、変化があれば値(0-1023 の間) で表示する。

みたいなスクリプトで、やっていること自体はそんなかわらなさそう。

でほぼそのままのスクリプトをファイルにして、sudo python (スクリプト名).py で実行、センサーをつまむと、実際123,358‥‥、とか値が画面に表示される。おお。

 

「やった、もうできた。完成だ」

 

いや、まったく完成してないけどね。(続)

 

 

 

 

閑話休題: このときのchromecastしてたのは、これ。めちゃくちゃかっこいい。


三浦大知 (Daichi Miura) / (RE)PLAY -Music Video-