亚马逊盒子机器人制作

99ANYc3cd6 机器人 1

第一步:明确你的机器人目标与功能

要定义你的机器人想做什么,这决定了你后续的复杂程度和所需材料。

功能选项 (从简单到复杂):

  1. 基础展示型:

    • 功能: 可以遥控移动,头部或眼睛有LED灯闪烁,发出简单的声音。
    • 特点: 结构简单,适合初学者,主要目的是外观和基础互动。
  2. 中型互动型:

    • 功能: 在基础型上增加机械臂,可以抓取小物件(如包裹、小球);增加超声波传感器,实现自动避障;增加循迹功能,沿黑线行走。
    • 特点: 需要更复杂的编程和结构设计,是进阶玩家的首选。
  3. 高级智能型:

    • 功能: 结合摄像头和AI图像识别,可以识别特定物体或人脸;通过语音助手(如Alexa)进行控制;实现更复杂的自主导航和任务规划。
    • 特点: 技术门槛高,需要较强的编程和AI知识,但功能非常强大。

本文将以最受欢迎的“中型互动型”为例进行详细讲解。


第二步:核心组件清单

你需要准备以下几类硬件:

结构与动力部分

  • 主体:
    • 亚马逊快递纸箱: 至少1个,作为机器人的身体,建议选择尺寸稍大、结构坚固的箱子。
    • 亚克力板/PVC板: 用于制作底盘、机械臂的支架等,更坚固。
    • 3D打印件: 如果你有3D打印机,可以打印出更酷炫的齿轮、外壳和连接件。
  • 驱动系统:
    • TT马达 + 轮子: 2套,用于驱动机器人移动,TT马达是小型项目中最常用的直流减速电机。
    • 双路电机驱动板: 1个,用于控制电机的正转、反转和速度,常用的有L298N或更现代的TB6612。
  • 控制系统:
    • 主控板: 1块,这是机器人的“大脑”。
      • Arduino Uno/Nano: 最流行,社区支持强大,适合初学者。
      • Raspberry Pi (树莓派): 功能更强大,可以运行Linux系统,适合需要连接摄像头、实现复杂逻辑的项目。
  • 电源:
    • 18650锂电池组 + 充电管理模块: 提供便携的电源,推荐2节串联(7.4V),给电机和主控板供电。
    • 电池盒: 用于固定电池。

传感器部分

  • 超声波传感器 (HC-SR04): 1-2个,用于测量前方或侧方障碍物的距离,实现避障。
  • 红外循迹传感器模块: 1个,通常包含2-3个红外对管,用于识别黑线,实现循迹。
  • 人体红外传感器 (PIR): 1个,可选,用于检测是否有人靠近,实现“打招呼”等互动。

执行器部分

  • 机械臂:
    • SG90舵机 (4个): 用于制作简易机械臂,控制抓取、旋转等动作,SG90便宜且易于控制。
    • 金属齿轮舵机 (可选): 如果机械臂需要承重,建议使用更坚固的金属齿轮舵机。
  • LED灯:
    • WS2812B LED灯带 (Neopixel): 1小段,可以编程控制每个灯的颜色,制作炫酷的眼睛或呼吸灯效果。
  • 蜂鸣器: 1个,用于发出提示音或简单的旋律。

工具与辅料

  • 热熔胶枪: DIY神器,用于快速固定各种部件。
  • 扎带、螺丝、螺母、双面胶: 用于固定和连接。
  • 杜邦线: 用于连接各个电子模块。
  • 焊锡和电烙铁 (可选): 用于更可靠的电路连接。
  • 美工刀、尺子、铅笔: 用于切割和测量纸箱。

第三步:机械结构设计与组装

这是将想法变为现实的关键一步。

底盘设计:

  • 用亚克力板或硬纸板制作一个底盘,将两个TT马达固定在底盘后方。
  • 在底盘前方安装一个万向轮(或用另一个小轮子),作为支撑。
  • 将电机驱动板、主控板、电池盒等电子元件固定在底盘上,注意重心平衡。

身体组装:

  • 将亚马逊纸箱作为身体,固定在底盘上方。
  • 在纸箱上为传感器(超声波、循迹)和“眼睛”(LED灯带)开好孔。
  • 设计一个简单的机械臂支架,固定在纸箱的一侧,然后将舵机和机械臂爪子组装上去。

整体布局:

  • 电源: 电池放在底盘底部,降低重心。
  • 大脑: Arduino/Raspberry Pi放在中间位置,方便接线。
  • 感官: 传感器头部伸出,视野开阔。
  • 手臂: 机械臂安装在侧面,不影响移动。

第四步:电路连接

将所有电子模块按照逻辑连接起来。

