>

millis를 사용하여 2 초마다 led가 깜박이려고합니다. 다른 센서가 작동 중이므로 지연이 불가능합니다.

지금까지 나는 이것을 얻었지만 작동하지 않는 것 같습니다.

#include "FastLED.h"
#define NUM_LEDS 12 // number of LEDS in neopixel ring
#define DATA_PIN 10 // for neopixel ring
CRGB leds[NUM_LEDS];
long period = 2000;        
long currentMillis = 0;
long startMillis = 0;
void setup() {
FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
}
void loop() {
 currentMillis = millis();
  if (currentMillis - startMillis >= period) {
    startMillis = currentMillis;
    leds[7]=CRGB(255,0,0);
    FastLED.show();
  }
}


  • 답변 # 1

    좀 더 가까이 가나 요?

    #include "FastLED.h"
    #define NUM_LEDS 12 // number of LEDS in neopixel ring
    #define DATA_PIN 10 // for neopixel ring
    CRGB leds[NUM_LEDS];
    unsigned long period = 2000;        
    unsigned long currentMillis = 0;
    unsigned long startMillis = 0;
    boolean ledOn = false;
    void setup() {
    FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
    }
    void loop() {
     currentMillis = millis();
      if (currentMillis - startMillis >= period) {
        startMillis = currentMillis;
        ledOn = !ledOn;
        if(ledOn){
          leds[7]=CRGB(255,0,0);
        }
        else {
          leds[7]=CRGB(0,0,0);
        }
        FastLED.show();
      }
    }
    
    

  • 이전 Problem with the splashscreen after resume ( Flutter - 재개 후 스플래시 화면 문제 (flutter - 안드로이드)
  • 다음 javascript - 고유 ID를 추가하면서 동일한 ID로 오브젝트 값을 추가하여 두 오브젝트 배열 병합