跳到主要内容

案例一:仿古水车


简介

360°积木舵机的转速与micro:bit主板麦克风检测到的声音响度实时关联——声音越大转速越快、声音越小转速越慢,模拟水流冲击水轮带动水车的场景:声音代表了"水流的力量"。


案例目的

  1. 了解声音传感器——一种可检测环境声音的响度.
  2. 理解数据映射——将麦克风采集的模拟量(声音值)映射为舵机转速,实现连续控制。
  3. 认识筒车(水车)——古代利用水力自动提水灌溉的机械装置。
  4. 了解古代水利灌溉工程及水能在人类文明发展中的关键作用。

所需材料

项目图片数量
micro:bit V21
Jacdac扩展板1
Jacdac 10cm连接线1
Jacdac舵机模块1
360°积木舵机1
USB数据线1

传感器原理说明

本案例使用micro:bit主板内置的麦克风作为传感器,实时采集环境声音响度(0~255),将其映射为舵机转速。

搭建步骤


模型原理说明

360°积木舵机模块与水车模型

360°积木舵机提供连续旋转动力,安装在水车轮盘的中心轴上。舵机旋转时带动整个轮盘转动,轮盘外缘安装的竹筒(或小水斗)依次进入"水面"取水、旋转至最高点后将水倾倒入水槽,模拟筒车自动汲水灌溉的过程。


连接示意图

如下图所示,将micro:bit主板插入Jacdac扩展板,用连接线将360°积木舵机模块采用菊花链方式连接在Jacdac扩展板金手指接口上。

连接示意图


编程软件

微软 MakeCode


MakeCode 编程

步骤1:如何添加 Jacdac 扩展

  1. 进入微软 MakeCode,点击 "新建项目"

    新建项目

  2. 在弹出窗口输入项目名称并点击 "创建"

    创建项目

  3. 点击代码抽屉中的 "扩展"

    扩展

  4. 在弹出界面输入 "Jacdac" 并点击搜索图标,选择 Jacdac 软件库,如图所示。

    搜索Jacdac


步骤2:连接硬件

  1. 用数据线将micro:bit主板连接到计算机。

    注意: 若micro:bit主板初次运行Jacdac程序,请先预装一个空白Jacdac程序至主板,否则跳过此步骤。

    连接micro:bit

  2. 连接传感器,MakeCode自动识别并仿真呈现,在仿真区内传感器实时反馈传感器状态。

    传感器仿真

  3. 点击 "ADD BLOCKS" 传感器扩展模块。

    注意: 连接新的传感器,重复执行一次"点击'ADD BLOCKS'传感器扩展模块"操作流程。

    ADD BLOCKS


如图所示编写程序

程序截图


参考程序链接

https://makecode.microbit.org/_WAqP0ebpAc6a

你也可以通过以下网页直接下载程序,下载完成后即可开始运行程序。

---

结果

水车转动速度随着检测到的声音值(0~255)的大小变化。


思考

  1. 如果想让水车转速根据"水流大小"变化,可以怎样改进程序?
  2. 除了灌溉,筒车/水车的旋转动力还可以用来做什么?(提示:回顾之前学过的案例)

程序逻辑说明

触发条件动作来源
检测声音大小360°积木舵机以映射值的速度持续旋转,驱动水车micro:bit 声音传感器

知识拓展:水车——转动人类文明的千年巨轮

一、筒车——不用电的"自动灌溉机器人"

在电力发明之前的一千多年里,筒车是人类最先进的自动灌溉工具。它的巧妙之处在于不需要任何人力或畜力——完全依赖流水的自然力量:

                        ┌────────────────────────────┐
│ 筒车工作流程 │
└────────────┬───────────────┘

┌────────────────────────────┼────────────────────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ 水流冲击 │ │ 水轮旋转 │ │ 自动汲水 │
│ 受水板 │ ──────────► │ 带动竹筒 │ ──────────► │ 倒入水槽 │
└──────────┘ └──────────┘ └──────────┘
自然力输入 动能传递 灌溉输出
结构组件作用材料
受水板承受水流冲击,驱动轮体旋转木板
大轮盘(双环)支撑竹筒、传递旋转力粗竹/圆木
竹筒(20~42个)舀水容器,随轮旋转自动取水倒水粗竹筒,斜向安装
水槽收集竹筒倾倒的水,导入渠道木槽/竹槽
轮轴与支架支撑整个轮体硬木

