Ntc ile fan hızını kontrol etmek

Kolay gelsin ardiuno da ntc sensörü ile fan hızını kademe li olarak artırmak istiyorum ntc sensörü 40 derece iken fan 1 . kademe,44 iken 2 kademe 48 de de 3. Son kademe de çalışması için nasıl bir düzenek(şema)ve ardiuno yada nasıl bir kod atabiliriz bir de bu verilerin LCD ekran da( 2x16 ) gösteren bir proje yapmak istiyorum yardımcı olursanız çok memnun olurum

Fan hızını Arduino ile pwm üzerinden kontrol ediyorsan bir kod hazırlamayı deneyebilirim fakat şuan elimde lcd ekran olmadığı için ekran kısmının eklemesini koda ekleyemem.

Bu şekilde bir kod yazdım Sensor ve fan pinini kendine göre değiştirerek kullanırsan çalışıyor olması gerekli şuanda sensörün değeri nasıl alınıyordu tam hatırlayamadım fakat eğer modül halinde kullanıyorsan sanırım analog pin üzerinden direkt dereceyi alıyordun zaten kademeleri de kendin yüzde kaç güçle dönmesini istiyorsan o şekilde değiştirebilirsin serial monitör üzerinden de tablo halinde mevcut sıcaklık ve fanın yüzdelik hızını görebilirsin(9600 rate).

#define SENSOR_PIN  A0
#define FAN_PWM 3

int sensor_degeri;
int fan_hizi;
int fan_hizi_yuzdelik;
int fan_kademe1;
int fan_kademe2;
int fan_kademe3;
int fan_kademe_son;

void setup() 
{
    pinMode(SENSOR_PIN,INPUT);
    pinMode(FAN_PWM, OUTPUT);

    Serial.begin(9600);
    fan_hizi = analogRead(FAN_PWM);
}

void Serial_Tablo()
{
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println(" ");
    Serial.println("|------------|------------|");
    Serial.println("|   Mevcut   |     Fan    |");
    Serial.println("|  Sicaklik  |   Hizi(%)  |");
    Serial.println("|------------|------------|");
    Serial.print("|     ");
    Serial.print(sensor_degeri);
    Serial.print("     |     ");
    Serial.print(fan_hizi_yuzdelik);
    if (fan_hizi_yuzdelik == 100)
    {
        Serial.println("    |");
    }

    else 
    {
        Serial.println("     |");
    }
    Serial.print("|------------|------------|");
    delay(100);
    

}
void loop()
{
    sensor_degeri = analogRead(SENSOR_PIN);
    
    fan_kademe1 = 20;
    fan_kademe2 = 50;
    fan_kademe3 = 75;
    fan_kademe_son = 100;

    if (sensor_degeri <= 40)
    {
        fan_hizi_yuzdelik = fan_kademe1;
    }

    else if(sensor_degeri > 40 & sensor_degeri <= 44)
    {
        fan_hizi_yuzdelik = fan_kademe2;
    }

    else if (sensor_degeri > 44 & sensor_degeri <= 48)
    {
        fan_hizi_yuzdelik = fan_kademe3;
    }
    else 
    {
        fan_hizi_yuzdelik = fan_kademe_son;
    }
    
    fan_hizi = map(fan_hizi_yuzdelik,0,100,0,255);

    analogWrite(FAN_PWM,fan_hizi);

    Serial_Tablo();
    
}