尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

用Micro:bit与纸板制作红外感应击掌机器人:从传感器原理到动手实践

用Micro:bit与纸板制作红外感应击掌机器人:从传感器原理到动手实践
📅 发布时间:2026/7/28 2:59:24

1. 项目概述:当纸板遇上代码,一个“击掌”机器人的诞生

如果你手头有一块Micro:bit,又恰好攒了几个快递纸箱,别急着扔掉。今天我想分享的,就是如何用这些看似普通的材料,制作一个能和你“击掌”的互动机器人。这不仅仅是一个手工项目,更是一个融合了基础编程、简单机械结构和电子互动的绝佳入门案例。它非常适合教育工作者用来激发学生对STEM(科学、技术、工程、数学)的兴趣,也适合家长和孩子作为周末的亲子活动,甚至对于刚接触硬件的编程爱好者来说,也是一个低门槛、高成就感的实践项目。

这个“击掌”机器人的核心逻辑很简单:当你靠近它时,它会通过传感器感知到你的存在,然后驱动一个由舵机控制的“手臂”完成一次击掌动作,并可能伴有灯光或声音的反馈。整个过程,从结构设计、电路连接到代码编写,都充满了动手的乐趣和解决问题的挑战。通过这个项目,你将直观地理解传感器如何“看见”世界,代码如何指挥硬件,以及如何用最朴素的材料实现有趣的互动。下面,我们就从零开始,一步步拆解这个充满创意的制作过程。

2. 核心思路与方案设计:为什么是“纸板+Micro:bit”?

在开始动手之前,我们先来聊聊为什么选择这个组合,以及整个系统的设计思路。理解背后的“为什么”,能帮助你在制作过程中更好地应对变化和创新。

2.1 核心元件选型与角色解析

整个系统的核心是Micro:bit这块小巧的开发板。它集成了加速度计、磁力计、温度传感器、蓝牙以及一个5x5的LED点阵,最关键的是,它拥有多个可编程的GPIO(通用输入输出)引脚。对于我们的项目,我们将主要利用它的GPIO引脚来连接和控制外部设备。

感知部分:如何“看到”击掌对象?我们需要一个传感器来检测是否有人靠近并准备击掌。常见的选择有超声波传感器、红外避障传感器和触摸传感器。

  • 超声波传感器:通过发射和接收超声波来测量距离,精度高,但成本相对较高,编程稍复杂。
  • 红外避障传感器:通过发射红外线并检测是否反射回来判断前方是否有物体。它输出的是简单的数字信号(有障碍/无障碍),价格低廉,使用简单。
  • 触摸传感器:需要主动触摸才能触发,不符合“自动感知”的互动逻辑。

基于成本、复杂度和项目趣味性的平衡,红外避障传感器是一个理想的选择。它能让机器人在一定距离内(通常2-30cm可调)自动感知你的手,实现“非接触式”触发,互动体验更自然。

执行部分:如何完成“击掌”动作?我们需要一个执行机构来模拟手臂的挥动。这里舵机是唯一且最佳的选择。舵机是一种可以精确控制旋转角度的电机。我们可以通过程序命令它旋转到0度、90度或180度等特定位置。用一个舵机来驱动一个纸板手臂,就能模拟从“待机”到“击掌”再到“收回”的动作序列。

结构部分:为什么是纸板?纸板(瓦楞纸)易于切割、弯曲、粘合,并且成本几乎为零。它的强度足以支撑Micro:bit、传感器和一个小舵机的重量。使用纸板鼓励了“快速原型设计”的理念,允许我们快速迭代机器人的外形,即使失败了也能轻松重来。这本身就是一种重要的工程思维。

最终方案框图:整个系统的工作流程可以概括为:红外传感器检测到手部接近 → 发送信号给Micro:bit → Micro:bit运行预设程序 → 控制舵机旋转特定角度,完成击掌动作 → 同时可能在LED点阵上显示一个笑脸或对勾图案作为视觉反馈。

2.2 工具与材料清单

在开始制作前,请准备好以下物品:

