手势控制机器人:ADXL335 加速度计 + 433MHz 无线遥控
项目概述
本项目实现一款基于手势识别的四轮差速驱动机器人。佩戴在手腕上的 ADXL335 三轴加速度计捕捉手掌倾斜姿态,Arduino Nano 采集模拟量并映射为前进/后退/左转/右转四种指令,经 HT12E 编码、433MHz RF 发射模块无线传输;接收端 Arduino Uno 经 HT12D 解码,驱动 Motor Shield 控制四路直流电机。通讯距离 ~10 米,适合入门级无线机器人教学。
系统架构
┌─────────────────────┐ 433MHz RF ┌─────────────────────┐ │ 发射端 (手腕) │ ─────────────────▶ │ 接收端 (车身) │ │ Arduino Nano │ │ Arduino UNO │ │ ADXL335 (A0/A1/A2) │ │ Motor Shield │ │ HT12E 编码器 │ │ HT12D 解码器 │ │ RF TX (D12) │ │ RF RX (D11) │ └─────────────────────┘ └─────────────────────┘
核心组件清单
| 模块 | 数量 | 关键参数 |
|---|---|---|
| Arduino UNO | 1 | 主控接收端 |
| Arduino Nano | 1 | 发射端,体积小适合穿戴 |
| ADXL335 加速度计 | 1 | ±3g, 模拟输出, 3.3V 供电 |
| RF 433MHz 收发对 | 1套 | ASK 调制, 10m 范围 |
| HT12E / HT12D | 各1 | 4数据位+8地址位, 地址全接地 |
| Adafruit Motor Shield v1 | 1 | L293D 驱动, 4路 DC 电机 |
| TT 减速电机 + 车轮 | 4 | 左右各两轮并联 |
| 9V 电池盒 | 2-3 | 并联供电 Motor Shield |
发射端详解 (Arduino Nano)
ADXL335 接线
X轴 → A0 Y轴 → A1 (原文 A3 为笔误,应为 A1) Z轴 → A2 (可选,本项目未用) VCC → 3.3V (关键!5V 会损坏芯片) GND → GND
HT12E 编码器接线
- A0–A7 (地址位) 全接 GND → 地址码 0x00
- D10–D13 (数据位) 分别接 Nano D9–D12
- TE (发射使能) 接 GND (常使能)
- DOUT → RF TX 模块 DATA 引脚
数据位映射
| Nano 引脚 | HT12E 数据位 | 指令 |
|---|---|---|
| D9 | D10 | 前进 |
| D10 | D11 | 后退 |
| D11 | D12 | 左转 |
| D12 | D13 | 右转 |