Arduino 简易测谎仪:基于皮肤电导响应 (EDA) 的情绪可视化实验
项目定位与科学边界
本项目演示**皮肤电导活动 (EDA/GSR)** 原理:情绪激动 → 交感神经兴奋 → 汗腺分泌增加 → 皮肤电阻下降(电导上升)。Arduino Nano 采集手指电极电压分压信号,通过串口绘图器实时绘制波形。**注意:这不是专业测谎仪**,专业设备需融合心率、呼吸、血压多通道生理指标,且需严格校准与基线建立。本项目仅供科普教学、生理信号入门与趣味互动。
硬件清单
| 元件 | 数量 | 备注 |
|---|---|---|
| Arduino Nano R3 | 1 | 体积小、引脚全、便于装盒 |
| 2 kΩ 电阻 | 1 | 分压下拉,接 A0 与 GND |
| 红/绿/橙 LED | 各 1 | 指示电导水平:低/中/高 |
| 导线、铝箔、魔术贴 | 若干 | 制作指套电极 |
| 纸板、热熔胶、胶带 | 1套 | 外壳 |
电路原理
5V ──────────────────┬───── 手指电极(铝箔)
│
A0 ◄── 采样点
│
2 kΩ
│
GND ──── 另一手指电极
- 人体皮肤电阻约 10 kΩ~1 MΩ,与 2 kΩ 形成分压器,A0 读取 0~1023 对应 0~5 V。
- 电导 ↑ → 皮肤电阻 ↓ → 分压电压 ↑ → A0 读数 ↑。
- 三 LED 阈值:>60 红(高唤醒)、>45 橙、>20 绿(基线),对应代码
analogRead(A0)直接判断。
指套电极制作(低成本 DIY)
- 剪两条 2×4 cm 魔术贴(公/母各一),内侧粘贴铝箔条(覆盖指腹)。
- 导线剥皮绞合铝箔边缘,热熔胶加固绝缘。
- 佩戴时调整松紧,保证铝箔紧贴指腹但不阻碍血液循环。
- 两电极分戴**同侧手相邻两指**(如食指、中指),减少共模干扰。
固件代码(极简版)
const uint8_t LED_GREEN = 2, LED_ORANGE = 3, LED_RED = 4;
const uint16_t TH_LOW = 20, TH_MID = 45, TH_HIGH = 60;
void setup() {
Serial.begin(9600);
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_ORANGE, OUTPUT);
pinMode(LED_RED, OUTPUT);
// 自检动画
for (uint8_t p : {LED_GREEN, LED_ORANGE, LED_RED}) {
digitalWrite(p, HIGH); delay(500); digitalWrite(p, LOW);
}
}
void loop() {
int val = analogRead(A0);
digitalWrite(LED_GREEN, val > TH_LOW);
digitalWrite(LED_ORANGE, val > TH_MID);
digitalWrite(LED_RED, val > TH_HIGH);
Serial.println(val); // 串口绘图器实时波形
delay(20); // 50 Hz 采样
}
实验流程与观察指南
- 建立基线:受试者静坐 1 分钟,记录典型数值范围(如 15~35)。
- 中性提问:“姓名、住址、今天日期”,确认波形平稳。
- 诱发提问:“你偷吃过最后一块蛋糕吗?”观察波形是否出现尖峰(幅值跃升 >30%)。
- 干扰源控制:深呼吸、肢体运动、环境温度变化均会产生伪迹,**必须**同步记录视频备查。
数据导出与分析
- Arduino IDE **串口绘图器** 实时看波形。
- 复制串口监视器文本 → Excel/Python Pandas 绘图、计算峰值、斜率、恢复时间。
- 进阶:Python
pyserial+matplotlib.animation做滚动波形窗口,自动标注峰值。
常见问题与改进
| 问题 | 原因 | 改进 |
|---|---|---|
| 读数漂移/饱和 | 电极接触不良/电解极化 | 改用 Ag/AgCl 医用电极 + 电极膏;或交流激励法(需运放) |
| 基线极高(>800) | 手心多汗 / 电阻并联过小 | 增大下拉电阻至 10 kΩ,或改用仪表放大器 INA826 |
| 50 Hz 市电干扰 | 人体作天线耦合 | 屏蔽线、电池供电、软件数字陷波滤波 |
| 三 LED 同时亮/灭 | 阈值设置不合理 | 根据基线动态校准:TH_LOW=baseline+5 等 |
伦理与法律提醒
- **严禁**用于司法、雇佣、安检等具法律后果场景。
- 受试者必须**知情同意**,实验前说明原理、局限与数据用途。
- 数据本地化存储,不上传云端,实验后主动删除。
一句话总结:用 2 kΩ 电阻 + 两片铝箔 + Arduino Nano,5 分钟搭建可视化皮肤电导演示装置,直观体验“情绪会改变电导”这一心理生理现象,适合 STEM 教学与创客入门。
制造工艺
- 自制LUMAZOID:基于Arduino的音乐可视化灯光控制器
- Arduino 数字骰子:LCD 显示随机点数的电子骰子
- Arduino 音频频率检测:基于 FFT 测量最响亮声音峰值
- Arduino + HC-05 蓝牙控制 LED:MIT App Inventor 手机 App 开发全攻略
- DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- 打造功能完整的 Arduino 驱动 3D 打印机械臂:分步指南
- 互动 LED 矩阵门显:PIR 触发节日问候 + 待机特效
- DIY Arduino 加湿器控制器:继电器安全控制高压电路
- 从零构建智能 Arduino 四足机器人:完整指南
- Arduino RGB LED调色器:三电位器混色入门项目
- 用 Arduino Uno 和 1Sheeld 构建 4x4x4 LED 立方体 - 互动音乐可视化项目