电子部分:

  1. Micro:bit主板及USB数据线:1套。
  2. Micro:bit扩展板或鳄鱼夹/杜邦线:强烈推荐使用扩展板(如Elecfreaks的Octopus:bit或DFRobot的Boson扩展板),它提供了便于插接的引脚接口和内置的电源管理,能极大简化连接过程。如果使用鳄鱼夹或杜邦线,则需要额外注意正负极的连接。
  3. SG90微型舵机:1个。这是最常用、最廉价的9克舵机,工作电压4.8-6V,扭矩足够驱动纸板手臂。
  4. 红外避障传感器模块:1个。常见型号为KY-032或类似。确保模块上有三个引脚(VCC, GND, OUT)和一个可调电位器(用于调节检测距离)。
  5. 电池盒与电池:为整个系统供电。一个3节AA(5号)电池的电池盒(输出约4.5V)是常见选择。注意:单独给Micro:bit供电可通过USB,但驱动舵机需要扩展板或外部电源。

结构与工具部分:

  1. 硬质纸板:若干。快递盒是主要来源。
  2. 裁纸刀/美工刀、钢尺、切割垫:用于精确切割纸板。
  3. 热熔胶枪与胶棒:粘合结构的主力,固化快,强度高。
  4. 铅笔、橡皮、圆规:用于画图和设计。
  5. 螺丝刀:可能需要小号十字螺丝刀来固定舵机摇臂。
  6. 可选装饰:马克笔、贴纸、毛毡等,用于个性化你的机器人。

注意:安全第一!使用裁纸刀和热熔胶枪时务必小心。热熔胶温度很高,避免烫伤。切割时使用钢尺辅助,远离手指。

3. 机械结构设计与制作:搭建机器人的“骨骼与肌肉”

这是将想法变为实体的第一步。一个稳固而巧妙的结构是机器人可靠运行的基础。

3.1 主体结构设计与切割

我们不需要复杂的设计,一个稳定的底座和一个支撑臂就足够了。

  1. 设计底座:在纸板上画一个长方形(例如15cm x 10cm),这将是机器人的“身体”和底座。在底座后方设计一个垂直的“背板”(高约12cm),用于安装舵机和支撑手臂。你可以将背板与底座设计成一体,通过划痕后折弯成型,也可以用单独的纸板片用热熔胶粘合。一体折弯的结构通常更稳固。
  2. 制作舵机安装座:舵机需要被牢固地固定在背板的上部。根据你的舵机尺寸,用纸板裁剪一个“U”形或方框形的卡座,使其能紧紧包裹住舵机,然后用大量热熔胶将这个卡座粘在背板预定位置。确保舵机的输出轴朝向前方,并且旋转时不会碰到背板。
  3. 制作可动手臂:这是击掌动作的直接执行者。用纸板剪出一个长条状的手臂(长约10-15cm,宽2-3cm)。在一端剪出一个孔,用于连接舵机附带的塑料摇臂(舵机附件)。通常我们会使用最长的那个十字摇臂。用配套的小螺丝将摇臂固定在手臂的孔洞处。

3.2 传感器安装与整体组装

  1. 安装红外传感器:将红外传感器模块用热熔胶固定在底座的前沿,传感器探头朝前,高度大约与站立时人的手部自然高度持平。注意调整传感器模块上的电位器,逆时针旋转通常可以增加检测距离。先用USB线给Micro:bit供电,用手在传感器前移动,观察其信号指示灯(通常检测到障碍时会亮起),初步确定一个合适的检测距离(例如10-15厘米)。
  2. 安装舵机与手臂:将舵机放入安装卡座并粘牢。把已经固定好摇臂的手臂,套在舵机的输出齿轮上。这里有一个关键步骤:在通电初始化前,手动将舵机旋转到大约90度的位置(中间位置),然后将手臂水平地(或呈一个你喜欢的待机角度)安装上去。这样,我们的程序就可以以这个位置为基准,定义“收回”和“击掌”的角度。
  3. 布置电路与Micro:bit:将Micro:bit插到扩展板上,或者用鳄鱼夹准备好连接。暂时先不要连接所有线缆,但可以规划好走线位置。用热熔胶或扎带将多余的线缆整理好,固定在背板后面或底座下方,保持外观整洁。

