项目概述
我们将制作一个基于Arduino的、由纸杯构成的简单移动机器人,它将有两个轮子(由电机驱动),可以通过蓝牙或Wi-Fi模块,用手机或电脑进行无线遥控。
我们将分为三个难度级别来介绍:
- 入门级: 线路遥控(使用传统遥控器)
- 进阶级: 蓝牙遥控(使用手机APP)
- 高级版: Wi-Fi/物联网遥控(通过网页或MQTT协议)
核心组件
无论哪个级别,以下都是你需要的核心硬件:
| 组件名称 | 功能 | 备注 |
|---|---|---|
| 纸杯 | 机器人身体 | 1-2个,大小根据电机选择 |
| Arduino主控板 | 机器人“大脑” | 推荐Arduino UNO R3 或 Nano |
| 电机驱动模块 | 控制电机转动 | L298N 是最常用、性价比最高的选择 |
| 直流减速电机 | 提供动力 | 带轮子的TT马达最佳,通常用2个 |
| 电源 | 提供能量 | 18650锂电池组(带充电座)或 7.4V 锂聚合物电池 |
| 车轮 | 连接电机 | 通常TT马达已包含 |
| 万向轮/球轮 | 作为前轮或支撑轮 | 保持机器人平衡 |
| 螺丝、导线、双面胶 | 固定和连接 | - |
入门级 - 红外/无线电遥控
这种方式最简单,使用现成的遥控器套件。
所需额外组件
- 红外遥控接收头 和 红外遥控器,或者
- 433MHz 无线接收模块 和 433MHz 无线遥控器
制作步骤
-
组装底盘:
- 将两个电机固定在纸杯的两侧底部,可以用热熔胶或双面胶,但螺丝更牢固。
- 在纸杯的前方或后方中心位置,安装一个万向轮作为支撑。
- 将电机驱动模块L298N固定在纸杯的顶部或内部。
-
电路连接:
- Arduino -> L298N:
IN1,IN2-> 控制左电机正反转IN3,IN4-> 控制右电机正反转+12V,GND-> 连接电源正负极+5V-> 如果需要,可以为Arduino供电
- Arduino -> 遥控接收器:
VCC,GND-> 接Arduino的5V和GNDDATA-> 接Arduino的数字引脚(如D2)
- 电源 -> L298N: 将电池连接到L298N的电源输入端。
- Arduino -> L298N:
-
编程思路:
- 首先通过库(如
IRremote.h)解码遥控器按键信号。 - 为每个按键(如上、下、左、右)编写一个函数,控制对应电机的转动方向。
- 前进: 左电机正转,右电机正转。
- 后退: 左电机反转,右电机反转。
- 左转: 左电机停止/反转,右电机正转。
- 右转: 左电机正转,右电机停止/反转。
- 在
loop()函数中,持续读取遥控信号,并调用对应的电机控制函数。
- 首先通过库(如
进阶级 - 蓝牙手机遥控
这是最受欢迎的DIY方式,成本不高,体验很好。
所需额外组件
- HC-05 或 HC-06 蓝牙模块
制作步骤
-
组装底盘: 与级别一相同。
-
电路连接:
- Arduino -> L298N: 与级别一相同。
- Arduino -> 蓝牙模块:
VCC,GND-> 接Arduino的5V和GNDTXD(发送) -> 接Arduino的RX(接收) 引脚RXD(接收) -> 接Arduino的TX(发送) 引脚- 注意: 连接前最好将蓝牙模块的TX和RX暂时断开,先上传不带蓝牙通信的代码,避免上传时冲突。
- 电源 -> L298N: 与级别一相同。
-
编程思路:
- 使用
SoftwareSerial库创建一个虚拟串口,用于与蓝牙模块通信,避免占用Arduino唯一的硬件串口(用于上传代码)。 - 在
setup()中初始化硬件串口和蓝牙串口。 - 在
loop()中:- 检查蓝牙串口是否有数据。
- 如果有,读取单个字符(如 'F' 前进, 'B' 后退, 'L' 左转, 'R' 右转, 'S' 停止)。
- 根据
switch-case语句,调用对应的电机控制函数。
- 使用
手机APP制作
- 简单方法: 使用现成的APP,如 "Arduino Bluetooth Controller",在APP里设置按钮,并设置每个按钮发送一个字符(如 'F')。
- 高级方法: 使用MIT App Inventor等图形化编程工具,自己制作一个简单的遥控界面。
高级版 - Wi-Fi 物联网遥控
这个级别让你的机器人可以连接到互联网,实现更高级的功能,如远程监控、自动避障等。
所需额外组件
- ESP8266 (如 NodeMCU 或 Wemos D1 Mini)
- 注意: 使用ESP8266时,不需要额外的Arduino主控板,因为它本身就是一个带Wi-Fi功能的微控制器,并且兼容Arduino IDE。
制作步骤
-
组装底盘: 相同。
-
电路连接:
- ESP8266 -> L298N:
IN1,IN2-> 控制左电机IN3,IN4-> 控制右电机+12V,GND-> 连接电源正负极- 注意: ESP8266的工作电压是3.3V,L298N的信号输入是5V兼容的,所以可以直接连接。
- 电源 -> L298N: 与级别一相同。
- ESP8266 -> L298N:
-
编程思路(以创建一个网页服务器为例):
- 在Arduino IDE中安装
ESP8266开发板管理器。 - 编写代码,让ESP8266连接到你的Wi-Fi。
- 使用
ESP8266WebServer库创建一个Web服务器。 - 定义不同的URL路径(
/forward,/back等)。 - 当用户通过浏览器访问这些URL时,服务器会触发对应的电机控制函数。
- 在
setup()中启动服务器,在loop()中处理客户端请求。
- 在Arduino IDE中安装
遥控方式
- 网页遥控: 在同一局域网下的任何设备(手机、电脑)的浏览器中输入ESP8266的IP地址,就可以看到一个简单的网页按钮来控制机器人。
- MQTT协议: 更专业的方式,设置一个MQTT代理服务器(如 Mosquitto,或使用云服务如 Blynk, Ubidots),机器人作为MQTT客户端,订阅一个控制主题,你可以在手机上用MQTT客户端APP(如 MQTT Dash)发布控制命令,机器人收到后执行相应动作,这种方式可以实现远程互联网控制,而不仅限于局域网。
创意与美化
- 纸杯装饰: 用彩纸、贴纸、马克笔给机器人涂上你喜欢的颜色和图案。
- 增加功能:
- 避障: 在前方安装一个超声波传感器(HC-SR04),当检测到障碍物时自动停止或转向。
- 巡线: 在底部安装一个红外巡线传感器,让它能沿着黑线行走。
- 机械臂: 在纸杯上安装一个由舵机控制的简易机械臂,进行抓取动作。
- 摄像头: 在ESP8266上安装一个摄像头模块(如ESP32-CAM),实现第一人称视角远程遥控。
从“无线遥控机器人 纸杯”这个想法出发,你可以根据自己的兴趣和技能水平,选择合适的起点。建议从级别二(蓝牙遥控)开始,因为它性价比最高,过程也很有趣。
祝你制作顺利,享受创造的乐趣!如果你在某个步骤遇到具体问题,可以随时提问。
标签: 纸杯遥控机器人制作 纸杯无线机器人教程 废纸杯机器人遥控改造
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。