noise occurs at TCS3200 Color sensor

When using TCS3200 interrupt, noise is generated .TCS3200 output gives incorrect result.
It works fine if i don’t use a timer.

#include <SPI.h>
#include <DMD.h>
#include <TimerOne.h>
#include “SystemFont5x7.h”
#include “Arial_black_16.h”
#include “Arial_Black_16_ISO_8859_1.h”
#include “Arduino.h”
#include “SoftwareSerial.h”
#include “DFRobotDFPlayerMini.h”
#define DISPLAYS_ACROSS 1
#define DISPLAYS_DOWN 1
DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN);

#define s0 A2 //Bağladığımız pinlere göre tanımlamalarımızı yapıyoruz
#define s1 A0
#define s2 A1
#define s3 A3
#define sensorOut A5

#define maviLed1 17
const int led = LED_BUILTIN; // the pin with a LED
int K, Y, M = 0; //3 ana renk için değişken tanımlıyoruz
const int SonSkor = 5;
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;

unsigned long timerscore;
unsigned long start_score_time;
unsigned long score_time;
void ScanDMD()
{

dmd.scanDisplayBySPI();

}
void Screen_Clear() {

dmd.clearScreen(true);
}
void ShowCountNumbers( unsigned int sayac1, byte bColonOn)
{

dmd.selectFont(Arial_Black_16);

dmd.drawChar( 1, 1, ‘0’ + ((sayac1 % 100) / 10), GRAPHICS_NORMAL ); // thousands
dmd.drawChar( 10, 1, ‘0’ + ((sayac1 % 10) ), GRAPHICS_NORMAL ); // hundreds

}

void setup()
{
pinMode(s0, OUTPUT);//S0, S1, S2 ve S3 pinlerini OUTPUT olarak tanımlıyoruz
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);

pinMode(sensorOut, INPUT_PULLUP);//OUT pinini INPUT olarak tanımlıyoruz

digitalWrite(s1, LOW); //Frekans ölçeğimizi %20 olarak tanımlıyoruz
digitalWrite(s0, HIGH);
Serial.begin(9600);
Timer1.initialize(1000);
Timer1.attachInterrupt(ScanDMD);

}

void loop() {

ShowCountNumbers(3, true);

digitalWrite(s2, LOW); //Kırmızıyı filtrelemek için
digitalWrite(s3, LOW);
K = pulseIn(sensorOut, LOW);//OUT pini üzerindeki LOW süresini okur
Serial.print("red= “);
Serial.print(K); //Kırmızı için aldığımız değeri serial monitöre yazdır
Serial.print(” ");

digitalWrite(s2, HIGH); //Yeşili filtrelemek için
digitalWrite(s3, HIGH);
Y = pulseIn(sensorOut, LOW); //OUT pini üzerindeki LOW süresini okur
Serial.print("green= “);
Serial.print(Y); //Yeşil için aldığımız değeri serial monitöre yazdır
Serial.print(” ");

digitalWrite(s2, LOW); //Maviyi filtrelemek için
digitalWrite(s3, HIGH);
M = pulseIn(sensorOut, LOW);//OUT pini üzerindeki LOW süresini okur
Serial.print("blue= ");
Serial.print(M);//Mavi için aldığımız değeri serial monitöre yazdır
Serial.println();

if (K < 60)
{

Serial.println(“sadsadsadsadasdasdasdasdsadsad”);
}
if (M < 60)
{

Serial.println(“sadsadsadsadasdasdasdasdsadsad”);
}
if (Y < 60)
{

Serial.println(“sadsadsadsadasdasdasdasdsadsad”);
}

}

OUTPUT

red= 82 green= 125 blue= 197
red= 111 green= 228 blue= 178
red= 195 green= 121 blue= 191
red= 101 green= 241 blue= 194
red= 173 green= 227 blue= 182
red= 200 green= 112 blue= 198
red= 88 green= 220 blue= 184
red= 196 green= 234 blue= 92
red= 193 green= 182 blue= 194

@sttsn

Your topic was Moved to it’s current location / section as it is more suitable.

Could you also take a few moments to Learn How To Use The Forum.

Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.

You need to avoid driving the display while reading the sensor - LED displays switch a lot of current which
puts noise on the supply that will be affecting the sensor.

Scan the display, wait a short time to allow the supply to stabilize, then read the sensor.

That ought to help if I understand your setup.

I want to print the color seen on the LED screens.

Please edit your post to use code tags instead of quote tags.

What do you mean by "incorrect result"? Post an example of what you expect, and what happens instead.