Попробуйте так
Код:
#include <Wire.h>
#include <LiquidCrystal.h>
#define tempPin A1 // the output pin of LM35
#define fan 11 // the pin where fan is
#define led 8 // led pin
#define tempMin 30 // the temperature to start the fan
#define tempMax 70 // the maximum temperature when fan is at 100%
#define updatePeriod 500
LiquidCrystal lcd(7,6,5,4,3,2);
unsigned long lastUpdateTickCount = 0;
void setup() {
pinMode(fan, OUTPUT);
pinMode(led, OUTPUT);
pinMode(tempPin, INPUT);
lcd.begin(16,2);
}
void loop() {
if (lastUpdateTickCount + updatePeriod < millis()) {
byte fanSpeed, fanLCD;
int temp = analogRead(tempPin) * 0.48828125;
if (temp > tempMin) {
fanSpeed = map(temp, tempMin, max(tempMax, temp), 32, 255);
analogWrite(fan, fanSpeed);
} else
digitalWrite(fan, LOW);
digitalWrite(led, (temp > tempMax) ? HIGH : LOW);
fanLCD = map(temp, tempMin, max(tempMax, temp), 0, 100);
lcd.print("TEMP: " + String(temp) + "C ");
lcd.setCursor(0,1);
lcd.print("FANS: " + String(fanLCD) + "% ");
lastUpdateTickCount = millis();
}
}
Может датчики нерабочие? Надо бы тестером проверить напругу на выходе.