『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 18006|回复: 7

[经验分享] 用按钮开关切换2种固定灯带效果[固定方式,不是随机]

[复制链接]

42

主题

523

帖子

2517

积分

金牌会员

Rank: 6Rank: 6

积分
2517
金钱
1989
HASS币
30
发表于 2021-3-30 11:49:59 | 显示全部楼层 |阅读模式
本帖最后由 czweb 于 2021-4-1 13:19 编辑

灯带控制器定制要求:
1、使用场景:灯带用于电子秤边上的氛围营造;
2、实现效果:没人踩时显示呼吸效果,人踩上去时显示跑马灯效果;
3、控制方式:物理开关控制,GPIO引脚接出来,呼吸效果接常闭,跑马灯接常开,人站在秤上通过挤压物理开关,实现了2种效果切换;

经过半天研究,结果自己竟然实现了,源代码见5楼
灯带呼吸和跑马-按钮切换3.gif

回复

使用道具 举报

42

主题

523

帖子

2517

积分

金牌会员

Rank: 6Rank: 6

积分
2517
金钱
1989
HASS币
30
 楼主| 发表于 2021-3-30 11:51:48 | 显示全部楼层
寻求高手定制,私信或回帖留联系方式深入沟通
回复

使用道具 举报

6

主题

743

帖子

5960

积分

论坛元老

Rank: 8Rank: 8

积分
5960
金钱
5212
HASS币
20
发表于 2021-3-30 16:18:16 | 显示全部楼层
8266刷WLED固件,自己鼓捣鼓捣应该可以实现。
回复

使用道具 举报

0

主题

34

帖子

1471

积分

金牌会员

Rank: 6Rank: 6

积分
1471
金钱
1437
HASS币
0
发表于 2021-3-31 19:01:52 | 显示全部楼层
我们家就有接入米家的灯带控制器,完全满足你的需求
回复

使用道具 举报

42

主题

523

帖子

2517

积分

金牌会员

Rank: 6Rank: 6

积分
2517
金钱
1989
HASS币
30
 楼主| 发表于 2021-4-1 11:10:53 | 显示全部楼层
不能使用很复杂的方式,ESP32这种模块的单片机非常好,省事,不容易坏.
竟然被我解决了
/*
灯带控制器定制要求:
1、使用场景:灯带用于电子秤边上的氛围营造;
2、实现效果:没人踩时显示呼吸效果,人踩上去时显示跑马灯效果;
3、控制方式:物理开关控制,GPIO引脚接出来,呼吸效果接常闭,跑马灯接常开,人站在秤上通过挤压物理开关,实现了2种效果切换;
 */
#include <WS2812FX.h>
#define LED_COUNT 30        //灯带灯珠数量
#define LED_PIN 12          //RGB灯带针脚,esp32,G12
int buttonPin = 23;         //按键的管脚定义
int ButtonState = 0;        //按钮状态
int ButtonLastState = 0;    //按钮最后状态

WS2812FX ws2812fx = WS2812FX(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  Serial.begin(115200); //用于打印输出端口,调试使用
  ws2812fx.init();
  //ws2812fx.setBrightness(255);//设置LED的整体亮度; 0=不亮,255=最高
  //ws2812fx.setSpeed(1000);//设置LED的速度; 0=剥离,255=全强度剥离
  //ws2812fx.setColor(BLUE);//设置LED的颜色;
  //ws2812fx.setMode(3);//3是跑马灯效果
  ws2812fx.start();
  //ws2812fx.setSegment(段索引,  启动LED,   停止LED,   模式, 颜色[],         速度,   反向);
  //ws2812fx.setSegment(0,      0,        LED_COUNT, 2,   COLORS(BLUE),   1000,   false); //2是呼吸效果
  //ws2812fx.setSegment(0,      0,        LED_COUNT, 3,   COLORS(BLUE),   5000,   false); 
  
  pinMode(buttonPin, INPUT_PULLUP); //设置按键管脚输入高电平模式
  //pinMode(buttonPin, INPUT); //设置按键管脚输入模式
}


