Skip to content

필사 모드: 面向开发者的电子控制入门 — 从 Arduino 到 AI 机器人

中文
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.
Arduino Electronics

引言

我们每天都在写代码,但你是否体验过代码与物理世界相遇的那一刻?当 LED 因为你的代码而亮起的那一瞬间,软件开发的一个全新维度就此打开。

这个系列是面向软件开发者的电子控制入门。只要你会 C/C++ 或 Python,电子控制就比想象中容易得多。

为什么开发者要学习电子控制

  1. 全栈的真正含义 — 软件 + 硬件 = 完整系统
  2. 机器人时代 — 2026 年进入人形机器人时代
  3. IoT/Edge AI — 从云端走向设备端
  4. 爱好即实力 — 嵌入式开发者的身价持续上涨

路线图

[阶段 1] Arduino 基础(本文)
    └── LED、按钮、传感器、伺服电机
[阶段 2] ESP32 IoT
    └── WiFi、MQTT、Web 仪表盘
[阶段 3] Raspberry Pi + 摄像头
    └── 计算机视觉、边缘 AI
[阶段 4] ROS 2 机器人
    └── 自主导航、机械臂
[阶段 5] AI + 硬件融合
    └── 语音识别机器人、智能家居

所需物品(5万韩元就够!)

部件价格用途
Arduino Uno R4 WiFi~25,000 韩元主板
面包板 + 跳线~5,000 韩元电路连接
37 种传感器套件~15,000 韩元各类实验
SG90 伺服电机 x2~3,000 韩元电机控制

基础概念:只需了解 3 点

1. 数字 vs 模拟

数字:01(开/关)
LED 控制、按钮读取
Arduino: digitalRead(), digitalWrite()

模拟:0~1023 连续值
  → 温度传感器、光敏传感器
Arduino: analogRead(), analogWrite()PWM

2. 电压、电流、电阻(欧姆定律)

V = I × R

V(电压)= 5V(Arduino 默认)
R(电阻)= 220Ω(LED 保护用)
I(电流)= 5V / 220Ω = 22.7mA ✅(LED 安全范围)

面向开发者的类比:电压 = API 请求,电流 = 数据流,电阻 = Rate Limiter

3. GPIO(General Purpose Input/Output)

Arduino Uno R4:
  数字引脚: D0~D13(输入/输出)
  模拟引脚: A0~A5(输入)
  PWM 引脚: D3, D5, D6, D9, D10, D11(伪模拟输出)
  电源: 5V, 3.3V, GND

实践 1:LED 闪烁(Hello World)

电路

Arduino D13 ──[220Ω]──[LED(+)]──[LED(-)]── GND

代码

// Blink — 电子控制的 Hello World
void setup() {
    pinMode(13, OUTPUT);  // 将 D13 设为输出模式
}

void loop() {
    digitalWrite(13, HIGH);  // LED ON
    delay(1000);             // 等待 1 秒
    digitalWrite(13, LOW);   // LED OFF
    delay(1000);             // 等待 1 秒
}

如果你是 Python 开发者:可以用 MicroPython 代替 Arduino IDE!

# MicroPython(在 ESP32 上运行)
from machine import Pin
import time

led = Pin(13, Pin.OUT)

while True:
    led.value(1)   # ON
    time.sleep(1)
    led.value(0)   # OFF
    time.sleep(1)

实践 2:用按钮控制 LED

const int buttonPin = 2;
const int ledPin = 13;
int buttonState = 0;

void setup() {
    pinMode(ledPin, OUTPUT);
    pinMode(buttonPin, INPUT_PULLUP);  // 使用内部上拉电阻
}

void loop() {
    buttonState = digitalRead(buttonPin);

    if (buttonState == LOW) {  // 按钮被按下(因为是 PULLUP,所以是 LOW)
        digitalWrite(ledPin, HIGH);
    } else {
        digitalWrite(ledPin, LOW);
    }
}

实践 3:温湿度传感器(DHT11)

#include <DHT.h>

#define DHTPIN 2
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

void setup() {
    Serial.begin(9600);
    dht.begin();
}

void loop() {
    float humidity = dht.readHumidity();
    float temperature = dht.readTemperature();

    Serial.print("温度: ");
    Serial.print(temperature);
    Serial.print("°C / 湿度: ");
    Serial.print(humidity);
    Serial.println("%");

    delay(2000);
}

实践 4:伺服电机控制(乒乓球机器人的第一步!)

#include <Servo.h>

Servo myServo;

void setup() {
    myServo.attach(9);  // 将伺服电机连接到 D9 引脚
}

void loop() {
    // 0 度 → 180 度扫描
    for (int angle = 0; angle <= 180; angle += 10) {
        myServo.write(angle);
        delay(50);
    }
    // 180 度 → 0 度扫描
    for (int angle = 180; angle >= 0; angle -= 10) {
        myServo.write(angle);
        delay(50);
    }
}

