Submit

18 / 20

追踪太阳的太阳能板

比较两个光敏传感器,让舵机带动太阳能板朝向光源。

运行此实验 →
ESP32 教学电路插图,显示模组、引脚和本课实验元件

实验目标

改变太阳位置,对照传感器差值与面板角度。

工作原理

比较两个光敏传感器,让舵机带动太阳能板朝向光源。 差值很小时不应移动舵机,死区可避免平衡点附近抖动。 此处为配套教学模型,硬件示例基于经典 ESP32 与 Arduino-ESP32 3.x;网络、声波、负载和机械运动均为简化演示。

动手试一试

  1. 打开此实验
  2. 改变太阳位置,对照传感器差值与面板角度。

接线

  • GPIO 34 / 35 — 左/右光敏分压器 · 3V3
  • GPIO 18 — 面板舵机

示例代码

#include <ESP32Servo.h>
Servo arm;
int angle = 90;

void setup() {
  arm.setPeriodHertz(50);
  arm.attach(18, 500, 2400);
}

void loop() {
  int left = analogRead(34), right = analogRead(35);
  if (abs(left - right) > 100) angle = constrain(angle + (right > left ? 1 : -1), 0, 180);
  arm.write(angle);
  delay(30);
}

检查理解

为什么加入死区?

查看答案

差值很小时不应移动舵机,死区可避免平衡点附近抖动。

参考资料

Arduino-ESP32 ↗ · GPIO 参考 ↗

MAKE A THOUGHTFUL CHOICE

Your shortlist, side by side.

Pricing models are indicative. Check each official website for current plans and limits.