Thermohygrometer. Error indicator on display

4 Digit 7 Segment Serial LED Module - TM74HC595

Help me find the error. Error indicator on display

//Термогигрометр на SHT и семисегмнтном индикаторе

int latchPin = 7; // Пин “защелки” первого регистра подключен к RCLK (SS, ST_CP) входу
int clockPin = 6; // Пин “тактовый” подключен к SCLK (CLK, SH_CP) входу 74HC595
int dataPin = 5; // Пин “данных” подключен к QH (SDI, DS) входу 74HC595

int TimeLight = 5; // time для разогрева сегментов

byte SegDisplay; // Переменная для вывода символов на индикаторе
byte RazrDisplay; // Переменная для включения разрядов

// Настройка комбинации для отображения каждого номера на индикаторе
// Массив цифр, генерирующий на сегментах цифры в двоичной системе исчисления
byte g_digits[25]={
B11000000, B11111001, B10100100, B10110000, B10011001, // 0 1 2 3 4
B10010010, B10000010, B11111000, B10000000, B10010000, // 5 6 7 8 9
B01000000, B01111001, B00100100, B00110000, B00011001, // 0. 1. 2. 3. 4.
B00010010, B00000010, B01111000, B00000000, B00010000, // 5. 6. 7. 8. 9.
B01111111, B10111111, B10011100, B11000110, // ., -, °, С
B11111111, }; // all segm.
byte g_registerArray[4]={1,2,4,8}; //массив цифр, указывающий разряды

#include <SHT1x.h>

// Data and Сlock датчика SHT1x
#define dataPin 10
#define clockPin 11

SHT1x sht1x(dataPin, clockPin);

void setup()
{
Serial.begin(9600);
// pin
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}

void loop()
{
int temp_c; // Переменная для целых чисел температуры
int humidity; // Переменная для целых чисел влажности

humidity = sht1x.readHumidity();

Serial.print(humidity);
Indicate(0, 21); // -
Indicate(1,(humidity % 10)+10); // пишем во второй разряд - цифру оставшуюся от деления на 10 с точкой
Indicate(2, humidity / 10); // пишем в третий разряд - цифру оставшуюся от деления на 10
Indicate(3, 21); // -
delay(2000);

temp_c = sht1x.readTemperatureC();
Serial.print(temp_c);
Indicate(0, 22); // °
Indicate(1, (temp_c % 10)); // пишем во второй разряд - последнюю целую цифру
Indicate(2, (temp_c % 100) / 10); // пишем в третий разряд - цифру оставшуюся от деления на 100
Indicate(3, (temp_c / 100)); // пишем в четвертый разряд - цифру делёную на 100
delay(2000);

}

void Indicate(int r,int x) // Функция собственно, отображения цыфр на индикаторе.
{
SegDisplay=g_digits; // получаем цифру и выводим символ, из массива цифр, соответствующий этой цифре.
RazrDisplay=g_registerArray[r]; // получаем цифру и выводим номер регистра, из массива цифр, соответствующий этой цифре.
digitalWrite(latchPin, LOW); // устанавливаем синхронизацию “защелки” на LOW
shiftOut(dataPin, clockPin, MSBFIRST, SegDisplay); // Записываем информацию для первого регистра (Номер символа)
shiftOut(dataPin, clockPin, MSBFIRST, RazrDisplay); // Записываем информацию для второго регистра (Номер разряда)
// shiftOut(dataPin, clockPin, MSBFIRST, SegDisplay); // Записываем информацию для первого регистра (Номер символа)
digitalWrite(latchPin, HIGH); //“защелкиваем” регистр, тем самым устанавливая значения на выходах

delay(TimeLight); // пауза, чтобы сегменты “разгорелись”
}

Help me find the error.

Easy. You failed to post your code properly. So, the forum software mangled it for you.

Read the stickies at the top of the forum, and post your code properly.

The code, if it compiles, does something. Explain what it actually does, or post the error messages if it doesn't compile.