实操心得:结构稳固性测试在粘死所有部件之前,先进行“干测试”。用手模拟舵机动作,检查手臂运动范围是否顺畅,是否会碰到其他部分。轻轻摇晃整个结构,检查底座是否够重、够稳,避免击掌时机器人自己翻倒。可以在底座内部粘贴一些重物(如石头、金属块)来降低重心。

4. 电路连接详解:让信号流动起来

正确的电路连接是硬件项目成功的一半。我们将使用扩展板来简化这一过程。

4.1 引脚定义与连接步骤

我们假设使用一块常见的Micro:bit扩展板,它通常会将Micro:bit的引脚以防插反的插座形式引出。

  1. 舵机连接:舵机有三根线:棕色(GND,地线)、红色(VCC,电源正极)、橙色(信号线)。
    • 将舵机的棕色线连接到扩展板的GND引脚。
    • 将舵机的红色线连接到扩展板的VCC或5V引脚(注意:有些扩展板的VCC引脚输出的是Micro:bit的3.3V,可能不足以驱动舵机,务必使用标有“5V”或专门舵机供电的引脚)。
    • 将舵机的橙色线(信号线)连接到扩展板的一个支持PWM输出的数字引脚,例如P0、P1或P2。我们这里选择P1。
  2. 红外传感器连接:红外传感器模块也有三根线:通常黑色或棕色(GND)、红色(VCC)、黄色或白色(OUT,信号输出)。
    • 将传感器的GND线连接到扩展板的另一个GND引脚。
    • 将传感器的VCC线连接到扩展板的3.3V引脚(大多数此类模块工作电压为3.3V-5V,接3.3V与Micro:bit电平匹配更安全)。
    • 将传感器的OUT线(信号线)连接到扩展板的一个数字输入引脚,例如P0。我们这里选择P0。
  3. 供电:将电池盒的输出线连接到扩展板专用的外部电源输入接口(通常标有“BAT”或“EXT.PWR”)。务必注意正负极(红线正极,黑线负极)。在编程和调试阶段,可以暂时只用USB供电,但驱动舵机时可能会因为电流不足导致动作无力或Micro:bit复位,因此最终测试务必使用电池供电。

重要提示:电源管理舵机在启动和堵转时会产生较大的瞬时电流,如果与Micro:bit共用USB的5V电源,可能会引起电压波动导致Micro:bit重启。使用扩展板的外接电池供电,可以将电机电路与核心控制电路在电源上进行一定隔离,保证系统稳定性。这是实践中非常关键的一点。

4.2 连接检查清单

在通电前,请务必双重检查:

  • [ ] 所有连接牢固,没有松动。
  • [ ] 电源正负极没有接反。
  • [ ] 舵机信号线接到了P1,传感器信号线接到了P0。
  • [ ] 传感器和舵机的电源电压选择正确(传感器3.3V,舵机5V)。

5. 编程逻辑与代码实现:赋予机器人“灵魂”

我们将使用MakeCode for Micro:bit图形化编程环境,它直观易学,非常适合初学者。当然,你也可以使用Python。

5.1 程序逻辑流程图

在写代码前,先理清逻辑:

  1. 初始化:程序启动时,设置舵机初始位置(如90度,手臂水平待机),清空LED屏幕。
  2. 主循环:不断检查红外传感器的状态。
  3. 触发判断:如果传感器检测到障碍物(手),则执行“击掌序列”。
  4. 击掌序列: a. 控制舵机快速旋转到一个角度(如150度),模拟手臂扬起准备击掌。 b. 短暂延时(如200毫秒)。 c. 控制舵机快速反向旋转到另一个角度(如30度),模拟手臂向前挥出击掌。 d. 在挥出的同时,让LED点阵显示一个“笑脸”图案。 e. 短暂延时(如300毫秒),保持击掌姿势。 f. 控制舵机回到初始位置(90度)。 g. 清空LED屏幕。
  5. 防误触与连续触发处理:在完成一次完整的击掌序列后,加入一个短暂的“冷却时间”(如1秒),在这段时间内即使检测到手,也不响应,防止因手持续在传感器前晃动而导致的连续疯狂击掌。

5.2 MakeCode 图形化编程步骤详解