//检测按键有没有被按下,按下显示跑马灯效果,没按显示呼吸效果;
void button_check() {
  ButtonState = digitalRead(buttonPin); // 读取按键状态
  if(ButtonState != ButtonLastState){
    if(ButtonState == HIGH){
        Serial.println("buttonPin 34 open");
        ws2812fx.setBrightness(100);//设置LED的整体亮度; 0=不亮,255=最高
        ws2812fx.setSpeed(5000);//设置动画速度。 10=非常快,5000=非常慢
        ws2812fx.setColor(BLUE);//设置LED的颜色;
        ws2812fx.setMode(15);//15是呼吸效果
        //delay(3000);//ms毫秒单位
    }else{
      Serial.println("buttonPin 34 close");
      ws2812fx.setBrightness(255);//设置LED的整体亮度; 0=不亮,255=最高
      ws2812fx.setSpeed(1000);//设置动画速度。 10=非常快,5000=非常慢
      ws2812fx.setColor(RED);//设置LED的颜色;
      ws2812fx.setMode(44);//44是跑马灯效果
    }
    delay(100);
  }
  ButtonLastState = ButtonState;
}

void loop() {
  ws2812fx.service();
  button_check();
}


/*
0   FX_MODE_STATIC  静态-不闪烁。只是普通的旧静态光。
1   FX_MODE_BLINK 闪烁-正常闪烁。开/关时间为50%。
2   FX_MODE_BREATH  呼吸-进行众所周知的智能设备的“待机呼吸”。固定速度。
3   FX_MODE_COLOR_WIPE  彩色擦拭-彼此点亮后所有的LED点亮。然后按此顺序将其关闭。重复。
4   FX_MODE_COLOR_WIPE_INVERSE  反向颜色擦除-与“颜色擦除”相同,除了交换开/关颜色外。
5   FX_MODE_COLOR_WIPE_REVERSE  反向彩色擦拭-彼此点亮后所有的LED点亮。然后以相反的顺序关闭它们。重复。
6   FX_MODE_COLOR_WIPE_REVERSE_INVERSE  反向彩色擦拭反转-与“反向彩色擦拭反转”相同,除了交换开/关颜色外。
7   FX_MODE_COLOR_WIPE_RANDOM 随机擦色-将所有LED彼此转换为随机颜色。然后以另一种颜色重新开始。
8   FX_MODE_RANDOM_COLOR  随机颜色-以一种随机颜色点亮所有LED。然后将它们切换到下一个随机颜色。
9   FX_MODE_SINGLE_DYNAMIC  单一动态-以随机颜色点亮每个LED。将一个随机LED依次更改为随机颜色。
10  FX_MODE_MULTI_DYNAMIC 多重动态-以随机颜色点亮每个LED。同时将所有LED更改为新的随机颜色。
11  FX_MODE_RAINBOW 彩虹-一次循环通过彩虹的所有LED。
12  FX_MODE_RAINBOW_CYCLE 彩虹循环-在整个LED串上循环彩虹。
13  FX_MODE_SCAN  扫描-来回运行单个像素。
14  FX_MODE_DUAL_SCAN 双重扫描-以相反的方向来回运行两个像素。
15  FX_MODE_FADE  淡入淡出-淡入淡出LED,然后再次(几乎)熄灭。
16  FX_MODE_THEATER_CHASE 剧院大通-剧院式爬行灯。受到Adafruit示例的启发。
17  FX_MODE_THEATER_CHASE_RAINBOW 剧院追逐彩虹-具有彩虹效果的剧院式爬行灯。受到Adafruit示例的启发。
18  FX_MODE_RUNNING_LIGHTS  行驶灯-行驶灯效果具有平滑的正弦过渡。
19  FX_MODE_TWINKLE 闪烁-使多个LED闪烁,重置,重复。
20  FX_MODE_TWINKLE_RANDOM  随机闪烁-随机闪烁多个LED,重设,重复。
21  FX_MODE_TWINKLE_FADE  闪烁淡入淡出-使多个LED闪烁,淡出。
22  FX_MODE_TWINKLE_FADE_RANDOM 随机闪烁淡入淡出-以随机颜色闪烁多个LED,并逐渐消失。
23  FX_MODE_SPARKLE 闪烁-一次闪烁一个LED。
24  FX_MODE_FLASH_SPARKLE Flash Sparkle-以选定的颜色点亮所有LED。随机闪烁单个白色像素。
25  FX_MODE_HYPER_SPARKLE 超级闪光-像闪光一样。随着更多的闪光。
26  FX_MODE_STROBE  频闪-经典频闪效果。
27  FX_MODE_STROBE_RAINBOW  频闪彩虹-经典频闪效果。穿越彩虹。
28  FX_MODE_MULTI_STROBE  多频闪-频闪效果,具有不同的频闪计数和暂停,由速度设置控制。
29  FX_MODE_BLINK_RAINBOW 眨眼彩虹-经典眨眼效果。穿越彩虹。
30  FX_MODE_CHASE_WHITE 追逐白色-彩色在白色上运行。
31  FX_MODE_CHASE_COLOR 追逐颜色-白色在颜色上运行。
32  FX_MODE_CHASE_RANDOM  追逐随机-白色运行,然后随机颜色。
33  FX_MODE_CHASE_RAINBOW 追逐彩虹-白色在彩虹上奔跑。
34  FX_MODE_CHASE_FLASH Chase Flash(追逐闪光) -白色闪烁运行在彩色上。
35  FX_MODE_CHASE_FLASH_RANDOM  Chase Flash Random-白色闪烁,随后是随机颜色。
36  FX_MODE_CHASE_RAINBOW_WHITE 追逐彩虹白的运行在白色的彩虹。
37  FX_MODE_CHASE_BLACKOUT  追逐停电-黑色在颜色上运行。
38  FX_MODE_CHASE_BLACKOUT_RAINBOW  追逐停电彩虹-黑色在彩虹上奔跑。
39  FX_MODE_COLOR_SWEEP_RANDOM  颜色扫描随机-从条的开始和结尾交替引入的随机颜色。
40  FX_MODE_RUNNING_COLOR 运行颜色-交替运行彩色/白色像素。
41  FX_MODE_RUNNING_RED_BLUE  运行红色蓝色-交替运行红色/蓝色像素。
42  FX_MODE_RUNNING_RANDOM  随机运行-随机运行的彩色像素。
43  FX_MODE_LARSON_SCANNER  拉森扫描仪-KITT
44  FX_MODE_COMET 彗星-从一端射出彗星。
45  FX_MODE_FIREWORKS 烟花-烟花火花。
46  FX_MODE_FIREWORKS_RANDOM  随机烟花-随机彩色烟花火花。
47  FX_MODE_MERRY_CHRISTMAS 圣诞快乐-交替运行绿色/红色像素。
48  FX_MODE_FIRE_FLICKER  火灾闪烁-火灾闪烁效果。就像在大风中。
49  FX_MODE_FIRE_FLICKER_SOFT 火灾闪烁(软) -火灾闪烁效果。运行速度较慢/较慢。
50  FX_MODE_FIRE_FLICKER_INTENSE  火灾闪烁(强烈) -火灾闪烁效果。颜色范围更大。
51  FX_MODE_CIRCUS_COMBUSTUS  马戏团马戏团-交替运行白色/红色/黑色像素。
52  FX_MODE_HALLOWEEN 万圣节-交替运行橙色/紫色像素。
53  FX_MODE_BICOLOR_CHASE 双色追逐-在背景色上运行的两个LED。
54  FX_MODE_TRICOLOR_CHASE  三色追逐-交替运行三个彩色像素。
55  FX_MODE_THRU_62._CUSTOM 至62.自定义-最多八个用户创建的自定义效果。
 */


灯带呼吸和跑马-按钮切换1.jpg
灯带呼吸和跑马-按钮切换2.jpg

esp32_hu_xi_2021.03.30.rar

3.22 KB, 下载次数: 2

回复

使用道具 举报

42

主题

523

帖子

2517

积分

金牌会员

Rank: 6Rank: 6

积分
2517
金钱
1989
HASS币
30
 楼主| 发表于 2021-4-1 20:28:43 | 显示全部楼层
不仅仅实现了灯光控制,又完善了OTA web页面空中升级,方便设备装到硬件中无法直接插USB,导致升级不方便的问题. OTA升级页面.png
回复

使用道具 举报

15

主题

636

帖子

2203

积分

金牌会员

Rank: 6Rank: 6

积分
2203
金钱
1567
HASS币
0
发表于 2021-4-1 22:57:31 | 显示全部楼层
楼主厉害,这下可炫酷了。希望能开发更多的应用场景,呵呵
回复

使用道具 举报

2

主题

51

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
金钱
229
HASS币
0
发表于 2021-5-23 18:28:06 | 显示全部楼层
大神用的是什么电子秤?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 04:19 , Processed in 0.069216 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表