Arduinoで作る簡易ポリグラフ(嘘発見器):皮膚電気活動(EDA)をリアルタイム可視化
概要
Arduino Nanoと2本の指電極で皮膚コンダクタンス(電気伝導度)を測定し、Arduino IDEのシリアル・プロッタでリアルタイム・グラフ表示する「簡易ポリグラフ」です。質問に対する生理的反応(緊張→発汗→コンダクタンス上昇)を可視化し、「嘘」の可能性を示唆します。※法的証拠能力なし。娯楽/教育用途のみ。
原理:電気皮膚反応(EDA/GSR)
交感神経興奮→汗腺活性化→皮膚表面の水分/電解質増加→電気抵抗低下(コンダクタンス上昇)。指先に微弱電流を流し、電圧降下からコンダクタンスを推定します。ArduinoのADC(10bit, 0-1023)で読み取り、シリアル出力。
必要なパーツ
- Arduino Nano R3 ×1
- 2kΩ 抵抗 ×1(電流制限/分圧)
- LED 緑/橙/赤 ×各1(レベル表示用)
- ベルクロ・テープ、アルミ箔(指電極自作用)
- 長めの導線 ×2(アナログ入力A0用、5V用)
- 段ボール、ホットグルー、テープ(ケース自作用)
- はんだごて、ハンダ、ワイヤー・ストリッパー
回路図
5V ───┬─── 長い導線 ─── 指電極(アルミ箔+ベルクロ) ─── 人体 ─── 指電極 ─── 長い導線 ─── A0
│
└─── 2kΩ ─── GND
D2 ─── 緑LED ─── 220Ω ─── GND (低レベル: 20以上)
D3 ─── 橙LED ─── 220Ω ─── GND (中レベル: 45以上)
D4 ─── 赤LED ─── 220Ω ─── GND (高レベル: 60以上)
※LED用抵抗は記載なしだが220Ω推奨。電極間に2kΩを挟むことで最大電流≈2.5mAに制限(安全)。
スケッチ(全文)
void setup() {
Serial.begin(9600);
pinMode(2, OUTPUT); // 緑
pinMode(3, OUTPUT); // 橙
pinMode(4, OUTPUT); // 赤
// 起動時LEDテスト
digitalWrite(2, HIGH); delay(500);
digitalWrite(3, HIGH); delay(500);
digitalWrite(4, HIGH); delay(500);
}
void loop() {
int val = analogRead(A0);
// LED段階表示
digitalWrite(4, val > 60 ? HIGH : LOW); // 赤: 高ストレス
digitalWrite(3, val > 45 ? HIGH : LOW); // 橙: 中ストレス
digitalWrite(2, val > 20 ? HIGH : LOW); // 緑: 反応あり
Serial.println(val); // プロッタ用出力
delay(20); // 50Hzサンプリング
}
使い方
- 指電極を人差し指と中指(または薬指)に巻き付け、しっかり密着させる
- ArduinoをPC接続、IDEでスケッチ書き込み
- ツール → シリアル・プロッタ(ボーレート9600)を開く
- 被験者をリラックスさせ、基準値(ベースライン)を確認
- 既知の事実質問(「名前は?」「住所は?」)でベースライン確定
- 重要質問を挟み、グラフの急上昇(コンダクタンス増)を観察
ケース自作のポイント
- 段ボールで「電子部品室(6cm幅)」と「電極収納室(9cm幅)」を仕切り
- 蓋にLED用穴3つ、電極コード用スリット
- 電極室の蓋はヒンジ式(テープ留め)で開閉可
- NanoのUSBコネクタ用切り欠き必須
限界と注意点
- 真のポリグラフは呼吸・心拍・血圧も同時測定。本機はEDA単一指標のみ
- 個人差大:ベースライン校正必須、同一人物の同条件比較のみ有効
- 動作アーティファクト(体動、会話、温度変化)でノイズ発生
- 電極接触不良でドリフト/スパイク発生しやすい
- 結果を対人判断/法的用途に使わないこと
改良アイデア
- AD8232等の専用フロントエンドICでノイズ除去・増幅
- 3Dプリント電極ホルダーで接触安定化
- Bluetooth(HC-05/ESP32)でワイヤレス化、スマホアプリでグラフ表示
- 心拍センサー(MAX30102)併用で多チャネル化
- 機械学習(TinyML)でパターン分類自動化
まとめ
最小部品で「生体信号可視化」を体験できる優れた入門プロジェクト。Arduino標準機能(ADC, Serial Plotter)のみで完結し、ハードウェア・ソフトウェア両面の学習効果が高い。ただし「嘘発見」としての信頼性は極めて低く、あくまで「身体反応の可視化デモ」として楽しむのが正しい使い方です。
製造プロセス
- 自作LUMAZOID:Arduino音楽ビジュアライザーDIYガイド
- Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
- Arduinoオーディオ周波数検出器 – 高感度サウンドモジュールで最大音量ピークの周波数を測定
- ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
- Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
- ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
- Arduino駆動3Dプリントロボットアームの製作:ステップバイステップガイド
- PIRセンサー連動 インタラクティブLEDマトリクスドアディスプレイ - ホリデーグリーティング
- DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
- スマートArduino四足歩行ロボットの製作:ステップバイステップガイド
- Arduino RGB LEDカラーミキサー:初心者向けDIYプロジェクト