卒業研究奇 死闘編 工作迷路
Raspberry Pi側の設定が終わったので、残すは工作のみ。
それはもう、ここをみてこのまま作ればいいわけで。
‥‥ん。A/DコンバーターがMCP3002 で、私が買ったキットに付属してるのはMCP3008 。
でデータシートをみにいくと。3002が
で、3008が
それぞれ何を意味してるのかさっぱり。
まあ、VDD/VREF が二つにわかれーのVSSが消滅して、あらたにAGNDとDGNDが出現したことと、チャンネルが増えたということが違うなと。
で、(すごくがんばって)調べたところ、VDD/VREFは電源的な意味あいと考えてよし、でVSS、GNDはアースなので、VSSでつながってた線は、AGND DGNDに読み替えればよしという、「あくまで個人の感想です」レベルで工作を始める。
ラズパイ側のピン配列を上記で確認しつつ。
#!/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で公開している。
spidev ではなく、GPIOライブラリを使っているので、コードもちょっと細かくなる。
見たところ、0.5秒ごとに、センサー値を読んで、変化があれば値(0-1023 の間) で表示する。
みたいなスクリプトで、やっていること自体はそんなかわらなさそう。
でほぼそのままのスクリプトをファイルにして、sudo python (スクリプト名).py で実行、センサーをつまむと、実際123,358‥‥、とか値が画面に表示される。おお。
「やった、もうできた。完成だ」
いや、まったく完成してないけどね。(続)
閑話休題: このときのchromecastしてたのは、これ。めちゃくちゃかっこいい。