【ESP32开发】——RGB LED灯(灯珠)点亮

本文介绍了如何使用ESP32-S3和ESP32-C3开发板,结合AdafruitNeoPixel库来点亮板载RGB灯。通过VSCode+PlatformIO+Arduino框架,设置LED_PIN和LED_COUNT,实现RGB灯红绿蓝三色交替点亮。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、引言

        本章内容主要介绍如何使用ESP32开发板点亮板载的RGB灯,使用的是ESP32-S3和ESP32-C3开发板,调用第三方库实现。由于网络上没有关于点亮ESP32板载RGB灯的资料,特此记录。

二、 ESP32-C3与ESP32-S3

        以下为各自开发板的引脚图,驱动板载RGB LED灯的引脚可观察板子上RGB旁边的标记字,如RGB@IO8,即驱动引脚为GPIO 8

引脚可查看官方文档:

ESP32-S3-DevKitC-1 v1.1 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档 (espressif.com)

ESP32-S3的RGB灯驱动需要查看板子

### ESP32 控制 RGB 的电路设计 对于 ESP32 来说,要控制一个 RGB LED 的亮灭以及颜色变化,通常会采用 PWM (脉宽调制) 技术来调节各个颜色通道的亮度。PWM 可以通过改变信号占空比的方式模拟电压的变化从而调整发光二极管的亮度。 #### 所需材料 - ESP32 开发板 - WS2812B 或者其他类型的可寻址 RGB LED 模组/条带 - 连接线若干 - 如果使用的是单个 RGB LED,则还需要电阻用于限流 #### 接线方式 当连接单一 RGB LED 时,一般情况下红色、绿色和蓝色引脚分别接到 ESP32 上不同的 GPIO 引脚上,并且每一路都应该串联适当大小的电流限制电阻;而公共端(通常是负极)接地即可[^1]。 如果选用像 WS2812B 这样的集成控制器LED,则只需要将数据输入 DIN 对应到任意可用作输出功能的一个GPIO口上,VCC 和 GND 分别接入电源正负极就可以完成基本连线工作了。 ```plaintext ESP32 | RGB LED Module / Strip ----------------------------------------- GND ----> GND (-) DIN(GPIO X) ----> Data In(DI) 5V ----> VCC (+), For strip, connect to external power supply if needed. ``` 注意:这里的 `X` 表示具体的 GPIO 编号,可以根据实际需求选择合适的引脚编号。 ### Python 代码实例 下面给出一段简单的 MicroPython 脚本用来测试上述设置是否正常运作: ```python from machine import Pin, PWM import time # 定义RGB LED各色对应的IO口 red_pin = PWM(Pin(18)) green_pin = PWM(Pin(19)) blue_pin = PWM(Pin(21)) def set_color(r, g, b): red_pin.duty(int(r * 1023 / 255)) # 将红光强度转换成适合PWM使用的范围内的数值 green_pin.duty(int(g * 1023 / 255)) # 同理处理绿蓝两路 blue_pin.duty(int(b * 1023 / 255)) try: while True: # 循环显示几种基础色彩组合 colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255)] for color in colors: set_color(*color) time.sleep_ms(1000) except KeyboardInterrupt: pass finally: # 清除所有PWM对象释放资源 del(red_pin) del(green_pin) del(blue_pin) ``` 这段程序定义了一个名为 `set_color()` 函数接受三个参数代表三种原色分量值,在主循环里依次切换不同颜色展示给用户看。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值