Android 运动检测相机由 Arduino MCU 控制
组件与材料
| 组件 | 数量 |
|---|---|
| Arduino UNO | 1 |
| 超声波测距模块 HC-SR04 | 1 |
| 白色 LED | 1 |
| 光敏电阻 (LDR) | 1 |
| 面包板 | 1 |
| 杜邦线若干 | 1 |
项目原理
利用智能手机耳机线的音量键作为快门触发:耳机麦克风和地线之间接一个固定电阻,当光敏电阻 (LDR) 受光电阻变化时,模拟音量键按下,触发相机拍照。Arduino 控制 LED 照射 LDR,配合超声波测距模块检测运动。
制作步骤
- 准备耳机线:剪断耳机左右声道线,保留红色 (麦克风) 和黑色 (地) 两根线,焊接杜邦线。
- 接线:
- Arduino 引脚 2 → 白色 LED (阳极),LED 阴极接地
- Arduino 引脚 6 → HC-SR04 Trig
- Arduino 引脚 7 → HC-SR04 Echo
- HC-SR04 VCC 接 5V,GND 接地
- 耳机红线 → LDR 一脚,黑线 → LDR 另一脚
- LDR 与 LED 面对面固定,用黑色胶带遮光隔离
- 上传代码,给 Arduino 供电,将耳机插头插入手机,打开相机 App。
- 测试:在超声波模块前放置物体,手机会自动拍照。
工作原理详解
超声波模块测距,当距离小于 30cm 时,Arduino 点亮 LED,LDR 电阻降低,相当于按下了耳机音量键,触发手机快门。LED 与 LDR 组成光耦合器,实现电气隔离。
代码
#define pingTrig 6
#define pingEcho 7
int cameratrigger = 2;
int led = 3;
void setup() {
Serial.begin(9600);
pinMode(pingTrig, OUTPUT);
pinMode(pingEcho, INPUT);
delay(200);
pinMode(led, OUTPUT);
pinMode(cameratrigger, OUTPUT);
}
void loop() {
long duration, inches, cm;
digitalWrite(pingTrig, LOW);
delayMicroseconds(2);
digitalWrite(pingTrig, HIGH);
delayMicroseconds(10);
digitalWrite(pingTrig, LOW);
duration = pulseIn(pingEcho, HIGH);
cm = duration / 29 / 2;
Serial.print("-->");
Serial.println(cm);
if (cm < 30) {
digitalWrite(cameratrigger, HIGH);
digitalWrite(led, HIGH);
delay(200);
digitalWrite(cameratrigger, LOW);
digitalWrite(led, LOW);
delay(200);
}
}
原理图
制造工艺
- 掌握树莓派 GPIO:在 B+/Model 2 上接入 PIR 运动传感器
- HC‑SR501 PIR 运动传感器与树莓派接线、校准与 Python 编程全指南
- Arduino Mega 按键 PWM 调光:三阶段渐变 LED 实战教程
- 基于模拟传感器的高精度压力与气流测量装置
- Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
- ESP32-CAM 运动检测安防相机,推送照片到 Discord
- DHT11 温湿度传感器项目:LED 指示与压电蜂鸣器报警
- K30 CO₂ 传感器:室内空气质量实时监测
- Unopad:基于 Arduino 的无缝 Ableton Live MIDI 控制器
- MyRiver:基于 Arduino MKR FOX 1200 的河流水质远程监测系统
- 自制简易红外避障传感器:IR LED + 光电二极管 + Arduino
- DFRobot 电容指纹传感器 (ID809) 接入 Arduino/ESP8266 完整教程