ARDUINO Помогите с выводом на WS2812

deniss777

✩✩✩✩✩✩✩
26 Янв 2022
18
0
Оформи код соответствующим тэгом
здравствуйте. помогите тоже с минусом . в порту правильно показывает отрицательную температуру а вывод фигню на ws2812



#include <Wire.h> // Базовая библиотека шины I2C (используется для связи модуля часов реального времени)
#include <iarduino_RTC.h> // Библиотека часов реального времени
#include <Adafruit_NeoPixel.h> // Библиотека для управления адресными светодиодами
#include <OneWire.h> // Бибиотека шины 1-Wire для работы температурных датчиков
#include <DallasTemperature.h> // Библиотека температурного сенсора DS18B20
#include <EEPROMex.h> // Библиотека доступа к энергонезависимой памяти

#define PIN 6 // управление адресными светодиодами по этому пину
#define ONE_WIRE_BUS 10 // датчик температуры DS18B20 подключен к этому пину
#define TEMPERATURE_PRECISION 12 // точность измерений 9-бит низкая, 12-бит высокая

iarduino_RTC time(RTC_DS3231); // подключаем RTC модуль на базе чипа DS3231, используется аппаратная шина I2C
Adafruit_NeoPixel strip = Adafruit_NeoPixel(86, PIN, NEO_GRB + NEO_KHZ800); //Подключаем ленту на адресных светодиодах
OneWire oneWire(ONE_WIRE_BUS); // подключаем шину 1-Wire, для передачи данных с сенсоров температуры
DallasTemperature sensors(&oneWire); // подключаем температурные сенсоры

byte Mode = 0; //режимы: по умолчанию 0 - отображение времени с заданными настройкамиbyte NumColor = 0;
//----------- переменные настроек, которые так же хранятся в ПЗУ контроллера и считываются при включении устройсва-------------
byte NowBrigtness = 180; // текущая яркость элементов (начальное значение должно быть кратным 15)
byte ColorMode = 13; // текущий цветовой режим (13 режим - цвет меняется каждый час, полный цикл за 12 частов)
byte TempTime = 8; // длительность отображения температуры
//------------------------------------------------------
int temp10; // перомежуточная переменная температуры (используем множитель 10, что бы использовать тип integer
long int KeyPressed; // время в милисекундах, для сравнения с текущими милисекундами (используется для возврата в основной режим)
unsigned long eeprom_timer; // таймер зашивки в энергонезависимую память параметров настройки часов
byte degree = 25 ; // процент яркости разделительных точек (исходя из геометрии яркость разделительных точек нужно уменьшать
boolean eeprom_flag;

//OneWire oneWire(ONE_WIRE_BUS);
//DallasTemperature sensors(&oneWire);

//void setup(){
//Serial.begin(9600);
//sensors.begin();
//}

//void loop(){
//отправляем запрос на измерение температуры
//sensors.requestTemperatures();
//покажем температуру в мониторе Serial порта
// Serial.print("Temp C: ");
//Serial.println(sensors.getTempCByIndex(0));
//}



void setup() {
Serial.begin(9600); // подключаем сериал порт для вывода отладочной информации (отключено в целях экономии памяти)
sensors.begin();


sensors.requestTemperatures();
Serial.print("Temp C: ");
Serial.println(sensors.getTempCByIndex(0));
pinMode(2, INPUT_PULLUP); // подключаем кнопку 1 к пину и подтягиваем её к питанию
pinMode(3, INPUT_PULLUP); // подключаем кнопку 2 к пину и подтягиваем её к питанию
pinMode(4, INPUT_PULLUP); // подключаем кнопку 3 к пину и подтягиваем её к питанию
time.begin(); // запускаем часы реального времени
sensors.begin(); // запускаем сенсоры температуры
strip.begin(); // запускаем адресные светодиоды
strip.setBrightness(NowBrigtness); // устанавливаем яркость светодиодной ленты
strip.show();
//KeyPressed = millis();
// освещаем ленту (по умолчанию нули-ничего не светится)
// Отладочный способ установки времени через скетч
//time.settime(0,02,18,31,10,19,4); // _ сек, _ мин, _ час, _ день месяца, _ месяц, _ год, день недели 0-вск 6-суб
// updateEEPROM; // при первой прошивке раскоментировать для записи настроек в ПЗУ контроллера
readEEPROM(); // чтениt настроек из ПЗУ контроллера
}



