はじめに
Raspberry Pi Pico を使ってタッチセンサ(HW-139)を使って簡単なプロジェクトを作成します。タッチセンサを押すことでLEDを点灯させる仕組みを作りながら、HW-139の動作原理についても解説します。
タッチセンサの種類と動作原理
タッチセンサにはいくつかの種類があり、それぞれ異なる方式でタッチを検出します。
静電容量式タッチセンサ(HW-139)
HW-139は静電容量方式のタッチセンサモジュール。物理的なスイッチではなく、指が触れることで反応します。
静電容量式タッチセンサ動作原理
静電容量の変化を検出することで、指の接触を感知します。指がセンサ表面に近づくと、微弱な静電容量の変化が発生し、内部の回路がその変化を検出して出力信号を切り替えます。
抵抗膜式タッチセンサ
抵抗膜方式は、透明な導電性フィルムが2層になっており、指で押すことで層が接触し、電流が流れることで位置を検出します。
抵抗膜式タッチセンサの特徴
・物理的な圧力が必要
・位置検出が可能(座標取得に利用される)
・スマートフォンなどの古いタッチパネルに使用されていた
圧電式タッチセンサ
圧電素子を使用してタッチを感知します。圧力によって発生する電荷の変化を測定することでタッチを検出します。
圧電式タッチセンサの特徴
・振動や圧力を利用する
・比較的感度が高い
・工業用途やセキュリティデバイスに活用される
配線
RaspberryPi Pico | HW-139 |
VSYS(39番) | VCC |
GND(38番) | GND |
GP16(21番) | SIG |
GP15(20番) | LEDアノード |
GND | LEDカソードと抵抗 |
タッチセンサをつかってLEDを操作する
タッチセンサに指を触れるとLEDが点灯します
from machine import Pin
import time
# タッチセンサとLEDのGPIOピン設定
touch_sensor = Pin(16, Pin.IN)
led = Pin(15, Pin.OUT)
while True:
if touch_sensor.value() == 1:
led.value(1) # タッチ時にLED点灯
else:
led.value(0) # タッチされていないときはLED消灯
time.sleep(0.1)
まとめ
ちなみにですが、スバルの初代レヴォーグはハンドルの動きを検出するのにトルクセンサーを使っていました。スバル得意のアイサイトで高速道路を巡航していると、ハンドルを握っていても「ハンドルを握ってください」とよく警告が出てしまっていました。直進している場合はハンドルにトルクを掛けないですから当然です。
新型レヴォーグでは静電容量式のタッチセンサが採用されました。これによりハンドルに触れていれば以前のような警告がでず、快適さがUPしました。
タッチセンサーは日常にもたくさん使われていますので、ぜひご自身でも作ってみてください。
コメント