esp32c3驱动sg90点灯
时间: 2025-01-09 10:31:45 浏览: 67
### ESP32C3 控制 SG90 舵机并点亮 LED 示例
#### 使用 MicroPython 实现控制
对于希望利用 ESP32C3 来驱动 SG90 舵机以及控制 LED 的开发者来说,MicroPython 提供了一种简洁高效的方法来完成这些任务。由于 MicroPython 是 Python 3 编程语言的一种精简而高效的实现,并针对微控制器进行了优化[^3]。
以下是具体的代码示例:
```python
from machine import Pin, PWM
import time
# 初始化PWM对象用于控制舵机
servo = PWM(Pin(17), freq=50)
# 设置LED引脚
led = Pin(2, Pin.OUT)
def set_servo_angle(angle):
duty_cycle = int((angle / 180) * 1024 + 26)
servo.duty(duty_cycle)
try:
while True:
# 循环改变角度从0度到180度再回到0度
for angle in range(0, 180, 10):
set_servo_angle(angle)
led.value(1) # 打开LED
time.sleep_ms(500)
for angle in range(180, -1, -10):
set_servo_angle(angle)
led.value(0) # 关闭LED
time.sleep_ms(500)
except KeyboardInterrupt:
pass
finally:
servo.deinit()
```
这段程序通过 `machine.PWM` 和 `Pin` 类创建了一个 PWM 对象用来控制舵机的角度变化;同时也定义了如何设置特定角度下的占空比值以达到转动目的。此外,在循环过程中交替开关连接至 GPIO2 上的一个外部 LED 灯泡,实现了简单的视觉反馈效果[^2]。
阅读全文
相关推荐

















