摩托车生物识别防盗系统:指纹解锁 + Arduino Pro Mini
核心硬件
| 模块 | 型号/规格 | 数量 |
|---|---|---|
| 主控板 | Arduino Pro Mini 5V/16MHz (或 3.3V/8MHz) | 1 |
| 指纹传感器 | FPM10A (UART, 3.3V/5V 兼容) | 1 |
| 继电器模块 | 单路 5V 高电平触发,驱动启动继电器/油泵 | 1 |
| 稳压模块 | Digilent 5V/3.3V 降压模块 (摩托车 12V 转 5V) | 1 |
| 指示灯 | 红/绿/蓝 LED ×3 + 220Ω 限流电阻 | 各1 |
| 辅助 | 焊台、导线、热缩管、电工胶带、长嘴钳 | 1套 |
软件工具
- Arduino Web Editor / Arduino IDE
- Adafruit Fingerprint 库(库管理器直接安装)
系统原理
针对摩托车高盗窃率,设计一套“指纹验证 → 继电器通断”防盗装置:
- 上电初始化,蓝灯常亮表示传感器就绪
- 红灯常亮等待录入指纹
- 验证通过 → 绿灯亮、继电器吸合(接通启动线路)
- 再次验证同一指纹 → 红灯亮、继电器断开(熄火锁车)
- 非授权指纹 → 红灯闪烁拒绝,继电器保持原状态
接线说明
| 模块引脚 | Arduino 引脚 | 备注 |
|---|---|---|
| FPM10A TX (绿线) | D2 (SoftwareSerial RX) | 传感器发 → MCU 收 |
| FPM10A RX (白线) | D3 (SoftwareSerial TX) | MCU 发 → 传感器收 |
| FPM10A VCC | 5V | 传感器支持 3.3~5V |
| FPM10A GND | GND | |
| 继电器 IN | D7 | 高电平触发 |
| 蓝 LED | D4 | 系统就绪 |
| 绿 LED | D5 | 解锁/行驶 |
| 红 LED | D6 | 锁定/错误 |
关键代码逻辑
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
const byte RELAY = 7, LED_B = 4, LED_G = 5, LED_R = 6;
bool ignition = false; // 启动线路状态
void setup() {
pinMode(RELAY, OUTPUT); digitalWrite(RELAY, HIGH); // 继电器常开,默认断路
pinMode(LED_B, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_R, OUTPUT);
digitalWrite(LED_B, HIGH); // 蓝灯亮:传感器初始化中
finger.begin(57600);
if (!finger.verifyPassword()) while(1); // 传感器通讯失败死循环
digitalWrite(LED_B, LOW);
digitalWrite(LED_R, HIGH); // 红灯亮:等待指纹
}
void loop() {
if (getFingerprintIDez() != -1) { // 验证成功
ignition = !ignition; // 翻转状态
digitalWrite(RELAY, !ignition); // 低电平吸合
digitalWrite(LED_G, ignition);
digitalWrite(LED_R, !ignition);
delay(500); // 防抖
}
delay(50);
}
// 简易验证:返回指纹 ID 或 -1
int getFingerprintIDez() {
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
return finger.fingerID; // 成功返回 ID
}
安装建议
- 继电器串联在启动继电器控制线或油泵供电线(需确认车型线路图)
- 指纹模块嵌入把手/油箱盖内侧,仅露出感应窗,防水防尘
- Pro Mini 焊接排针而非直插,配合排母便于拆维修
- 车辆 12V 经降压模块供电,加装 TVS 二极管防尖峰
- 预留 ISP 接口(或 USB 转 TTL)以便后期升级固件
原理图

🔐 扩展想法:加入 GPS 定位、蓝牙 APP 管理指纹库、震动报警推送、远程熄火。代码基于 Adafruit 例程精简,极其稳定,适合二次开发。
制造工艺
- 基于 Edge Impulse 的 TinyML 语言检测器:Arduino Nano 33 BLE Sense 实战
- Arduino 数字骰子:LCD 显示随机点数的电子骰子
- 多位置温度传感器系统,助力智能家居集成
- 用 Arduino Nano 自制 37 灯珠轮盘赌游戏机
- MyRiver:基于 Arduino MKR FOX 1200 的河流水质远程监测系统
- ATtiny85 迷你街机:贪吃蛇 — 打造掌上 OLED 游戏机
- 便携测距仪 DIY 套件:Arduino Nano + HC-SR04 + 18650 电池 + 3D 打印外壳
- 铜电镀智能系统:基于 Arduino UNO 的可控电解装置
- Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
- Arduino Nano 多传感器气象站:BMP280 + DHT11 + GUVA-S12SD + DS3231 + OLED
- 使用 Arduino 移位寄存器创建绚丽灯光序列
- 基于 Arduino MKR GSM 1400 和 Hologram IoT 的智能腕带