Здравствуйте, делаю часы по коду получается не понятка, две строчки из-за которых перестает меняться цвет если закомментировать то начинает работать. Что я не так сделал?
[/SPOILER]
Форматирование (BB-код):
#include <Wire.h>
#include <DS3231.h>
#include "Adafruit_NeoPixel.h"
#include "DHT.h"
#define LED_COUNT 78 //количество светодиодов
#define LED_PIN 6 //ws2812
#define DHT_PIN 11 //датчик DHT11
#define T_PERIOD 1000 //период
Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN,
NEO_RGB + NEO_KHZ800);
DS3231 Clock;
DHT dht(DHT_PIN, DHT11);
bool h12;
bool dot;
unsigned long my_timer;
byte count;
byte digits[13][19] = {
//1,1,1,2,2,2 3,3,3 4,4 5,5 6,6,6 7,7,7
{0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, //0
{0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1}, //1
{1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0}, //2
{1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1}, //3
{1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,1,1,1}, //4
{1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1}, //5
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, //6
{0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1}, //7
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, //8
{1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1}, //9
{0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0}, //C
{1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0}, //*
{0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1} //%
};
int GetTime(){
byte hours = Clock.getHour(h12, h12);
byte minutes = Clock.getMinute();
byte seconds = Clock.getSecond();
dot = seconds % 2;
return (hours * 100 + minutes);
}
void TimeToDislpay(){
byte digit;
int tTime = GetTime();
byte index=78;
// uint_32 color;
//точки
if(dot){strip.setPixelColor(38, 0xFF0000);
strip.setPixelColor(39, 0xFF0000);}
else{strip.setPixelColor(38, 0x000000);
strip.setPixelColor(39, 0x000000);};
for(byte i=1;i<=4;i++){
digit = tTime % 10;
tTime /= 10;
switch(i){
case 1:
; index = 59;
break;
case 2:
index = 40;
break;
case 3:
index = 19;
break;
case 4:
index = 0;
break;
}
for(byte k=0;k<=18;k++){
if(digits[digit][k]==1){
// strip.setPixelColor(index, 0xFF0000);//Если Раскомментировать то светотодиоды перестают менять Цвет
}else{
// strip.setPixelColor(index, 0x000000);//Если Раскомментировать то светотодиоды перестают менять Цвет
}
index++;(
}
}
strip.show();
}
void setup() {
Serial.begin(9600);
Wire.begin();
dht.begin();
pinMode(LED_BUILTIN, OUTPUT);
strip.setBrightness(25);
strip.begin();
count = 0;
my_timer = 0;
}
void loop() {
TimeToDislpay();
digitalWrite(LED_BUILTIN, dot);
delay(1000);
}
Вложения
-
3 KB Просмотры: 3