跳到正文
robotips

阶段 2 / 6, 第 3-4 周

微控制器、Arduino 和 ESP32

你的目标: 写出能读取外部世界并控制输出的代码,先在 Arduino 上,再到 ESP32 上。

从这里开始,你用代码来控制电路。在这个阶段,弄清哪一行代码驱动哪个引脚,收获最大。

本阶段的 Lab

等距插图:一块蓝色 Arduino UNO 用两根导线连接到面包板,板上有一个红色 LED 和一个 220 Ω 的电阻。

Lab 00

Blink:你的第一个程序

从内部看你的第一个 Arduino 程序:13 号引脚在 5 V 和 0 V 之间切换,LED 就这样亮起和熄灭。

要学什么

  1. 1你的第一个 blink,以及如何读取按钮
  2. 2PWM:控制亮度和速度
  3. 3串口通信,用来看板子内部发生了什么
  4. 4ESP32-S3 的引脚图,以及 ESP32 为什么带有 Wi-Fi 和 Bluetooth
  5. 5逐行阅读固件

有不熟悉的词?请查看 术语表.

常见错误

什么都用 delay()。delay() 会让整个循环停住:等待期间,程序读不到任何传感器。想等待又不卡住,用 millis()。

你弄懂了吗?

第 1 题,共 3 题

在 Arduino Uno 上,digitalWrite(13, HIGH) 做什么?

练习

在 Arduino 模拟器里,写一个程序:读取电位器,用 PWM 改变 LED 的亮度,并通过串口打印数值。先在 Arduino Uno 上做,再移到 ESP32 上。注意两者打印的范围:Uno 读到 0 到 1023,ESP32 是 0 到 4095。先搞清楚为什么,再往下走。