|
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[NUM_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); // 这里 我延迟 卡着检测! 基本没用 对不上! 循环执行下来同步不上
}
|
|