//kullanılacak kütüphaneler
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
#include <Stepper.h>
// Haberleşme kablosu Arduino'nun üçüncü bacağına bağlı
#define ONE_WIRE_BUS 3
// Herhangi bir OneWire cihazıyla iletişim kurabilmesi için OneWire örneği belirle
// (sadece Maxim/Dallas entegreleriyle değil)
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
OneWire oneWire(ONE_WIRE_BUS);
// Onewire referansımızı Dallas Sıcaklık olarak belirle
DallasTemperature ds18b(&oneWire);
int motorPin1 = 2;
int motorPin2 = 4;
int motorPin3 = 5;
int motorPin4 = 6;
int delayTime = 1;
int tempMax = 24;
int tempmin = 19;
bool dur = false;
const int stepsPerRevolution = 48;
Stepper myStepper(stepsPerRevolution, 2, 4, 5, 6);
void setup(void)
{
Serial.begin(9600); //Seri haberleşmeye başla
ds18b.begin();
delay(1000);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("SICAKLIK : ");
lcd.setCursor(0, 1);
lcd.print("camlicaortaokulu");
pinMode (motorPin1, OUTPUT);
pinMode (motorPin2, OUTPUT);
pinMode (motorPin3, OUTPUT);
pinMode (motorPin4, OUTPUT);
myStepper.setSpeed(150);
}
void loop(void)
{
// Sıcaklığı almak için komut yolla
ds18b.requestTemperatures();
lcd.setCursor(10, 0);
lcd.println(ds18b.getTempCByIndex(0));
//Her bir saniyede değeri güncelle
delay(1000);
float temp = ds18b.getTempCByIndex(0);
if (temp < tempmin)
{
if (dur == false) {
myStepper.step(4 * stepsPerRevolution);
dur = true;
}
} else if (temp > tempMax)
{
if (dur == false) {
myStepper.step(-4 * stepsPerRevolution);
dur = true;
}
} else {
dur = false;
}
}