概要
前回 MCP3002 を使って温度センサーを使ってみました
今回は圧力センサーの情報を MCP3002 を使って取得してみました
環境
- Raspberry Pi Type B Single Board Computer 512MB
- Raspbian 8.0 (Jessie)
- Kernel Version 4.1.7+
- Python 2.7.9
- pip 7.1.2
- spidev 3.1
- 圧力センサー -> 感圧センサ円形0.5インチ
事前準備
SPI を有効にする方法や Python 用のドライバは前回と同様です
あらかじめインストールしておいてください
配線
RaspberryPi + ブレッドボードを使った配線です
fritzing を使った配線図は以下の通りです
ポイント
圧力センサーにジャンパを接続するにはハンダごてとハンダが必要になります
とりあえず接触させておけば OK なので、ハンダじゃなくてもいいですが、固定したかったので自分はハンダを使いました
MCP 3002 で信号を受信する部分は前回と一緒です
違うのは圧力センサーでアナログ信号を受信する部分です
片方は電源 3.3V に接続します
もう片方は信号を出力するジャンパとして使います
受信する前に 10K オームの抵抗を接続して回路を安定させています
回路が作成できたら RaspberryPi の電源を入れます
ソースコードのデプロイ
- cd ~
- mkdir -p work/mcp3002_pressure
- cd work/mcp3002_pressure
- touch pressure_sample.py
#!/usr/bin/env python
# Read the analog sensor value via MCP3002.
import spidev
import time
import subprocess
# open SPI device 0.0
spi = spidev.SpiDev()
spi.open(0, 0)
try:
while True:
resp = spi.xfer2([0x68, 0x00])
value = (resp[0] * 256 + resp[1]) & 0x3ff
print value
time.sleep(1)
except KeyboardInterrupt:
spi.close()
- python pressure_sample.py
1 秒おきにセンサーで受信したデータを表示します
強く押した場合に値が上昇します
10bit の A/D コンバータなので最大値は 1024 になります
この値を if 分等で切り分けて強弱を判断する感じです
0 件のコメント:
コメントを投稿