11047646 发表于 2020-11-21 21:11:28

汽车转向控制LED

ttps://v.youku.com/v_show/id_XNDk3NDQyNzc1Ng==.html

如视频汽车转向信号 接板子 数字2 口   有转向信号是   高电平1   没有转向信号低电平0    我的功能是 高电平的时候 流水灯然后 低电平的 时候常亮问题的这个转向有规律的 大概 0.5秒闪一次不闪 的 时候是 低电平 信号 000   这个时候 就有问题了高电平的 流水灯和低电平的 常亮一起执行了!我也尝试过用 延迟 卡 这个信号 发现没用了! 根本卡不中! 10~~1000 都试过~   都同步不上! 乱套了! 为什么会这样!   还有其他方法 判断 这个一会   11111一会0000 的信号吗?
#include "FastLED.h"      

#define NUM_LEDS 66         

#define DATA_PIN 3            

#define LED_TYPE WS2812      

#define COLOR_ORDER GRB      


CRGB leds;      

void setup() {

Serial.begin(9600);         

pinMode(2, INPUT);   //2 接口接受转向信号

delay(1000);            

LEDS.addLeds<LED_TYPE, DATA_PIN, COLOR_ORDER>(leds, NUM_LEDS);

FastLED.setBrightness(255);                        

}

void loop() {

int zhuanxiang = digitalRead(2);

//------------------------检测低频信号就常亮

if(zhuanxiang == 0 ){               

fill_solid(leds, 66, CRGB::White);

FastLED.show();

}

//------------------------高频流水单

if(zhuanxiang == 1 ){

for (int i = 0; i <= NUM_LEDS; i++) {   

    leds = CRGB::Orange;

   FastLED.show();   

}

   fill_solid(leds, 66, CRGB::Black);

FastLED.show();

}

delay(200);   //这里 我延迟卡着检测!基本没用 对不上! 循环执行下来同步不上

}

托米 发表于 2020-11-26 09:23:48

我想到两个办法解决这个问题,方法1,从信号入手,由于目前你是从转向灯这里接入的信号,信号是反复高低变化的,但如果从转向闪光控制器前端找信号,那么这个信号就是持续的了。方法2,信号接入不变,在Arduino检测到高电平后,执行流水灯,重复n便,比如持续30秒,在此期间循环,不检测D2口。

xiao_y 发表于 2020-11-28 20:11:47

这个有意思,我也学习WS2812想改装下车灯。请问你的这个信号采集是怎么采集的呢?原车信号不是一般都是CAN信号吗?
页: [1]
查看完整版本: 汽车转向控制LED