在这里插入图片描述

1 Arduino软件安装及板级支持包下载

Arduino IDE搭建ESP32或ESP8266开发环境(附离线安装包)
https://blog.csdn.net/qq_34426854/article/details/145853077

Arduino上通过Board Manager下载ESP32/8266的支持包。
在这里插入图片描述

ESP32通过USB接口连接电脑,然后选定对应的ESP32S3 Dev Module板子。

在这里插入图片描述

2 点亮WS2812B LED灯

板子上有一个三色LED灯,通过GPIO48控制。
在这里插入图片描述
其通过协议进行控制,而不是简单的GPIO置0/1。

电协干货|WS2812B

可以采用第三方库进行变成:点击Tools->Manage Libraries。
在这里插入图片描述
添加FastLED库。

修改代码如下(AI生成):

// 引入FastLED库
#include <FastLED.h>

// 设置参数
#define LED_PIN     48     // 信号线连接的GPIO引脚号
#define NUM_LEDS    1      // 要控制的灯珠数量(这里先点亮1个)

// 定义一个LED数组,用于存储每个灯珠的颜色数据
CRGB leds[NUM_LEDS];

void setup() {
  // 初始化FastLED
  // 参数说明: LED数组, 灯珠数量
  // 颜色顺序(GRB)很重要,WS2812B通常使用GRB顺序
  FastLED.addLeds<WS2812B, LED_PIN, GRB>(leds, NUM_LEDS);
  
  // 可选:设置全局亮度(0-255)
  FastLED.setBrightness(50); // 初始亮度设为50,避免过亮
}

void loop() {
  // 将第一个灯珠(索引为0)设置为绿色
  // 颜色格式: CRGB(红, 绿, 蓝),每个参数范围0-255
  leds[0] = CRGB(0, 255, 0); // 红色和蓝色为0,绿色为255
  
  // 将颜色数据发送到灯珠
  FastLED.show();
  
  // 保持绿色2秒
  delay(2000);
  
  // 接下来,将第一个灯珠变为红色
  leds[0] = CRGB(255, 0, 0);
  FastLED.show();
  delay(2000);
  
  // 再变为蓝色
  leds[0] = CRGB(0, 0, 255);
  FastLED.show();
  delay(2000);
  
  // 最后可以尝试混合颜色,比如紫色(红色+蓝色)
  leds[0] = CRGB(255, 0, 255);
  FastLED.show();
  delay(2000);
  
  // 熄灭所有灯珠
  leds[0] = CRGB(0, 0, 0);
  FastLED.show();
  delay(2000);
}

选择ESP32S3 Dev Module和对应COM口。
保存后,点击Verify和Upload,进行编译和上传,这一部分时间较长,需要耐心等待。
在这里插入图片描述

开发板每2秒换一次颜色。
在这里插入图片描述

3 使用官方示例

点击文件->示例->ESP32S3 Dev Module的示例,下面就有各种驱动案例,比之间让AI生成直接且精准。
在这里插入图片描述

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