打开MakeCode编辑器,新建一个项目。

  1. 初始化舵机:
    • 在“高级”→“引脚”模块中,找到“伺服写入引脚 P1 到 90”。将其放入“当开机时”积木块中。这样一上电,手臂就会转到90度位置。
  2. 主循环与传感器读取:
    • 在“无限循环”中,加入“如果...那么”判断。
    • 在判断条件中,从“高级”→“引脚”中找到“数字读取引脚 P0”。由于红外传感器检测到障碍时通常输出低电平(0),未检测到时输出高电平(1)。所以我们的条件应该是“数字读取引脚 P0 等于 0”。
  3. 构建击掌动作序列:
    • 在“那么”分支中,依次放入以下积木:
      • 伺服写入引脚 P1 到 150(扬起手臂)
      • 暂停(毫秒) 200
      • 伺服写入引脚 P1 到 30(挥出击掌)
      • 显示图标(选择一个笑脸图标)
      • 暂停(毫秒) 300
      • 伺服写入引脚 P1 到 90(收回手臂)
      • 清除屏幕
  4. 添加防抖延时:
    • 在序列的最后,清除屏幕之后,添加一个暂停(毫秒) 1000。这1秒的暂停既给了机械动作完成的缓冲,也防止了连续触发。
  5. (可选)添加启动提示:
    • 在“当开机时”块中,可以在设置舵机前加一个显示图标(比如一个勾号),然后暂停一下再清屏,让用户知道设备已启动。

完整的图形化代码逻辑描述如下:

当开机时: 显示图标 √ 暂停 500 毫秒 清除屏幕 伺服写入引脚 P1 到 90 无限循环: 如果 数字读取引脚 P0 等于 0 那么 伺服写入引脚 P1 到 150 暂停 200 毫秒 伺服写入引脚 P1 到 30 显示图标 ☺ 暂停 300 毫秒 伺服写入引脚 P1 到 90 清除屏幕 暂停 1000 毫秒

5.3 代码烧录与初步测试

用USB线将Micro:bit连接到电脑。在MakeCode编辑器中点击“下载”,将生成的.hex文件保存到出现的MICROBIT盘符中。下载完成后,Micro:bit背后的黄色指示灯会闪烁,程序开始运行。

初步测试步骤:

  1. 观察上电后,舵机是否转动到90度位置。
  2. 用手在红外传感器前晃动,观察舵机是否执行完整的击掌序列,以及LED是否显示笑脸。
  3. 测试“冷却时间”:完成一次击掌后,手持续放在传感器前,机器人应不再动作,直到手拿开超过1秒后再放回。

6. 调试、优化与创意扩展

基本功能实现后,我们进入打磨和提升阶段,这是项目从“能用”到“好用”、“好玩”的关键。

6.1 常见问题与排查技巧

即使按照步骤操作,你也可能会遇到一些问题。这里记录了一些典型情况及解决方法:

问题现象可能原因排查与解决方法
舵机完全不动作1. 电源未接通或电压不足。
2. 信号线连接错误或接触不良。
3. 程序未正确烧录或引脚设置错误。
1. 检查电池盒开关、电池电量,用万用表测量舵机VCC-GND间电压是否在4.8V以上。
2. 重新插拔舵机信号线到P1,检查扩展板连接。
3. 重新下载程序,检查代码中“伺服写入”的引脚号是否为P1。
舵机抖动或动作不到位1. 电源功率不足(特别是USB供电时)。
2. 机械结构卡阻。
3. 舵机扭矩不足或损坏。
1.务必换用电池盒供电,这是最常见的原因。
2. 手动转动手臂,检查是否被纸板或其他部分卡住,调整结构。
3. 尝试另一个舵机。
红外传感器一直触发或不触发1. 检测距离电位器调节不当。
2. 传感器与环境光线干扰(强光可能影响红外接收)。
3. 引脚连接错误。
1. 仔细调节传感器上的电位器,并用串口输出或在LED上显示P0引脚的值来辅助调试。
2. 避免在阳光直射或强红外光源下使用,可以给传感器做个纸筒遮光罩。
3. 确认OUT线接P0,VCC接3.3V。
动作序列混乱或只执行一部分1. 程序逻辑错误,特别是延时设置不当。
2. 传感器信号抖动造成多次触发。
1. 检查“无限循环”内的逻辑,确保动作序列和防触发的“暂停”都在“如果”语句内。
2. 在代码中增加“软件防抖”:检测到触发后,先延时50毫秒再读取一次传感器,如果仍然触发才执行动作。
Micro:bit频繁自动复位舵机工作瞬间电流过大,导致系统电压被拉低。这是典型的电源问题。确保使用外接电池盒为扩展板供电,且电池电量充足。可以在舵机电源正负极之间并联一个100-470μF的电解电容,以吸收瞬时电流冲击。

