资源简介
esp32 sdk编程利用rmt驱动ws2812七彩灯,实现彩虹渐变效果。对应的博客 https://blog.csdn.net/xh870189248/article/details/90897877

代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include “ws2812.h“
#define WS2812_PIN 22
#define WS2812_COUNTS 20 // 灯珠个数
#define delay_ms(ms) vTaskDelay((ms) / portTICK_RATE_MS)
/**
* @description: 彩虹渐变效果演示
* @param {type}
* @return:
*/
void TaskRainbow(void *pvParameters)
{
const uint8_t anim_step = 10;
const uint8_t anim_max = 250;
const uint8_t delay = 25; // 2种颜色之间的渐变时间间隔
rgbValue color = getRGBValue(anim_max 0 0);
uint8_t step = 0;
rgbValue color2 = getRGBValue(anim_max 0 0);
uint8_t step2 = 0;
rgbValue *pixels;
pixels = malloc(sizeof(rgbValue) * WS2812_COUNTS);
while (1)
{
color = color2;
step = step2;
for (uint8_t i = 0; i < WS2812_COUNTS; i++)
{
pixels[i] = color;
if (i == 1)
{
color2 = color;
step2 = step;
}
switch (step)
{
case 0:
color.g += anim_step;
if (color.g >= anim_max)
step++;
break;
case 1:
color.r -= anim_step;
if (color.r == 0)
step++;
break;
case 2:
color.b += anim_step;
if (color.b >= anim_max)
step++;
break;
case 3:
color.g -= anim_step;
if (color.g == 0)
step++;
break;
case 4:
color.r += anim_step;
if (color.r >= anim_max)
step++;
break;
case 5:
color.b -= anim_step;
if (color.b == 0)
step = 0;
break;
}
}
ws2812_setColors(pixels);
delay_ms(delay);
}
}
void app_main()
{
nvs_flash_init();
//初始化
ws2812_init(WS2812_PIN WS2812_COUNTS);
//彩虹渐变效果演示
//xTaskCreate(TaskRainbow “TaskRainbow Demo“ 4096 NULL 10 NULL);
/* 下面演示如果看到实际效果应该是 红色---绿色---蓝色
* 但是如果看到的是 绿色---红色---蓝色 请替换调用 ws2812_setColor_grb()方法即可!
* 原因在于:不同的灯珠生产商家定义不一样
*/
while (1)
{
ws2812_setColor(25400);//红色
delay_ms(1000);
ws2812_setColor(02540);//绿色
delay_ms(1000);
ws2812_setColor(00254);//蓝色
delay_ms(1000);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-06-03 15:46 10_ws2812_RMT\
目录 0 2019-06-03 14:41 10_ws2812_RMT\components\
目录 0 2019-06-03 14:41 10_ws2812_RMT\components\ws2812\
文件 197 2019-06-03 12:00 10_ws2812_RMT\components\ws2812\component.mk
目录 0 2019-06-03 14:41 10_ws2812_RMT\components\ws2812\include\
文件 1143 2019-06-03 12:03 10_ws2812_RMT\components\ws2812\include\ws2812.h
目录 0 2019-06-03 14:41 10_ws2812_RMT\components\ws2812\lib\
文件 29420 2019-06-03 12:01 10_ws2812_RMT\components\ws2812\lib\libws2812.a
目录 0 2019-06-03 15:46 10_ws2812_RMT\main\
文件 466 2018-06-07 21:09 10_ws2812_RMT\main\component.mk
文件 2516 2019-06-03 15:46 10_ws2812_RMT\main\main.c
文件 184 2019-06-03 09:50 10_ws2812_RMT\Makefile
文件 27 2019-06-03 15:46 10_ws2812_RMT\README.md
文件 24877 2019-06-03 09:51 10_ws2812_RMT\sdkconfig
文件 24884 2019-06-03 09:51 10_ws2812_RMT\sdkconfig.old
相关资源
- ESP32蓝牙架构官方
- https://github.com/rmtheis/tess-two编译出来的
- esp32 官方API编程手册
- ESP8266_8285_32系列透传固件 JFirmwareESP
- ESP32、ESP8266/85增强型透传固件 JFirmw
- 乐鑫Esp32实现smartConfig和微信airKiss,一
- Arduino-esp32_SoundRecorder.zip
- 安信可ESP8266模块调试工具V3.0.0
- esp32电路板文件
- ESP32原理图和PCB
- Arduino-arduino-esp32.zip
- Esp32_Cam_Test.exe
- 在ESP32下,使用mbedtls库,测试sha、a
- esp32-Lyratd-msc 语音识别板使用指南
- ESP32 MQTT的DEMO
- esp32 qt 源码
- esp8266自动获取天气及时钟在oled显示
- GOOUUU-ESP32原理图
- esp32 Windows环境工具链安装指导,
- esp8266可用的28byj、20byj、24byj五线四相
- prmt.txt
- ESP32开发板原理图ESP-WROVER-KIT.pdf
- zadig-2.5.zip
- ESP32 仿STM32原子哥程序处理外部Flash
- MicroPython for ESP32 快速参考
- esp32自动获取天气及时钟在oled显示,
- ESP32模组原理图和PCB
-
Arduino-esp32_MusicPla
yer.zip - SerialGraph.zip
- freertos内存泄漏检测代码ESP32
评论
共有 条评论