void loop() {
BrightnessCheck(); //фоторезистор функция настройки яркости в соответствии с освещенностью


//if(millis()%1000==0){ // если прошла 1 секунда
//Serial.println(time.gettime("d-m-Y, H:i:s, D")); // выводим время
//delay(1); // приостанавливаем на 1 мс, чтоб не выводить время несколько раз за 1мс
// }
if ((millis() - KeyPressed) > 10000) Mode = 0; //если спустя 10 секунды кнопок не нажималось часы переходят в нормальный режим
int key = get_key(); // опрашиваем нажатие кнопки
if (key) {
delay(330); // после нажатия на любую кнопку делаем небольшую паузу, что бы успеть отпустить кнопку
KeyPressed = millis(); // сбрасываем таймер последнего нажатия кнопки (для того что бы спустя 3 сек часы перешли в режим 0)
eeprom_flag = true;
}
if (key == 2) { // если нажата кнопка 2, то гоняем меню по кругу (выбора режима цвета, яркость, установка времени и даты
if (Mode == 9) Mode = 0; else Mode++;
}
switch ( Mode ) {
case 0: { //---------------------- Нормальный режим "0": отображение времени и температуры ----------------------
setcolor (ColorMode); // задаём цвет всех элементов в зависимости от цветового режима
time.gettime(); // запрашиваем у модуля реального времени теущее время
if (( time.seconds) == ( 30 - TempTime)) { // раз в минуту проверяем наличие датчика
sensors.requestTemperatures(); // Отправляем запрос на значение температуры
temp10 = 10 * sensors.getTempCByIndex(0);
}
if ((( time.seconds) <= 60 - TempTime) or (temp10<-500)) { // отображаем время в том числе если датчик не подключен
digitout (0, time.Hours / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (21, time.Hours % 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (44, time.minutes / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (65, time.minutes % 10 ); // отрисовываем цифры (выставляем черные точки)
if (( time.seconds) % 2 == 0) { // по четным секундам разделительные точки не светятся (можно сделать затухание)
strip.setPixelColor(42, 0, 0, 0); strip.setPixelColor(43, 0, 0, 0);
}
}
//ТЕМПЕРАТУРА



if ((key == 1) || (key == 3) || ((( time.seconds) > 60 - TempTime) and (temp10>-500))) { // если нажали кнопку "1" или пришло время отображать температуру и датчик подключен





sensors.requestTemperatures(); // Отправляем запрос на значение температуры
temp10 = 10 * sensors.getTempCByIndex(0); //подстройка температуры 10

Serial.print("Temp C: ");
if(sensors.getTempCByIndex(0)<0)
// Serial.println(sensors.getTempCByIndex(0)*(-1));
//else
Serial.println(sensors.getTempCByIndex(0));


for (int i = 0; i < 86; i++) {strip.setPixelColor(i, WheelRGB((40 - temp10 / 10) * 255 / 60 & 255)); // цвет зависит от температуры датчика


// if (i == 42 or i == 43) strip.setPixelColor(i, WheelRBG((40 - temp10 / 10) * 255 / 60 & 255)); // для разделительных точек применяем модифицированное цветовое колесо
}
if (temp10 < -500) { // если датчик отключен, то выводим "---с"
digitout (0, 13 ); // отрисовываем "-" (выставляем черные точки)
digitout (21, 13 ); // отрисовываем "-" (выставляем черные точки)
digitout (44, 13 ); // отрисовываем "-" (выставляем черные точки)
strip.setPixelColor(18, (0, 0, 0)); // знак "_" не рисуем
strip.setPixelColor(19, (0, 0, 0));
strip.setPixelColor(20, (0, 0, 0));
}
else
{
digitout (21, temp10 / 100 ); // отрисовываем цифры (выставляем черные точки) десятки градуса
digitout (44, ((temp10) % 100) / 10 ); // отрисовываем цифры (выставляем черные точки) единицы градуса
// digitout (44, (temp10) % 10 ); // отрисовываем цифры (выставляем черные точки) десятые доли градуса

}
strip.setPixelColor(42, 0, 0, 0); // затеняем верхнюю точку
strip.setPixelColor(43, 0, 0, 0); // затеняем нижнюю точку
digitout (65, 11 ); //симвод градуса Цельсия
digitout (0, 13 ); //симвод "-" в первом семисегментном индикаторе --------------------

if (temp10 >=0) { // если температура выше нуля, то знак "-" не отображаем


strip.setPixelColor(18, (0, 0, 0));
strip.setPixelColor(19, (0, 0, 0)); // знак "-" в первом семисегментном индикаторе убираем при плюсовой температуре
strip.setPixelColor(20, (0, 0, 0));

}


// if (key == 3) {
// - зарезервированно либо для вывода даты, либо для вывода температуры с второго датчика
// }
}
strip.show(); //освещаем режим 0
break;
} //---------------------- конец отработки условия нормального режима "0" ------------------
case 1: { // Если режим "1" - установка цветовой схемы
if (key == 1) { //Установка цвета
if (ColorMode == 0) ColorMode = 26; else ColorMode--;
}
if (key == 3) { //Гоняем цвет по кругу
if (ColorMode == 26) ColorMode = 0; else ColorMode++;
}
setcolor (ColorMode); // задаём цвет всех элементов в зависимости от цветового режима
// - отображаем на экране номер цветового режима
digitout (0, 12 ); // отрисовываем цифры (выставляем черные точки)
digitout (21, 13); // отрисовываем цифры (выставляем черные точки)
digitout (44, ColorMode / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (65, ColorMode % 10); // отрисовываем цифры (выставляем черные точки)
strip.setPixelColor(42, 0, 0, 0); strip.setPixelColor(43, 0, 0, 0);
strip.show(); //освещаем режим
break;
}
case 2: { // Если режим "2" - установка яркости
if (key == 1) {
NowBrigtness = NowBrigtness - 15; //меняем яркость от 0 до 255 с шагом 5
}
if (key == 3) {
NowBrigtness = NowBrigtness + 15;
}
setcolor (ColorMode); // задаём цвет всех элементов в зависимости от цветового режима
if (NowBrigtness == 0)strip.setBrightness(1);
else strip.setBrightness(NowBrigtness); ; // устанавливаем яркость светодиодной ленты
// - отображаем на экране величину яркости
digitout (0, 14 ); // отрисовываем цифры (выставляем черные точки)
digitout (21, 13); // отрисовываем цифры (выставляем черные точки)
digitout (44, (NowBrigtness / 15) / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (65, (NowBrigtness / 15) % 10); // отрисовываем цифры (выставляем черные точки)
strip.setPixelColor(42, 0, 0, 0); strip.setPixelColor(43, 0, 0, 0);
strip.show(); //освещаем режим
break;
}
case 3: { // Если режим "3" - Установка времени отображения температуры

if (key == 1) { // Устанавливаем время показа температуры на -1 сек
if (TempTime == 0) TempTime = 60; else TempTime = TempTime - 1 ;
}
if (key == 3) { //Устанавливаем время показа температуры на +1 сек
if (TempTime == 60) TempTime = 0; else TempTime = TempTime + 1;
}
setcolor (ColorMode); // задаём цвет всех элементов в зависимости от цветового режима
digitout (0, 17); // отрисовываем цифры (выставляем черные точки)
digitout (21, 17); // отрисовываем цифры (выставляем черные точки)
digitout (44, TempTime / 10); // отрисовываем цифры (выставляем черные точки)
digitout (65, TempTime % 10); // отрисовываем цифры (выставляем черные точки)
strip.setPixelColor(42, 0, 0, 0); strip.setPixelColor(43, 0, 0, 0);
strip.show(); //освещаем режим
break;
}
case 4: { // Если режим "4" - установка времени (час)
if (key == 1) { //уменьшаем часы
if ((time.Hours) == 0) time.settime(-1, -1, 23); else time.settime(-1, -1, (time.Hours) - 1); //установит времени (час)
}
if (key == 3) { //увеличиваем часы
if ((time.Hours) == 23) time.settime(-1, -1, 0); else time.settime(-1, -1, (time.Hours) + 1); //установит времени (час)
}
// задаём цвет всех элементов в зависимости от цветового режима
time.gettime(); // запрашиваем у модуля реального времени теущее время
setcolor (ColorMode); // задаём цвет всех элементов в зависимости от цветового режима
// for (int i = 0; i < 14; i++) { // задаём цвет часов серым
// strip.setPixelColor(i, 127, 127, 127);
// }
if (( millis() % 1000 > 500)) {
digitout (0, 15 ); // отрисовываем цифры (выставляем черные точки)
digitout (21, 15 ); // отрисовываем цифры (выставляем черные точки)
} else
{
digitout (0, time.Hours / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (21, time.Hours % 10 ); // отрисовываем цифры (выставляем черные точки)
}
digitout (44, time.minutes / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (65, time.minutes % 10 ); // отрисовываем цифры (выставляем черные точки)
// if (( time.seconds) % 2 == 0) { // по четным секундам разделительные точки не светятся (можно сделать затухание)
// strip.setPixelColor(14, 0, 0, 0); strip.setPixelColor(15, 0, 0, 0);
// }
strip.show(); //освещаем режим
break;
}
case 5: { // Если режим "5" - установка времени (мин). При изменении минут секунды обнуляются
if (key == 1) { //уменьшаем минуты
if ((time.minutes) == 0) time.settime(0, 59); else time.settime(0, (time.minutes) - 1); //установит времени (мин)
}
if (key == 3) { //увеличиваем минуты
if ((time.minutes) == 59) time.settime(0, 0); else time.settime(0, (time.minutes) + 1); //установит времени (мин)
}
// задаём цвет всех элементов в зависимости от цветового режима
time.gettime(); // запрашиваем у модуля реального времени теущее время

setcolor (ColorMode); // задаём цвет всех элементов в зависимости от цветового режима
// for (int i = 16; i < 30; i++) { // задаём цвет минут серым
// strip.setPixelColor(i, 127, 127, 127);
// }

if (( millis() % 1000 > 500)) {
digitout (44, 15 ); // отрисовываем цифры (выставляем черные точки)
digitout (65, 15 ); // отрисовываем цифры (выставляем черные точки)
} else
{
digitout (44, time.minutes / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (65, time.minutes % 10 ); // отрисовываем цифры (выставляем черные точки)
}
digitout (0, time.Hours / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (21, time.Hours % 10 ); // отрисовываем цифры (выставляем черные точки)

// if (( time.seconds) % 2 == 0) { // по четным секундам разделительные точки не светятся (можно сделать затухание)
// strip.setPixelColor(14, 0, 0, 0); strip.setPixelColor(15, 0, 0, 0);
// }
strip.show(); //освещаем режим
break;
}
case 6: { // Если режим "6" - Установка дня
if (key == 1) { //уменьшаем времени (мин)
if ((time.day) == 1) time.settime(-1, -1, -1, 31); else time.settime(-1, -1, -1, (time.day) - 1); //установит дата)
}
if (key == 3) { //увеличиваем часы

if ((time.day) == 31) time.settime(-1, -1, -1, 1); else time.settime(-1, -1, -1, (time.day) + 1); //установит дата
}
// задаём цвет всех элементов в зависимости от цветового режима
time.gettime(); // запрашиваем у модуля реального времени теущее время
setcolor (ColorMode); // задаём цвет всех элементов в зависимости от цветового режима
// for (int i = 0; i < 14; i++) { // задаём цвет часов серым
// strip.setPixelColor(i, 127, 127, 127);
// }
if (( millis() % 1000 > 500)) {
digitout (0, 15 ); // отрисовываем цифры (выставляем черные точки)
digitout (21, 15 ); // отрисовываем цифры (выставляем черные точки)
} else
{
digitout (0, time.day / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (21, time.day % 10 ); // отрисовываем цифры (выставляем черные точки)
}
digitout (44, time.month / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (65, time.month % 10 ); // отрисовываем цифры (выставляем черные точки)
strip.setPixelColor(42, 0, 0, 0); // Оставляем светиться нижнюю точку - разделитель дня и месяца
strip.show(); //освещаем режим


break;
}
case 7: { // Если режим "7" - Установка месяца
if (key == 1) { //уменьшаем времени (мин)
if ((time.month) == 1) time.settime(-1, -1, -1, -1, 12); else time.settime(-1, -1, -1, -1, (time.month) - 1); //установит дата)
}
if (key == 3) { //увеличиваем часы

if ((time.month) == 12) time.settime(-1, -1, -1, -1, 1); else time.settime(-1, -1, -1, -1, (time.month) + 1); //установит дата)
}
// задаём цвет всех элементов в зависимости от цветового режима
time.gettime(); // запрашиваем у модуля реального времени теущее время

setcolor (ColorMode); // задаём цвет всех элементов в зависимости от цветового режима
// for (int i = 16; i < 30; i++) { // задаём цвет минут серым
// strip.setPixelColor(i, 127, 127, 127);
// }

if (( millis() % 1000 > 500)) {
digitout (44, 15 ); // отрисовываем цифры (выставляем черные точки)
digitout (65, 15 ); // отрисовываем цифры (выставляем черные точки)
} else
{
digitout (44, time.month / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (65, time.month % 10 ); // отрисовываем цифры (выставляем черные точки)
}
digitout (0, time.day / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (21, time.day % 10 ); // отрисовываем цифры (выставляем черные точки)
strip.setPixelColor(42, 0, 0, 0); // Оставляем светиться нижнюю точку - разделитель дня и месяца
strip.show(); //освещаем режим
break;
}
case 8: { // Если режим "8"-установка года
if (key == 1) { //уменьшаем год
time.settime(-1, -1, -1, -1, -1, (time.year) - 1); //установит дата)
}
if (key == 3) { //увеличиваем год
time.settime(-1, -1, -1, -1, -1, (time.year) + 1); //установит дата)
}
setcolor (ColorMode); // задаём цвет всех элементов в зависимости от цветового режима

// for (int i = 0; i < 30; i++) { // задаём цвет минут серым
// strip.setPixelColor(i, 127, 127, 127);
// }
if (( millis() % 1000 > 500))
{
digitout (0, 15 ); // отрисовываем цифры (выставляем черные точки)
digitout (21, 15 );
digitout (44, 15 ); // отрисовываем цифры (выставляем черные точки)
digitout (65, 15 ); // отрисовываем цифры (выставляем черные точки)
} else
{
digitout (0, 2); // отрисовываем цифры (выставляем черные точки)
digitout (21, 0); // отрисовываем цифры (выставляем черные точки)
digitout (44, (time.year) / 10 ); // отрисовываем цифры (выставляем черные точки)
digitout (65, (time.year) % 10); // отрисовываем цифры (выставляем черные точки)
}
strip.setPixelColor(42, 0, 0, 0); strip.setPixelColor(43, 0, 0, 0);
strip.show(); //освещаем режим
break;
}
case 9: { // Если режим "9" - Установка дня недели

if (key == 1) { //уменьшаем времени (мин)
if ((time.weekday) == 0) time.settime(-1, -1, -1, -1, -1, 1 - 1, 6); else time.settime(-1, -1, -1, -1, -1, -1, (time.weekday) - 1); //установит дата)
}
if (key == 3) { //увеличиваем часы

if ((time.weekday) == 6) time.settime(-1, -1, -1, -1, -1, 1 - 1, 0); else time.settime(-1, -1, -1, -1, -1, -1, (time.weekday) + 1); //установит дата)
}

setcolor (ColorMode); // задаём цвет всех элементов в зависимости от цветового режима

// for (int i = 0; i < 86; i++) { // задаём цвет минут серым
// strip.setPixelColor(i, 127, 127, 127);
// }
if (( millis() % 1000 > 500))
{
digitout (65, 15 ); // отрисовываем цифры (выставляем черные точки)
} else
{
digitout (65, (time.weekday)); // отрисовываем цифры (выставляем черные точки)
}
digitout (0, 16 ); // отрисовываем цифры (выставляем черные точки)
digitout (21, 15 );
digitout (44, 15); // отрисовываем цифры (выставляем черные точки)
strip.setPixelColor(42, 0, 0, 0); strip.setPixelColor(43, 0, 0, 0);
strip.show(); //освещаем режим

break;
}
} // Конец обработки всех режимов
eepromTick(); // проверка не пора ли сохранить настройки
} // Конец основного цикла



/* Проверьте датчик освещенности (фоторезистр)и установите яркость соответственно */
void BrightnessCheck(){ // функция настройки яркости в соответствии с освещенностью
const byte sensorPin = A0; // пин датчика освещенности
const byte brightnessLow = 5; // низкий уровень яркости
const byte brightnessHigh = 250; // высокий уровень яркости
int sensorValue = digitalRead(sensorPin); // запрос с датчика
if (sensorValue == 0) {strip.setBrightness(brightnessLow);}
else {strip.setBrightness(brightnessHigh);}
};

void setcolor (byte ColorMode) { // процедура, которая задаёт цвет всех элементов в зависимости от указанного цветового режима
uint16_t i;
if (ColorMode < 24) { //12 цветов по цветовому колесу
for (i = 0; i < 86; i++) {
strip.setPixelColor(i, WheelRGB((ColorMode * 255 / 24) & 255));
if (i == 42 or i == 43) strip.setPixelColor(i, WheelRBG((ColorMode * 256 / 24) & 255)); // для разделительных точек применяем модифицированное цветовое колесо
}
}
if (ColorMode == 24) { // цвет -белый
for (i = 0; i < 86; i++) {
strip.setPixelColor(i, 255, 255, 255);
}
}

if (ColorMode == 25) { // цветовой режим -радуга с периодом 12 часов
time.gettime();
for (i = 0; i < 86; i++) {
strip.setPixelColor(i, WheelRGB((time.hours) * 255 / 12 & 255)); // в этом режиме часы меняются от 1-12
if (i == 42 or i == 43) strip.setPixelColor(i, WheelRBG((time.hours) * 255 / 12 & 255)); // для разделительных точек применяем модифицированное цветовое колесо
}
}
if (ColorMode == 26) { // цветовой режим -радуга с периодом 24 часа
time.gettime();
for (i = 0; i < 86; i++) {
strip.setPixelColor(i, WheelRGB((time.hours) * 255 / 24 & 255)); // в этом режиме часы меняются от 1-12
if (i == 42 or i == 43) strip.setPixelColor(i, WheelRBG((time.hours) * 255 / 24 & 255)); // для разделительных точек применяем модифицированное цветовое колесо
}
}

} //- конец процедуры установки цвета



int get_key() //Вывод нажатой клавиши
{
if (digitalRead(2) == 0) return 1;
if (digitalRead(3) == 0) return 2;
if (digitalRead(4) == 0) return 3;
return 0;
}

void tempout() { //процедура отображения температуры

}
 
Изменено:

bort707

★★★★★★✩
21 Сен 2020
3,067
915
Я не нашел у вас в коде, где бы вы хотя бы пытались вывести отрицательную температуру.
Поймите, лента это не дисплей, сама она знак минуса не нарисует. Это вы должны предусмотреть в коде. Нужно добавить проверку условия if (temp<0) и если температура отрицательная - нарисовать в первом разряде черточку как минус, а остальные цифры сдвинуть вправо.
И не забывайте, что минус занимает целый знак - значит цифр должно быть на одну меньше.
 

deniss777

✩✩✩✩✩✩✩
26 Янв 2022
18
0
Оформи код соответствующим тэгом
@bort707,
черточку как минус показывает как положено отвечает код
if (temp10 >=0) { // если температура выше нуля, то знак "-" не отображаем




// Отображение цифр
void digitout(int digitposition, int digit) {
switch ( digit) {
case 1: {
strip.setPixelColor(digitposition + 0, (0, 0, 0));
strip.setPixelColor(digitposition+1, (0, 0, 0));
strip.setPixelColor(digitposition+2, (0, 0, 0));
//strip.setPixelColor(digitposition + 3, (0, 0, 0));
//strip.setPixelColor(digitposition + 4, (0, 0, 0));
//strip.setPixelColor(digitposition + 5, (0, 0, 0));
//strip.setPixelColor(digitposition + 6, (0, 0, 0));
//strip.setPixelColor(digitposition + 7, (0, 0, 0));
//strip.setPixelColor(digitposition + 8, (0, 0, 0));
strip.setPixelColor(digitposition + 9, (0, 0, 0));
strip.setPixelColor(digitposition + 10, (0, 0, 0));
strip.setPixelColor(digitposition + 11, (0, 0, 0));
strip.setPixelColor(digitposition + 12, (0, 0, 0));
strip.setPixelColor(digitposition + 13, (0, 0, 0));
strip.setPixelColor(digitposition + 14, (0, 0, 0));
strip.setPixelColor(digitposition + 15, (0, 0, 0));
strip.setPixelColor(digitposition + 16, (0, 0, 0));
strip.setPixelColor(digitposition + 17, (0, 0, 0));
strip.setPixelColor(digitposition + 18, (0, 0, 0));
strip.setPixelColor(digitposition + 19, (0, 0, 0));
strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 2: {
//strip.setPixelColor(digitposition+0, (0, 0, 0));
//strip.setPixelColor(digitposition+1, (0, 0, 0));
//strip.setPixelColor(digitposition + 2, (0, 0, 0));
//strip.setPixelColor(digitposition+3, (0, 0, 0));
//strip.setPixelColor(digitposition+4, (0, 0, 0));
//strip.setPixelColor(digitposition + 5, (0, 0, 0));
strip.setPixelColor(digitposition+6, (0, 0, 0));
strip.setPixelColor(digitposition + 7, (0, 0, 0));
strip.setPixelColor(digitposition + 8, (0, 0, 0));
//strip.setPixelColor(digitposition + 9, (0, 0, 0));
//strip.setPixelColor(digitposition + 10, (0, 0, 0));
//strip.setPixelColor(digitposition + 11, (0, 0, 0));
//strip.setPixelColor(digitposition + 12, (0, 0, 0));
//strip.setPixelColor(digitposition + 13, (0, 0, 0));
//strip.setPixelColor(digitposition + 14, (0, 0, 0));
strip.setPixelColor(digitposition + 15, (0, 0, 0));
strip.setPixelColor(digitposition + 16, (0, 0, 0));
strip.setPixelColor(digitposition + 17, (0, 0, 0));
//strip.setPixelColor(digitposition + 18, (0, 0, 0));
//strip.setPixelColor(digitposition + 19, (0, 0, 0));
//strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 3: {
//strip.setPixelColor(digitposition+0, (0, 0, 0));
//strip.setPixelColor(digitposition+1, (0, 0, 0));
//strip.setPixelColor(digitposition+2, (0, 0, 0));
//strip.setPixelColor(digitposition+3, (0, 0, 0));
//strip.setPixelColor(digitposition + 4, (0, 0, 0));
//strip.setPixelColor(digitposition + 5, (0, 0, 0));
//strip.setPixelColor(digitposition+6, (0, 0, 0));
//strip.setPixelColor(digitposition + 7, (0, 0, 0));
//strip.setPixelColor(digitposition + 8, (0, 0, 0));
//strip.setPixelColor(digitposition + 9, (0, 0, 0));
//strip.setPixelColor(digitposition + 10, (0, 0, 0));
//strip.setPixelColor(digitposition + 11, (0, 0, 0));
strip.setPixelColor(digitposition + 12, (0, 0, 0));
strip.setPixelColor(digitposition + 13, (0, 0, 0));
strip.setPixelColor(digitposition + 14, (0, 0, 0));
strip.setPixelColor(digitposition + 15, (0, 0, 0));
strip.setPixelColor(digitposition + 16, (0, 0, 0));
strip.setPixelColor(digitposition + 17, (0, 0, 0));
//strip.setPixelColor(digitposition + 18, (0, 0, 0));
//strip.setPixelColor(digitposition + 19, (0, 0, 0));
//strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 4: {
strip.setPixelColor(digitposition + 0, (0, 0, 0));
strip.setPixelColor(digitposition+1, (0, 0, 0));
strip.setPixelColor(digitposition+2, (0, 0, 0));
//strip.setPixelColor(digitposition + 3, (0, 0, 0));
//strip.setPixelColor(digitposition + 4, (0, 0, 0));
//strip.setPixelColor(digitposition+5, (0, 0, 0));
//strip.setPixelColor(digitposition+6, (0, 0, 0));;
//strip.setPixelColor(digitposition + 7, (0, 0, 0));
//strip.setPixelColor(digitposition + 8, (0, 0, 0));
strip.setPixelColor(digitposition + 9, (0, 0, 0));
strip.setPixelColor(digitposition + 10, (0, 0, 0));
strip.setPixelColor(digitposition + 11, (0, 0, 0));
strip.setPixelColor(digitposition + 12, (0, 0, 0));
strip.setPixelColor(digitposition + 13, (0, 0, 0));
strip.setPixelColor(digitposition + 14, (0, 0, 0));
//strip.setPixelColor(digitposition + 15, (0, 0, 0));
//strip.setPixelColor(digitposition + 16, (0, 0, 0));
//strip.setPixelColor(digitposition + 17, (0, 0, 0));
//strip.setPixelColor(digitposition + 18, (0, 0, 0));
//strip.setPixelColor(digitposition + 19, (0, 0, 0));
//strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 5: {
//strip.setPixelColor(digitposition+0, (0, 0, 0));
//strip.setPixelColor(digitposition + 1, (0, 0, 0));
//strip.setPixelColor(digitposition+2, (0, 0, 0));
strip.setPixelColor(digitposition+3, (0, 0, 0));
strip.setPixelColor(digitposition + 4, (0, 0, 0));
strip.setPixelColor(digitposition+5, (0, 0, 0));
//strip.setPixelColor(digitposition+6, (0, 0, 0));
//strip.setPixelColor(digitposition + 7, (0, 0, 0));
//strip.setPixelColor(digitposition + 8, (0, 0, 0));
//strip.setPixelColor(digitposition + 9, (0, 0, 0));
//strip.setPixelColor(digitposition + 10, (0, 0, 0));
//strip.setPixelColor(digitposition + 11, (0, 0, 0));
strip.setPixelColor(digitposition + 12, (0, 0, 0));
strip.setPixelColor(digitposition + 13, (0, 0, 0));
strip.setPixelColor(digitposition + 14, (0, 0, 0));
//strip.setPixelColor(digitposition + 15, (0, 0, 0));
//strip.setPixelColor(digitposition + 16, (0, 0, 0));
//strip.setPixelColor(digitposition + 17, (0, 0, 0));
//strip.setPixelColor(digitposition + 18, (0, 0, 0));
//strip.setPixelColor(digitposition + 19, (0, 0, 0));
//strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}

case 6: {
//strip.setPixelColor(digitposition+0, (0, 0, 0));
//strip.setPixelColor(digitposition + 1, (0, 0, 0));
//strip.setPixelColor(digitposition+2, (0, 0, 0));
strip.setPixelColor(digitposition+3, (0, 0, 0));
strip.setPixelColor(digitposition+4, (0, 0, 0));
strip.setPixelColor(digitposition+5, (0, 0, 0));
//strip.setPixelColor(digitposition+6, (0, 0, 0));
//strip.setPixelColor(digitposition + 7, (0, 0, 0));
//strip.setPixelColor(digitposition + 8, (0, 0, 0));
//strip.setPixelColor(digitposition + 9, (0, 0, 0));
//strip.setPixelColor(digitposition + 10, (0, 0, 0));
//strip.setPixelColor(digitposition + 11, (0, 0, 0));
//strip.setPixelColor(digitposition + 12, (0, 0, 0));
//strip.setPixelColor(digitposition + 13, (0, 0, 0));
//strip.setPixelColor(digitposition + 14, (0, 0, 0));
//strip.setPixelColor(digitposition + 15, (0, 0, 0));
//strip.setPixelColor(digitposition + 16, (0, 0, 0));
//strip.setPixelColor(digitposition + 17, (0, 0, 0));
//strip.setPixelColor(digitposition + 18, (0, 0, 0));
//strip.setPixelColor(digitposition + 19, (0, 0, 0));
//strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 7: {
//strip.setPixelColor(digitposition+0, (0, 0, 0));
//strip.setPixelColor(digitposition+1, (0, 0, 0));
//strip.setPixelColor(digitposition+2, (0, 0, 0));
//strip.setPixelColor(digitposition + 3, (0, 0, 0));
//strip.setPixelColor(digitposition + 4, (0, 0, 0));
//strip.setPixelColor(digitposition + 5, (0, 0, 0));
//strip.setPixelColor(digitposition + 6, (0, 0, 0));
//strip.setPixelColor(digitposition + 7, (0, 0, 0));
//strip.setPixelColor(digitposition + 8, (0, 0, 0));
strip.setPixelColor(digitposition + 9, (0, 0, 0));
strip.setPixelColor(digitposition + 10, (0, 0, 0));
strip.setPixelColor(digitposition + 11, (0, 0, 0));
strip.setPixelColor(digitposition + 12, (0, 0, 0));
strip.setPixelColor(digitposition + 13, (0, 0, 0));
strip.setPixelColor(digitposition + 14, (0, 0, 0));
strip.setPixelColor(digitposition + 15, (0, 0, 0));
strip.setPixelColor(digitposition + 16, (0, 0, 0));
strip.setPixelColor(digitposition + 17, (0, 0, 0));
strip.setPixelColor(digitposition + 18, (0, 0, 0));
strip.setPixelColor(digitposition + 19, (0, 0, 0));
strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 8: {
//strip.setPixelColor(digitposition+0, (0, 0, 0));
//strip.setPixelColor(digitposition+1, (0, 0, 0));
//strip.setPixelColor(digitposition+2, (0, 0, 0));
//strip.setPixelColor(digitposition+3, (0, 0, 0));
//strip.setPixelColor(digitposition+4, (0, 0, 0));
//strip.setPixelColor(digitposition+5, (0, 0, 0));
//strip.setPixelColor(digitposition+6, (0, 0, 0));
//strip.setPixelColor(digitposition + 7, (0, 0, 0));
//strip.setPixelColor(digitposition + 8, (0, 0, 0));
//strip.setPixelColor(digitposition + 9, (0, 0, 0));
//strip.setPixelColor(digitposition + 10, (0, 0, 0));
//strip.setPixelColor(digitposition + 11, (0, 0, 0));
//strip.setPixelColor(digitposition + 12, (0, 0, 0));
//strip.setPixelColor(digitposition + 13, (0, 0, 0));
//strip.setPixelColor(digitposition + 14, (0, 0, 0));
//strip.setPixelColor(digitposition + 15, (0, 0, 0));
//strip.setPixelColor(digitposition + 16, (0, 0, 0));
//strip.setPixelColor(digitposition + 17, (0, 0, 0));
//strip.setPixelColor(digitposition + 18, (0, 0, 0));
//strip.setPixelColor(digitposition + 19, (0, 0, 0));
//strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 9: {
//strip.setPixelColor(digitposition+0, (0, 0, 0));
//strip.setPixelColor(digitposition+1, (0, 0, 0));
//strip.setPixelColor(digitposition+2, (0, 0, 0));
//strip.setPixelColor(digitposition+3, (0, 0, 0));
//strip.setPixelColor(digitposition+4, (0, 0, 0));
//strip.setPixelColor(digitposition+5, (0, 0, 0));
//strip.setPixelColor(digitposition+6, (0, 0, 0));
//strip.setPixelColor(digitposition + 7, (0, 0, 0));
//strip.setPixelColor(digitposition + 8, (0, 0, 0));
//strip.setPixelColor(digitposition + 9, (0, 0, 0));
//strip.setPixelColor(digitposition + 10, (0, 0, 0));
//strip.setPixelColor(digitposition + 11, (0, 0, 0));
strip.setPixelColor(digitposition + 12, (0, 0, 0));
strip.setPixelColor(digitposition + 13, (0, 0, 0));
strip.setPixelColor(digitposition + 14, (0, 0, 0));
//strip.setPixelColor(digitposition + 15, (0, 0, 0));
//strip.setPixelColor(digitposition + 16, (0, 0, 0));
//strip.setPixelColor(digitposition + 17, (0, 0, 0));
//strip.setPixelColor(digitposition + 18, (0, 0, 0));
//strip.setPixelColor(digitposition + 19, (0, 0, 0));
//strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 0: {
//strip.setPixelColor(digitposition+0, (0, 0, 0));
//strip.setPixelColor(digitposition+1, (0, 0, 0));
//strip.setPixelColor(digitposition+2, (0, 0, 0));
//strip.setPixelColor(digitposition+3, (0, 0, 0));
//strip.setPixelColor(digitposition+4, (0, 0, 0));
//strip.setPixelColor(digitposition+5, (0, 0, 0));
//strip.setPixelColor(digitposition+6, (0, 0, 0));
//strip.setPixelColor(digitposition + 7, (0, 0, 0));
//strip.setPixelColor(digitposition + 8, (0, 0, 0));
//strip.setPixelColor(digitposition + 9, (0, 0, 0));
//strip.setPixelColor(digitposition + 10, (0, 0, 0));
//strip.setPixelColor(digitposition + 11, (0, 0, 0));
//strip.setPixelColor(digitposition + 12, (0, 0, 0));
//strip.setPixelColor(digitposition + 13, (0, 0, 0));
//strip.setPixelColor(digitposition + 14, (0, 0, 0));
//strip.setPixelColor(digitposition + 15, (0, 0, 0));
//strip.setPixelColor(digitposition + 16, (0, 0, 0));
//strip.setPixelColor(digitposition + 17, (0, 0, 0));
strip.setPixelColor(digitposition + 18, (0, 0, 0));
strip.setPixelColor(digitposition + 19, (0, 0, 0));
strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 11: { //символ градуса цельсия и знак минус _
//strip.setPixelColor(digitposition + 0, (0, 0, 0));
//strip.setPixelColor(digitposition + 1, (0, 0, 0));
//strip.setPixelColor(digitposition + 2, (0, 0, 0));
//strip.setPixelColor(digitposition+3, (0, 0, 0));
//strip.setPixelColor(digitposition+4, (0, 0, 0));
//strip.setPixelColor(digitposition+5, (0, 0, 0));
strip.setPixelColor(digitposition+6, (0, 0, 0));
strip.setPixelColor(digitposition + 7, (0, 0, 0));
strip.setPixelColor(digitposition + 8, (0, 0, 0));
strip.setPixelColor(digitposition + 9, (0, 0, 0));
strip.setPixelColor(digitposition + 10, (0, 0, 0));
strip.setPixelColor(digitposition + 11, (0, 0, 0));
strip.setPixelColor(digitposition + 12, (0, 0, 0));
strip.setPixelColor(digitposition + 13, (0, 0, 0));
strip.setPixelColor(digitposition + 14, (0, 0, 0));
// strip.setPixelColor(digitposition + 15, (0, 0, 0));
// strip.setPixelColor(digitposition + 16, (0, 0, 0));
// strip.setPixelColor(digitposition + 17, (0, 0, 0));
// strip.setPixelColor(digitposition + 18, (0, 0, 0));
// strip.setPixelColor(digitposition + 19, (0, 0, 0));
// strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 12: { //символ "C" "color"
//strip.setPixelColor(digitposition+0, (0, 0, 0));
//strip.setPixelColor(digitposition+1, (0, 0, 0));
//strip.setPixelColor(digitposition+2, (0, 0, 0));
strip.setPixelColor(digitposition+3, (0, 0, 0));
strip.setPixelColor(digitposition+4, (0, 0, 0));
strip.setPixelColor(digitposition+5, (0, 0, 0));
strip.setPixelColor(digitposition+6, (0, 0, 0));
strip.setPixelColor(digitposition + 7, (0, 0, 0));
strip.setPixelColor(digitposition + 8, (0, 0, 0));
//strip.setPixelColor(digitposition + 9, (0, 0, 0));
//strip.setPixelColor(digitposition + 10, (0, 0, 0));
//strip.setPixelColor(digitposition + 11, (0, 0, 0));
//strip.setPixelColor(digitposition + 12, (0, 0, 0));
//strip.setPixelColor(digitposition + 13, (0, 0, 0));
//strip.setPixelColor(digitposition + 14, (0, 0, 0));
//strip.setPixelColor(digitposition + 15, (0, 0, 0));
//strip.setPixelColor(digitposition + 16, (0, 0, 0));
//strip.setPixelColor(digitposition + 17, (0, 0, 0));
strip.setPixelColor(digitposition + 18, (0, 0, 0));
strip.setPixelColor(digitposition + 19, (0, 0, 0));
strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 13: { //символ "-"
strip.setPixelColor(digitposition+0, (0, 0, 0));
strip.setPixelColor(digitposition+1, (0, 0, 0));
strip.setPixelColor(digitposition+2, (0, 0, 0));
strip.setPixelColor(digitposition+3, (0, 0, 0));
strip.setPixelColor(digitposition+4, (0, 0, 0));
strip.setPixelColor(digitposition+5, (0, 0, 0));
strip.setPixelColor(digitposition+6, (0, 0, 0));
strip.setPixelColor(digitposition + 7, (0, 0, 0));
strip.setPixelColor(digitposition + 8, (0, 0, 0));
strip.setPixelColor(digitposition + 9, (0, 0, 0));
strip.setPixelColor(digitposition + 10, (0, 0, 0));
strip.setPixelColor(digitposition + 11, (0, 0, 0));
strip.setPixelColor(digitposition + 12, (0, 0, 0));
strip.setPixelColor(digitposition + 13, (0, 0, 0));
strip.setPixelColor(digitposition + 14, (0, 0, 0));
strip.setPixelColor(digitposition + 15, (0, 0, 0));
strip.setPixelColor(digitposition + 16, (0, 0, 0));
strip.setPixelColor(digitposition + 17, (0, 0, 0));
//strip.setPixelColor(digitposition + 18, (0, 0, 0));
//strip.setPixelColor(digitposition + 19, (0, 0, 0));
//strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 14: { //символ "b" "яркость"
strip.setPixelColor(digitposition+0, (0, 0, 0));
strip.setPixelColor(digitposition+1, (0, 0, 0));
strip.setPixelColor(digitposition+2, (0, 0, 0));
strip.setPixelColor(digitposition+3, (0, 0, 0));
strip.setPixelColor(digitposition+4, (0, 0, 0));
strip.setPixelColor(digitposition+5, (0, 0, 0));
//strip.setPixelColor(digitposition+6, (0, 0, 0));
//strip.setPixelColor(digitposition + 7, (0, 0, 0));
//strip.setPixelColor(digitposition + 8, (0, 0, 0));
//strip.setPixelColor(digitposition + 9, (0, 0, 0));
//strip.setPixelColor(digitposition + 10, (0, 0, 0));
//strip.setPixelColor(digitposition + 11, (0, 0, 0));
//strip.setPixelColor(digitposition + 12, (0, 0, 0));
//strip.setPixelColor(digitposition + 13, (0, 0, 0));
//strip.setPixelColor(digitposition + 14, (0, 0, 0));
//strip.setPixelColor(digitposition + 15, (0, 0, 0));
//strip.setPixelColor(digitposition + 16, (0, 0, 0));
//strip.setPixelColor(digitposition + 17, (0, 0, 0));
//strip.setPixelColor(digitposition + 18, (0, 0, 0));
//strip.setPixelColor(digitposition + 19, (0, 0, 0));
//strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 15: { //символ " " "пустота"
strip.setPixelColor(digitposition+0, (0, 0, 0));
strip.setPixelColor(digitposition+1, (0, 0, 0));
strip.setPixelColor(digitposition+2, (0, 0, 0));
strip.setPixelColor(digitposition+3, (0, 0, 0));
strip.setPixelColor(digitposition+4, (0, 0, 0));
strip.setPixelColor(digitposition+5, (0, 0, 0));
strip.setPixelColor(digitposition+6, (0, 0, 0));
strip.setPixelColor(digitposition + 7, (0, 0, 0));
strip.setPixelColor(digitposition + 8, (0, 0, 0));
strip.setPixelColor(digitposition + 9, (0, 0, 0));
strip.setPixelColor(digitposition + 10, (0, 0, 0));
strip.setPixelColor(digitposition + 11, (0, 0, 0));
strip.setPixelColor(digitposition + 12, (0, 0, 0));
strip.setPixelColor(digitposition + 13, (0, 0, 0));
strip.setPixelColor(digitposition + 14, (0, 0, 0));
strip.setPixelColor(digitposition + 15, (0, 0, 0));
strip.setPixelColor(digitposition + 16, (0, 0, 0));
strip.setPixelColor(digitposition + 17, (0, 0, 0));
strip.setPixelColor(digitposition + 18, (0, 0, 0));
strip.setPixelColor(digitposition + 19, (0, 0, 0));
strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 16: { //символ "d" "день недели"
strip.setPixelColor(digitposition+0, (0, 0, 0));
strip.setPixelColor(digitposition+1, (0, 0, 0));
strip.setPixelColor(digitposition+2, (0, 0, 0));
//strip.setPixelColor(digitposition+3, (0, 0, 0));
//strip.setPixelColor(digitposition+4, (0, 0, 0));
//strip.setPixelColor(digitposition+5, (0, 0, 0));
//strip.setPixelColor(digitposition+6, (0, 0, 0));
//strip.setPixelColor(digitposition + 7, (0, 0, 0));
//strip.setPixelColor(digitposition + 8, (0, 0, 0));
//strip.setPixelColor(digitposition + 9, (0, 0, 0));
//strip.setPixelColor(digitposition + 10, (0, 0, 0));
//strip.setPixelColor(digitposition + 11, (0, 0, 0));
//strip.setPixelColor(digitposition + 12, (0, 0, 0));
//strip.setPixelColor(digitposition + 13, (0, 0, 0));
//strip.setPixelColor(digitposition + 14, (0, 0, 0));
strip.setPixelColor(digitposition + 15, (0, 0, 0));
strip.setPixelColor(digitposition + 16, (0, 0, 0));
strip.setPixelColor(digitposition + 17, (0, 0, 0));
//strip.setPixelColor(digitposition + 18, (0, 0, 0));
//strip.setPixelColor(digitposition + 19, (0, 0, 0));
//strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}
case 17: { //символ "t"
strip.setPixelColor(digitposition+0, (0, 0, 0));
strip.setPixelColor(digitposition+1, (0, 0, 0));
strip.setPixelColor(digitposition+2, (0, 0, 0));
strip.setPixelColor(digitposition+3, (0, 0, 0));
strip.setPixelColor(digitposition+4, (0, 0, 0));
strip.setPixelColor(digitposition+5, (0, 0, 0));
strip.setPixelColor(digitposition+6, (0, 0, 0));
strip.setPixelColor(digitposition + 7, (0, 0, 0));
strip.setPixelColor(digitposition + 8, (0, 0, 0));
//strip.setPixelColor(digitposition + 9, (0, 0, 0));
//strip.setPixelColor(digitposition + 10, (0, 0, 0));
//strip.setPixelColor(digitposition + 11, (0, 0, 0));
//strip.setPixelColor(digitposition + 12, (0, 0, 0));
//strip.setPixelColor(digitposition + 13, (0, 0, 0));
//strip.setPixelColor(digitposition + 14, (0, 0, 0));
//strip.setPixelColor(digitposition + 15, (0, 0, 0));
//strip.setPixelColor(digitposition + 16, (0, 0, 0));
//strip.setPixelColor(digitposition + 17, (0, 0, 0));
//strip.setPixelColor(digitposition + 18, (0, 0, 0));
//strip.setPixelColor(digitposition + 19, (0, 0, 0));
//strip.setPixelColor(digitposition + 20, (0, 0, 0));
break;
}

}
}

// функция цветового колеса, которое возвращает RGB цвет для ленты (аргументу 0-255 соответсует поворот колеса от 0 до 359 градусов)
uint32_t WheelRGB(byte WheelPos) {
WheelPos = 255 - WheelPos; // разделительные точки между часами и мунутами на базе WS2812 с измененными цветами G и B

if (WheelPos < 85) {
return strip.Color((255 - WheelPos * 3) , (WheelPos * 3), 0);
}
if (WheelPos < 170) {
WheelPos -= 85;
return strip.Color(0, (255 - WheelPos * 3) , (WheelPos * 3) );
}
WheelPos -= 170;
return strip.Color( (WheelPos * 3), 0, (255 - WheelPos * 3));
}

uint32_t WheelRBG(byte WheelPos) { // заменен оригинальный кусок кода инвертирующий RGB в RBG (функция WheelRGB идентична WheelRBG)
WheelPos = 255 - WheelPos;

if (WheelPos < 85) {
return strip.Color((255 - WheelPos * 3) , (WheelPos * 3), 0);
}
if (WheelPos < 170) {
WheelPos -= 85;
return strip.Color(0, (255 - WheelPos * 3) , (WheelPos * 3) );
}
WheelPos -= 170;
return strip.Color( (WheelPos * 3), 0, (255 - WheelPos * 3));
}

void updateEEPROM() {
EEPROM.updateByte(1, NowBrigtness);
EEPROM.updateByte(2, ColorMode);
EEPROM.updateByte(3, TempTime);
}
void readEEPROM() {
NowBrigtness = EEPROM.readByte(1);
ColorMode = EEPROM.readByte(2);
TempTime = EEPROM.readByte(3);
}
void eepromTick() {
if (eeprom_flag)
if (millis() - KeyPressed > 60000) { // 60 секунд после последнего нажатия с пульта
eeprom_flag = false;
updateEEPROM();
}
}
 

ASM

★★★★★✩✩
26 Окт 2018
1,693
339
@deniss777, попробуй температуру брать по модулю
C++:
  sensors.requestTemperatures();                      // опрос датчика уличной температуры
  FtempS = sensors.getTempCByIndex(0) + o.cor_tempS;  // чтение уличной температуры с датчика 0, аналогично следующий будет 1
  tempS = FtempS;
 int a = FtempS * 10;              //25.43 -> 254
    int digit = abs(a % 10);          //254 -> 4
    Digit(digits[digit], segment_4);  // символ градуса
    digit = abs((a % 100) / 10);      // 254 -> 54 -> 5
    Digit(digits[digit], segment_3);
    digit = abs(a / 100);                          // 254 -> 2
    if (digit == 0) Digit(digits[12], segment_2);  // если впереди ноль, то выключаем его
    else
      Digit(digits[digit], segment_2);              // иначе показываем как есть
    if (tempS <= -1) Digit(digits[13], segment_1);  // если < или = -1, то показываем -
    else
      Digit(digits[12], segment_1);  // иначе выключаем 1 сегмент
 

deniss777

✩✩✩✩✩✩✩
26 Янв 2022
18
0
@ASM,
я так понимаю предлагаете переписать? я не смогу переписать - создал другой человек . я доделал три детали и уже сил нет . много лет прошло и не кто доделать не может .
 

ASM

★★★★★✩✩
26 Окт 2018
1,693
339
@deniss777, не предлагаю, просто показал код из своего скетча.
Как я понял из сообщения, то проблема в отображении отрицательной температуры.
Значит попробуй сделать положительной, взяв температуру по модулю, а минус уже включай сам.
 

deniss777

✩✩✩✩✩✩✩
26 Янв 2022
18
0
@ASM, не могу ваш код перебрать чтоб принял мой скетч .. люди помогите прописать код для отрицательной темпр .. .знак ( - ) показывает .порт мониторинга показывает отрицательную температуру .
 

ASM

★★★★★✩✩
26 Окт 2018
1,693
339
@deniss777, зачем перебирать, добавь модуль числа при замере температуры, abs. Тогда будет просто число без знака минус. Проверь работу)
 

bort707

★★★★★★✩
21 Сен 2020
3,067
915
люди помогите прописать код для отрицательной темпр
вам уже выше все обьяснили, как и что делать.
А в коде вашем копаться вряд ли кто станет - уж больно он кривой.
Да еще вы его в форум неверно вставили
 

ASM

★★★★★✩✩
26 Окт 2018
1,693
339
sensors.begin(); что-то много запросов, достаточно один раз в сетап.
Запрос читается с датчика что-то тоже очень много.
Код можно подчистить от ненужного и выложить здесь через тег, для удобства читаемости. Кнопка </>
 

bort707

★★★★★★✩
21 Сен 2020
3,067
915
Код можно подчистить от ненужного
Да, как я уже говорил, начать с переписывания вывода символов на экран.
400 строчек где можно обойтись двадцатью - это не просто некрасиво. это еще в 20 раз больше вероятность посадить ошибку.
 
Изменено:

deniss777

✩✩✩✩✩✩✩
26 Янв 2022
18
0
Всё помогли сделать . на другом форуме .

abs:
else
          {
            digitout (0, abs( temp10 / 100) );            // отрисовываем цифры (выставляем черные точки)
            digitout (7, abs(((temp10) % 100) / 10) );   // отрисовываем цифры (выставляем черные точки)
            digitout (16, abs((temp10) % 10 ));          // отрисовываем цифры (выставляем черные точки)
          }