6.2 性能优化与体验提升

  1. 动作平滑化:目前的动作是直接跳转到目标角度,有些生硬。可以尝试使用循环,让舵机每次转动一小步,中间加入短暂延时,模拟出更柔和的加速减速效果。在MakeCode中可以用“循环”和“伺服写入”结合来实现。
  2. 多感官反馈:除了LED点阵,还可以连接一个无源蜂鸣器到另一个引脚,在击掌时播放一段简短的上升音调,让互动更有趣。你需要使用“音乐”模块。
  3. 状态指示:在待机时,让LED点阵以缓慢的节奏显示一个“等待”动画(如闪烁的心形),当检测到手时,先快速闪烁两下作为“发现目标”的提示,再执行击掌。
  4. 个性化外观:用彩笔、贴纸、毛毡布等装饰你的纸板机器人,给它画上眼睛、嘴巴,甚至穿上“衣服”,让它更具个性。

6.3 项目扩展思路

这个基础项目可以衍生出许多变体:

  • 双人击掌机器人:使用两个红外传感器,分别检测左手和右手,用两个舵机控制两条手臂,实现左右交替或同时击掌。
  • “猜拳”机器人:将手臂末端做成手掌形状,可以摆出“石头、剪刀、布”的姿势。利用Micro:bit内置的加速度计(摇晃)来随机选择一种姿势,与人对战。
  • 情绪化机器人:加入更多的传感器,如声音传感器。根据环境声音大小,让机器人做出不同的反应:安静时“睡觉”(手臂下垂,LED显示Zzz),拍手时“兴奋击掌”,大声喊叫时“害怕躲闪”(手臂捂住“脸”)。
  • 远程击掌:利用Micro:bit的无线电功能,制作两个机器人。当其中一个检测到击掌时,通过无线电信号通知另一个,两个机器人同时做出击掌动作,实现“远程互动”。

制作这个纸板击掌机器人的过程,远比最终那个会动的小家伙更有价值。它完整地走了一遍“发现问题-设计方案-动手实现-调试优化”的工程闭环。你遇到的每一个小麻烦,比如舵机抖了一下、传感器太灵敏,都是学习底层原理的绝佳机会。我自己的第一个版本就因为电源问题折腾了好久,最后加了电容才稳定下来,这个教训让我对电机驱动的电源设计有了刻骨铭心的认识。所以,不要怕出问题,解决问题的过程才是真正的收获。当你调试成功,看到机器人稳稳地和你击掌的那一刻,那种成就感就是驱动你探索下一个项目的最好燃料。

相关新闻

  • AI聊天应用的技术本质与商业价值分析
  • 从回力车到智能小车:ESP32主控的机电一体化实践指南
  • 075、EtherCAT在电机控制中的应用

最新新闻

  • 影刀RPA定时截图监控:自动记录网页变化完全指南
  • TileLang:基于Python DSL的高性能GPU内核设计与TVM编译器实践
  • Unity Shader立方体纹理:从原理到实战的环境反射与折射实现
  • NLP深度学习四步公式:从嵌入到预测的完整指南
  • 基于Arduino与模拟反馈舵机的简易机械臂闭环控制实践
  • 从零构建鱼缸自动水位控制器:硬件选型、编程实现与避坑指南

日新闻

  • 力旷智能:伺服驱动系统在制药收瓶设备中的应用解析
  • 2026 网安入门避坑指南,零基础如何避开无效学习直接上手实战
  • 揭秘CFC项目:如何通过手机摄像头实现850kbps无网络文件传输

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号