Arduino 系统结构:主控城市与卫星模块的粒子链接

49 阅读7分钟

🌀 如果你是一个城市的主控者,你会如何安排能量流向?
Arduino 就是这样一个掌控粒子的核心,指挥着城市中的每一个模块。
今天,我们一起解构这座城市的能量分配法则。

🎯 用"位元灵力世界"世界观理解 PWM
📚 系列:位元灵力 · 模块觉醒手册 - Day 1 PWM


🏙️ 城市系统的工作机制

003 主控城市.png

1. 城市的供能与粒子再分配

Arduino 城市的供能

  • 城市有供能,有光明粒子和黑暗粒子进入供能
  • 通过 USB 或外部电源,粒子进入城市

城市的最大作用:粒子再分配

  • 城市接收外部供能后,将粒子再分配给其他城市部件
  • 通过控制脉冲,完成不同任务:
    • 灯光的明暗(通过占空比控制)
    • 风扇的转速(通过占空比控制)
    • 舵机的角度(通过占空比控制)
    • 等等

粒子再分配的流程

外部供能 → 城市接收 → 主控模块调节 → 脉冲输出 → 卫星城市接收
(粒子进入)(粒子存储)(粒子再分配)(粒子输送)(粒子消耗)

2. 主控城市与卫星城市

主控城市(Arduino)

  • 有完整的城市系统(主控模块、多个模块、多个接口)
  • 负责接收供能、粒子再分配、控制其他城市
  • 是"指挥中心"
  • 通过脉冲控制,将粒子再分配给卫星城市

卫星城市(其他部件)

  • 有城市系统的卫星城市(比如智能传感器):
    • 有自己的处理能力
    • 可以接收主控城市的指令
    • 可以处理数据并返回结果
    • 有自治能力,但受主控城市指挥
  • 只有执行层的卫星城市(比如 LED 灯、风扇):
    • 只是消耗粒子
    • 接收主控城市分配的粒子,完成具体任务
    • 没有处理能力,只是执行

主控城市与卫星城市的关系

  • 主控城市通过脉冲控制,将粒子再分配给卫星城市
  • 卫星城市接收粒子后,完成具体任务(发光、转动、检测等)
  • 使用不同的传输和通信方式(UART、SPI、I²C)将脉冲能量输送到卫星城市

类比

  • 主控城市 = 首都(有完整的政府系统,负责指挥)
  • 卫星城市 = 其他城市(有的有自治能力,有的只是执行任务)

3. 城市规划者与主控模块

城市规划者(程序员)的职责

  • 必须按照造物主留下的规则进行城市规划
  • 可以调节城市的脉冲(PWM 的频率和占空比)
  • 控制粒子再分配,让卫星城市完成不同任务
  • 但如果配置不对,会导致:
    • 居民和能量被消耗
    • 能量被浪费
    • 城市被废弃

主控模块的作用

  • 主控模块是城市规划者在城市内部的执行机构
  • 它统管模块作为或分配粒子资源
  • 控制整个城市的脉冲节奏和能量输送
  • 是主控城市的"大脑"

4. 城市的居民如何参与

完整城市的居民

  • Arduino 板上的所有组件/模块都是城市的居民
  • 它们共同维持城市的脉冲能量输送
  • 每个居民都有自己的职责:
    • 有些负责接收外部供能
    • 有些负责产生脉冲
    • 有些负责传递粒子
    • 有些负责接收粒子

模块聚落社会

  • 居民按功能分类,被配置在各种模块中
  • 当城市规划者写入或读取数据时,模块之间通过管线进行协作
  • 如果配置不对,同一数据渠道也可能造成模块之间冲突

🔌 城市管线接口详解

003 引脚分布.png

Arduino UNO 数字引脚分布(0~13)