实践 5:用 PWM 调节 LED 亮度

const int ledPin = 9;  // PWM 引脚

void setup() {
    pinMode(ledPin, OUTPUT);
}

void loop() {
    // Fade in
    for (int brightness = 0; brightness <= 255; brightness += 5) {
        analogWrite(ledPin, brightness);
        delay(30);
    }
    // Fade out
    for (int brightness = 255; brightness >= 0; brightness -= 5) {
        analogWrite(ledPin, brightness);
        delay(30);
    }
}

开发者项目创意

项目难度可对接的软件
乒乓球计分板⭐⭐对接 fingerscore
服务器机房温度监控⭐⭐Grafana 仪表盘
入侵检测告警⭐⭐⭐Telegram Bot 通知
双轴摄像头云台⭐⭐⭐OpenCV 人脸追踪
自定义宏键盘⭐⭐⭐开发生产力工具
AI 智能家居⭐⭐⭐⭐K8s + MQTT + LLM

AI + 电子控制融合(Ultimate Goal)

[Arduino 传感器][ESP32 WiFi][K8s MQTT Broker]
                               [AI 推理(GPU 服务器)]
                               [控制命令 → 电机/LED]

把家里的 GPU 服务器和 Arduino 连接起来,就能实现:

  • 语音命令 → Qwen3-TTS → 扬声器(omen)
  • 摄像头画面 → LTX-2 分析 → 伺服电机控制(spark01)
  • 传感器数据 → 异常检测 AI → 告警(spark02)

系列路线图

主题状态
第 1 篇Arduino 基础(本文)
第 2 篇ESP32 WiFi + MQTT IoT🔜
第 3 篇Raspberry Pi + 摄像头视觉🔜
第 4 篇ROS 2 机器人控制基础🔜
第 5 篇AI + 硬件集成项目🔜

📝 测验 — 电子控制基础(点击查看!)

Q1. 根据欧姆定律 V = I x R,在 5V 电源上接一个 1kΩ 电阻,电流是多少? ||5V / 1000Ω = 5mA(0.005A)||

Q2. Arduino 中数字引脚和模拟引脚的区别是什么? ||数字:只有 0/1(HIGH/LOW)两种状态。模拟:可以读取 0~1023 范围内的连续值(ADC 10bit)||

Q3. PWM(Pulse Width Modulation)是什么,用在哪里? ||通过调节数字信号的 ON/OFF 比例(占空比)来产生伪模拟输出的技术。用于 LED 亮度调节、电机转速控制||

Q4. 在 INPUT_PULLUP 模式下按下按钮,读到的值是什么? ||LOW(0)— 内部上拉电阻平时保持 HIGH,按下按钮后连接到 GND,变为 LOW||

Q5. DHT11 传感器的测量范围和精度是多少? ||温度:0~50°C(±2°C),湿度:20~80%(±5%)。价格低廉,精度不高,但入门足够用||

Q6. 伺服电机 SG90 的控制信号和动作范围是什么? ||PWM 信号(50Hz,1~2ms 脉冲宽度),0~180 度旋转。使用 Servo 库而非 analogWrite||

测验

Q1:「面向开发者的电子控制入门 — 从 Arduino 到 AI 机器人」这篇文章主要涵盖哪些内容?

面向软件开发者迈入硬件世界的指南。从 Arduino 基础到传感器控制、ESP32 IoT,再到 AI + 硬件融合项目。只要你会写代码,电子控制就比你想象的容易。

Q2: 为什么开发者要学习电子控制? 全栈的真正含义 — 软件 + 硬件 = 完整系统。机器人时代 — 2026 年进入人形机器人时代。IoT/Edge AI — 从云端走向设备端。爱好即实力 — 嵌入式开发者的身价持续上涨。

Q3: 请说明「基础概念:只需了解 3 点」的核心内容。
  1. 数字 vs 模拟 2. 电压、电流、电阻(欧姆定律)面向开发者的类比:电压 = API 请求,电流 = 数据流,电阻 = Rate Limiter 3. GPIO(General Purpose Input/Output)

Q4:「实践 1:LED 闪烁(Hello World)」的要点是什么? 电路 代码 如果你是 Python 开发者:可以用 MicroPython 代替 Arduino IDE!

Q5:「AI + 电子控制融合(Ultimate Goal)」是如何运作的? 把家里的 GPU 服务器和 Arduino 连接起来,就能实现:语音命令 → Qwen3-TTS → 扬声器(omen)摄像头画面 → LTX-2 分析 → 伺服电机控制(spark01)传感器数据 → 异常检测 AI → 告警(spark02)

현재 단락 (1/165)

我们每天都在写代码,但你是否体验过代码与**物理世界**相遇的那一刻?当 LED 因为你的代码而亮起的那一瞬间,软件开发的一个全新维度就此打开。

작성 글자: 0원문 글자: 4,242작성 단락: 0/165