汽车转向控制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); //这里 我延迟卡着检测!基本没用 对不上! 循环执行下来同步不上
}
我想到两个办法解决这个问题,方法1,从信号入手,由于目前你是从转向灯这里接入的信号,信号是反复高低变化的,但如果从转向闪光控制器前端找信号,那么这个信号就是持续的了。方法2,信号接入不变,在Arduino检测到高电平后,执行流水灯,重复n便,比如持续30秒,在此期间循环,不检测D2口。 这个有意思,我也学习WS2812想改装下车灯。请问你的这个信号采集是怎么采集的呢?原车信号不是一般都是CAN信号吗?
页:
[1]