Arduino 模拟的温度控制一直有问题

题目是大于26度亮红灯,26到18亮蓝灯,低于18亮绿灯
我也不知道哪里出的问题,温度可以正常显示的但是LGB亮灯有毛病,应该亮红灯的地方亮的黄色,然后再调到低于18灯直接变成白色了,怎么调都一直是白色
代码有删减,温度那里没copy,因为温度在串行那里正常显示

const int digital_Value=A0;
int state;
int volage;
int temp_Value;
const int greenPin=10;
const int bluePin=11;
const int redPin=9;
void setup()
{
 Serial.begin(9600);
  //analogReference(EXTERNAL);
  pinMode(greenPin,OUTPUT);
  pinMode(bluePin,OUTPUT);
  pinMode(redPin,OUTPUT);
}
void loop()
{
  if(temp_Value<18)
  {
    analogWrite(bluePin,255);
  delay(200);
  }
  else if(temp_Value<26)
  {
   analogWrite(greenPin,255);
  delay(200);
  }
  else
  {
    analogWrite(redPin,255);
   delay(1000);
  }
}
void setColor(int red,int green,int blue){
  analogWrite(redPin,red);
  analogWrite(greenPin,green);
  analogWrite(bluePin,blue);
}

https://blog.csdn.net/gc_2299/article/details/78514380