球球帝企鹅 2023-02-24 13:44 采纳率: 50%
浏览 47
已结题

合宙的ESP32C3开发板控制ws2812彩灯同时连接WiFi会出现彩灯显示不正常?

系统:WIN7
硬件:合宙ESP32C3 单核、160mhZ,
软件:
1、使用 FastLED ,wifi 库
2、Vscode 搭建 Platformio开发平台

场景一、合宙esp32c3单独连接wifi,能正常连接wifi。
场景二、合宙esp32c3单独控制12颗ws2812灯珠时,ws2812的颜色、亮度均正常。
场景三、连接wifi,并同时控制12颗ws2812灯珠显示蓝色,会出现灯珠闪烁,一会蓝灯、一会绿灯、一会红灯?

下面是代码,哪位有经验的朋友帮我看看。谢谢!

#include <Arduino.h>
#include <FastLED.h>
#include <WiFi.h>

/*********************以下为ws2812定义*********************/
#define DATA_PIN  18
//esp32c3驱动ws2812可用引脚 7,5,4,18,1,0
#define LED_TYPE    WS2812
#define COLOR_ORDER GRB
#define NUM_LEDS    12        //led的个数
CRGB leds[NUM_LEDS];        //建立LED光带
unsigned char max_bright=2;  //光带亮度0~255
CHSV MYHSVCOLOR(100,200,200);//自定义HSV颜色
//CRGB MYRGBCOLOR(100,200,200);//自定义RGB颜色

/*********************以下为wifi定义*********************/
const char * ID = "huawei5z";
const char * PASSWORD = "12349876";

void setup() 
{
  Serial.begin(9600);
  delay(100);   
  LEDS.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS);  //启动灯带 
  FastLED.setBrightness(max_bright);


  Serial.println("WiFi:");
  Serial.println(ID);
  Serial.println("PASSWORLD:");
  Serial.println(PASSWORD);
  
  WiFi.begin(ID,PASSWORD);
  
  while(WiFi.status()!=WL_CONNECTED)
  {
    delay(500);
    Serial.println("正在连接...");
  } 
  Serial.println("连接成功!");

}

void loop()
{
  fill_solid(leds, 12, CRGB::Blue);
  FastLED.show();
  delay(300);
}

  • 写回答

3条回答 默认 最新

  • 球球帝企鹅 2023-03-11 18:42
    关注

    总算弄完了,回来做个记号
    解决方法有2种
    方法一:不更换平台,继续使用paltformio,但不使用FastLED库,而是用Adafruit_NeoPixel库驱动ws2812;
    方法二:更换平台,使用乐鑫官方的IDF。
    个人分析:FastLED库的底层代码与wifi库的底层有外设上的冲突。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 已采纳回答 3月11日
  • 创建了问题 2月24日

悬赏问题

  • ¥15 springboot+vue 集成keycloak sso到阿里云
  • ¥15 win7系统进入桌面过一秒后突然黑屏
  • ¥15 有一台三相异步电动机 M1控制一个小车,有四个控制按钮,一个复位、一个启动、一个停止,还有一个急停,两个行程开关分别为上限位和下限位。 上限位。 下限位。
  • ¥30 backtrader对于期货交易的现金和资产计算的问题
  • ¥15 求C# .net4.8小报表工具
  • ¥15 安装虚拟机时出现问题
  • ¥15 Selenium+docker Chrome不能运行
  • ¥15 mac电脑,安装charles后无法正常抓包
  • ¥18 visio打开文件一直显示文件未找到
  • ¥15 请教一下,openwrt如何让同一usb储存设备拔插后设备符号不变?