Добрый день! Уже несколько дней мучаюсь с этим кодом. Суть проекта - мигание адресной лентой, то есть задним фонарем велосипеда. Но не получается подружиться с millis. Оно просто не работает, даже в сериал ничего не пишется(
Наверное я что-то не так написал в коде...
Наверное я что-то не так написал в коде...
C++:
#include <Wire.h>
uint32_t redTimer;
#define LED_PIN 6 // пин ленты
#define NUMLEDS 8 // кол-во светодиодов
#define ORDER_GRB
#define COLOR_DEBTH 1
#include <microLED.h>
LEDdata leds[NUMLEDS]; // буфер ленты типа LEDdata (размер зависит от COLOR_DEBTH)
microLED strip(leds, NUMLEDS, LED_PIN); // объект лента
bool redLed; //флаг фонаря
void redLed_blink (void) {
if (millis() - redTimer >= 100) { // ищем разницу (100 мс)
redLed = redLed; //ивертируем флаг включения
redTimer = millis(); // сброс таймера
}
}
void redLed_checker (void) { //проверка флага redLed
if(redLed = true) { //если 1
strip.setBrightness(20);
strip.fill(mCOLOR(RED));
strip.show();
Serial.println("on"); //печать в сериал о том что включенно
}
else{ //иначе выключить
strip.clear();
strip.show();
Serial.println("off"); //печать в сериал о том что выключенно
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
// put your main code here, to run repeatedly:
void loop() {
redLed_blink; //запуск функций
redLed_checker;
}