引脚编号是否支持 PWM 脉冲?常用用途(位元灵力世界版)
0 (RX)主城区的总接收口(RX = Receive),接收外部世界的粒子
1 (TX)主城区的总发送口(TX = Transmit),向外部世界发送粒子
2普通管线接口,用于开关控制、按钮读取等
3✅ ~脉冲输出口(PWM),可以调节能量输出强度,控制其他部件完成任务
4普通管线接口,用于开关控制、按钮读取等
5✅ ~脉冲输出口(PWM),可以调节能量输出强度,控制其他部件完成任务
6✅ ~脉冲输出口(PWM),可以调节能量输出强度,控制其他部件完成任务
7普通管线接口,用于开关控制、按钮读取等
8普通管线接口,用于开关控制、按钮读取等
9✅ ~脉冲输出口(PWM),可以调节能量输出强度,控制其他部件完成任务
10✅ ~脉冲输出口(PWM)/ SPI 通信的选中线(SS)
11✅ ~脉冲输出口(PWM)/ SPI 通信的主发从收线(MOSI)
12SPI 通信的从发主收线(MISO)
13板载 LED 连接口(可以控制城市内部指示灯亮灭)

接口分类详解

1. 主城区的总通信口(引脚 0 和 1)

⚠️ 重要:不能随意使用!

引脚 0 (RX = Receive):主城区的总接收口

  • 这是城市规划者与外部世界(电脑)通信的唯一接收通道
  • 接收外部世界发送的粒子(数据)
  • 如果接其他设备,会影响串口调试

引脚 1 (TX = Transmit):主城区的总发送口

  • 这是城市规划者向外部世界发送粒子的唯一发送通道
  • 向外部世界发送粒子(数据)
  • 如果接其他设备,会影响程序上传

2. 城市的脉冲输出口(PWM 引脚,带 ~ 标记)

支持 PWM 的引脚

  • 数字引脚 3、5、6、9、10、11
  • 这些是城市的"脉冲输出口"
  • 城市规划者可以通过这些接口控制城市的能量输出强度
  • 可以调节占空比,控制光明粒子在周期内的时间比例
  • 通过脉冲控制其他部件完成任务(比如灯光的明暗)

PWM 引脚的复用

  • 引脚 10:可以是脉冲输出口(PWM),也可以是 SPI 通信的选中线(SS)
  • 引脚 11:可以是脉冲输出口(PWM),也可以是 SPI 通信的主发从收线(MOSI)

3. 普通管线接口(不带 ~ 标记)

不支持 PWM 的引脚

  • 数字引脚 2、4、7、8、12、13
  • 这些是城市的"普通管线接口"
  • 用于:
    • 开关控制(光明/黑暗粒子的开关)
    • 按钮读取(接收外部信号)
    • 传感器信号接收(接收其他城市的信息)
    • 通信协议(与其他城市通信)

特殊引脚

  • 引脚 12:SPI 通信的从发主收线(MISO)
  • 引脚 13:板载 LED 连接口(可以控制城市内部指示灯亮灭)

4. 管线的复用

重要概念

  • 一个管线接口可以扮演多个角色
  • 根据城市规划者的配置,临时切换角色
  • 但不能同时使用多个功能

示例

  • 引脚 10:可以是脉冲输出口(PWM),也可以是 SPI 通信的选中线(SS)
  • 引脚 11:可以是脉冲输出口(PWM),也可以是 SPI 通信的主发从收线(MOSI)
  • 引脚 13:可以是普通管线接口(控制板载 LED),也可以是 SPI 通信的时钟线(SCLK)
  • 模拟引脚 A4:可以是模拟输入口,也可以是 I²C 通信的数据线(SDA)
  • 模拟引脚 A5:可以是模拟输入口,也可以是 I²C 通信的时钟线(SCL)

💭 你有没有试过用 Arduino 控制过哪些“卫星城市”?
是灯光?风扇?还是更复杂的传感器模块?
欢迎在评论区分享你的经验,或者想看的模块解析内容,我会继续在系列中展开 👇

🔄 用"位元灵力世界"世界观理解 PWM 的本质
📚 系列:位元灵力 · 模块觉醒手册 - Day 1 PWM
⏮️ 上一篇:PWM:光明粒子的占空比与脉冲控制
⏭️ 下一篇:城市通信魔法:UART / SPI / I²C 的能量频道切换