连接逻辑:

  1. 电源:

    • 电池组正极 -> 电机驱动板 VMOT (电机电源输入)
    • 电池组负极 -> 电机驱动板 GND
    • 电池组正极 -> 主控板 VIN (或通过5V稳压模块)
    • 电池组负极 -> 主控板 GND
    • 注意: 电机功率较大,不要直接从主控板的5V引脚取电,以免烧毁芯片。
  2. 电机:

    • 电机驱动板的 OUT1/OUT2 -> 左侧TT电机
    • 电机驱动板的 OUT3/OUT4 -> 右侧TT电机
    • 电机驱动板的 IN1/IN2/IN3/IN4 -> Arduino的数字引脚(如 5, 6, 9, 10
  3. 传感器:

    • 超声波传感器:
      • VCC -> Arduino 5V
      • GND -> Arduino GND
      • Trig -> Arduino 数字引脚(如 7
      • Echo -> Arduino 数字引脚(如 8
    • 红外循迹传感器:
      • VCC -> Arduino 5V
      • GND -> Arduino GND
      • OUT -> Arduino 模拟引脚(如 A0
  4. 执行器:

    • 舵机:
      • VCC (红色) -> Arduino 5V
      • GND (棕色/黑色) -> Arduino GND
      • Signal (橙色) -> Arduino 数字引脚(如 11
    • LED灯带:
      • 5V -> Arduino 5V (注意电流,可能需要外部电源)
      • GND -> Arduino GND
      • DI (数据输入) -> Arduino 数字引脚(如 3
    • 蜂鸣器:
      • -> Arduino 数字引脚(如 12
      • -> Arduino GND

建议: 使用不同颜色的杜邦线,并做好标记,方便排查问题。


第五步:编程与控制

这是让机器人“活”起来的核心。

环境搭建:

  • 安装 Arduino IDE
  • 在“文件” -> “首选项”的“附加开发板管理器网址”中,添加第三方库地址(如果需要)。
  • 在“工具” -> “开发板”中选择你的Arduino型号。

安装所需库:

  • 在“工具” -> “管理库”中搜索并安装:
    • Servo (控制舵机,通常自带)
    • NewPing (简化超声波传感器编程)
    • FastLED (高效控制WS2812B灯带)

编写示例代码 (Arduino):

示例1: 遥控小车 + 避障

#include <NewPing.h>
#include <Servo.h>
// 定义引脚
#define ECHO_PIN 8
#define TRIG_PIN 7
#define MAX_DISTANCE 200 // 最大探测距离
#define ENA 5
#define IN1 6
#define IN2 9
#define IN3 10
#define IN4 11
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
  Serial.begin(9600);
  // 设置电机控制引脚为输出
  pinMode(ENA, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}
void loop() {
  delay(50); // 等待传感器稳定
  unsigned int distance = sonar.ping_cm(); // 读取距离
  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");
  if (distance > 0 && distance < 20) { // 如果距离小于20cm
    stop(); // 停止
    delay(500);
    back(); // 后退
    delay(500);
    left(); // 左转
    delay(500);
  } else {
    forward(); // 否则前进
  }
}
// 电机控制函数
void forward() {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, 200); // 设置速度
  analogWrite(ENB, 200);
}
void back() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENA, 200);
  analogWrite(ENB, 200);
}
void left() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, 200);
  analogWrite(ENB, 200);
}
void right() {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENA, 200);
  analogWrite(ENB, 200);
}
void stop() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
}

示例2: 机械臂控制

#include <Servo.h>
Servo clawServo;  // 抓取舵机
Servo baseServo;  // 底座舵机
Servo wristServo; // 手腕舵机
Servo armServo;   // 大臂舵机
void setup() {
  clawServo.attach(3);
  baseServo.attach(5);
  wristServo.attach(6);
  armServo.attach(9);
  // 初始化到初始位置
  clawServo.write(90);
  baseServo.write(90);
  wristServo.write(90);
  armServo.write(90);
  delay(1000);
}
void loop() {
  // 示例:抓取动作
  clawServo.write(0); // 张开爪子
  delay(1000);
  armServo.write(45); // 举起手臂
  delay(1000);
  clawServo.write(180); // 合拢爪子
  delay(1000);
  armServo.write(90); // 放下手臂
  delay(1000);
}

上传代码:

  • 用USB线将Arduino连接到电脑。
  • 在Arduino IDE中选择正确的端口和开发板。
  • 点击“上传”按钮。

第六步:美化与优化

  • 外观: 用马克笔、贴纸、颜料来装饰你的亚马逊盒子机器人,让它看起来更酷。
  • 外壳: 如果觉得纸箱太简陋,可以用亚克力板或木板制作一个更精致的外壳。
  • 功能扩展:
    • 添加蓝牙模块(如HC-05),用手机App控制。
    • 添加Wi-Fi模块(如ESP8266),实现网络控制。
    • 升级为Raspberry Pi,接入摄像头,实现人脸识别和图像追踪。

制作亚马逊盒子机器人是一个充满挑战和乐趣的过程,从设计、组装、接线到编程,每一步都能让你学到新知识。

关键建议:

  • 由简到繁: 先实现最基础的功能(如遥控小车),再逐步添加传感器和执行器。
  • 善用资源: Arduino和Raspberry Pi社区非常庞大,遇到问题时,搜索官方论坛、GitHub或YouTube,你几乎总能找到解决方案。
  • 耐心调试: 电子项目99%的时间都在调试,保持耐心,仔细检查接线、代码和电源供应。

祝你成功打造出独一无二的亚马逊盒子机器人!

标签: 亚马逊盒子机器人制作教程 废弃亚马逊盒子机器人DIY 亚马逊盒子机器人儿童手工

抱歉,评论功能暂时关闭!