Sprawdź to, choć uprzedzam, że pisane na kolanie
Oczywiście musisz się zaopatrzyć w potrzebne biblioteki i dodać je do Arduino (Wire.h jest domyślnie dodana, tylko te pozostałe trzy) oraz sprawdzić jaki jest adres I2C Twojego wyświetlacza.
W razie problemów poużywaj trochę Google, to naprawdę nie boli.
Kod:
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4); // 0x27 to adres wyświetlacza LCD
OneWire oneWire(A5); //DS18B20 podłączony do wejścia A5
DallasTemperature sensors(&oneWire);
#define FAN1 3 //Pin dla sygnału PWM wentylatora
float temp;
byte PWM;
void setup(){
pinMode(FAN1, OUTPUT);
sensors.begin();
lcd.init();
lcd.backlight();
}
void loop(){
temp = sensors.getTempCByIndex(0);
lcd.setCursor(1,0);
lcd.print("TEMP: ");
lcd.print(temp);
lcd.print("*C");
PWM = temp * 4; //Pełna prędkość wentylatora przy ~64*C
analogWrite(FAN1, PWM);
delay(1000); //Pomiar co 1s
}
Oczywiście musisz się zaopatrzyć w potrzebne biblioteki i dodać je do Arduino (Wire.h jest domyślnie dodana, tylko te pozostałe trzy) oraz sprawdzić jaki jest adres I2C Twojego wyświetlacza.
W razie problemów poużywaj trochę Google, to naprawdę nie boli.