关键设计: 竹筒的内端(筒底)和外端(筒口)不在同一半径上——筒底所在的外环半径大于筒口所在的内环。这样在低处时筒口高于筒底(可以盛水),到高处时筒口低于筒底(自动倾泻)。仅凭这一个几何巧思,实现了"自动灌水、自动倒水"的完美循环。


二、筒车的历史——跨越千年的水利智慧

时期重要发展灌溉能力
隋唐(约7世纪)筒车起源,杜甫有"连筒灌小园"诗句单架日灌数十亩
唐代(9世纪)陈章作《水轮赋》,记载制造规章广泛用于南方水田
南宋张孝祥诗:"转此大法轮,救汝旱岁苦"浙赣湘粤桂普遍使用
元代王祯《农书》详绘图解,记载"高转筒车"提水高度可达十丈以上
明代(1556年)段续在兰州创制黄河大水车,轮径达16~20米单架昼夜灌数百亩
清代黄河沿岸水车达300余架灌溉十万亩田地
当代兰州黄河大水车制作技艺列入国家级非物质文化遗产文化保护与旅游展示

一架明代兰州黄河大水车的轮径超过五层楼高,装有40多个大木斗,昼夜不息可灌溉300亩以上农田——相当于约28个标准足球场的面积。


三、水车与人类文明——全球视角

水车并非中国独有,它几乎是所有古代文明不约而同的伟大发明:

文明水车名称最早记载驱动方式主要用途
古印度Araghaṭṭa(阿拉格哈塔)约公元前350年河流水力灌溉
古中国筒车约公元7世纪(唐代)河流水力灌溉
古埃及/中东Noria(诺里亚)公元前1世纪已有文献记载河流水力灌溉
古希腊/罗马Tympanum / Noria维特鲁威记载(约公元前25年)水力/畜力灌溉+矿山排水

水车代表了人类最早的"动力革命"——在此之前,所有的机械动力都来自人或动物的肌肉。水车第一次让人类免费借用了大自然的能量,这一思想直接启发了后来的蒸汽机、水轮机和水力发电站。


四、从筒车到三峡——水能利用的两千年进化

从唐代筒车到现代水电站,人类利用水能的方式在不断升级:

时代水能装置功率灌溉/供电规模
7世纪竹木筒车约0.1~0.5 kW日灌数十亩
16世纪兰州大水车约1~3 kW日灌数百亩
19世纪末第一座水电站(美国,1882年)12.5 kW供电约250盏灯
20世纪中胡佛水坝(美国,1936年)2,080 MW供电约130万户
21世纪三峡水电站(中国,2012年竣工)22,500 MW供电约6000万

一座三峡水电站的发电功率,大约相当于4500万架唐代筒车同时运转。然而——唐代筒车完全零碳排、零污染,且维护成本几乎为零。现代科技与古老智慧,各有其不可替代的价值。


五、筒车给我们的启示

启示说明
善用自然之力筒车不烧油、不耗电,零碳排运行——是最纯粹的绿色能源应用。今天人类大力发展太阳能、风能、水能,本质上是在延续筒车时代的理念。
简单即美筒车的核心结构仅含木轮、竹筒、水槽三部分,无齿轮、无轴承精加工,却能昼夜不息精准运转——好的工程不一定复杂。
因地制宜的智慧南方用竹(轻便耐水)、北方用木(坚固耐久)、黄河沿岸造巨型水车(水流量大),古人根据当地材料和水文条件设计最适合的方案。
if-else 的哲学筒车的工作逻辑本质上就是一个 if-else:如果(水流冲击){ 旋转汲水 } 否则 { 静止等待 }。你今天编写的声控程序,遵循的正是同一套决策逻辑。程序中的 if-else,就像水车的水闸——决定动力的开与关

思考: 两千年前,古人面对奔流的溪水,想到用木轮和竹筒来借力灌溉;今天,你面对一块电路板和几行代码,同样在完成一件事——用智慧和工具,让机器替你工作。从筒车到舵机,从水轮到传感器,改变的只是载体,不变的是人类创造与改造世界的冲动。