php 开源的企业网站,景德镇建站公司,网站图标用代码代替,手机4g建立网站ESP32-S3-devKitC-1 板上自带了一个RGB LED#xff0c;型号为 WS2812。
RGB LED 在板上的位置如下图所示。 为了点亮这个WS2812#xff0c;需要确定这颗RGB LED连接到哪个GPIO上了。 下面是确定GPIO管脚的过程#xff1a; 1、根据原理图 2、根据PCB布局图#xff1a;
程…ESP32-S3-devKitC-1 板上自带了一个RGB LED型号为 WS2812。
RGB LED 在板上的位置如下图所示。 为了点亮这个WS2812需要确定这颗RGB LED连接到哪个GPIO上了。 下面是确定GPIO管脚的过程 1、根据原理图 2、根据PCB布局图
程序使用了 zorxx/neopixel 这个组件所以需要运行组件添加命令:
idf.py add-dependency zorxx/neopixel^1.0.10组件添加完成后需要重新选一下芯片才可以下载添加的组件到项目中。 完整的代码
#include freertos/FreeRTOS.h
#include freertos/task.h
#include esp_log.h
#include driver/gpio.h
#include neopixel.h#define TAG RGB-WS2812
#define LED_COUNT 1
#define LED_PIN GPIO_NUM_48
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))void app_main(void)
{uint32_t times 100000; //显示的次数tNeopixelContext neopixel neopixel_Init(LED_COUNT, LED_PIN);tNeopixel pixel[] {{ 0, NP_RGB(50, 0, 0) }, /* 红色 */{ 0, NP_RGB(0, 50, 0) }, /* 绿色 */{ 0, NP_RGB(0, 0, 50) }, /* 蓝色 */{ 0, NP_RGB(0, 0, 0) }, /* 关闭 */};ESP_LOGI(TAG, [%s] Starting, __func__);for(int iter 0; iter times; iter){for(int i 0; i ARRAY_SIZE(pixel); i){neopixel_SetPixel(neopixel, pixel[i], 1);vTaskDelay(pdMS_TO_TICKS(200)); //延时此时显示红、绿、蓝、关闭中的一种}}ESP_LOGI(TAG, [%s] Finished, __func__);
}
这时候即使编译成功烧制完成RGB LED灯也不会亮。 还差一步 使用杜邦线把RGB下面的连接点短接接通R17和GPIO48管脚的线路结果展示