Kodlarına baktım. Kodlama konusunda biraz daha kendini geliştirmen gerektiğine karar verdim.
Sıcaklığı sadece okuyup ekrana yazdırmışsın. Başka bir yerde hiç işleme tabi tutmamışsın.
Sistemin yapısını da anlayamadım. "tuş" değişkeni nedir? Buton ise bu butona neden basıyorsun? İf blokları içerisinde sadece bu tuş değişkeni değerine göre ekrana yazı yazdırmışsın. Ne sıcaklığa göre step motora işlem yaptırma var ne de başka bir şey.
i değişkeni nedir? e değişkeni nedir? Bunlara anlamlı bir isim vermezsen yada yanına açıklama yazmazsan bırak beni, 1 ay sonra sen bile hatırlamazsın ne olduklarını. step motor sıcaklığa göre dönecekse
if(temp >= 20 && temp <= 40)
gibi bir ifade kullanman gerek. Yada step motorun sıcaklık dengelendiğinde durmasını istiyorsan
if(temp == dengederecesi)
gibi bir ifade kullanman gerek.
Ayrıca daha önce de söylemiştim.
lcd.setCursor(12, 2);
kodunda "12, 2" olamaz. "0" 1.satır dır, "1" 2.satırdır. senin orada
lcd.setCursor(12, 1);
yazman gerek ki ekranın ikinci satırında bir şeyler görebilesin.
Konudaki ilk mesajını okudum. Biraz daha anlaşılır oldu benim için.
Şöyle bir yol izlemelisin;
if (tus >= 95 && tus <= 115) //eğer tuşlanan değer 95 ile 115 arasında ise...
{
tus = 99; //tuş değişkenine 99 ata...
// Tam burdan sonra sıcaklık kontrolüne girmen gerekiyor ki step motora ona göre hareket veresin.
if(temp >= tus OR humi >= tus){ //Sıcaklık yada nem ayarlanan eşik değerin üzerine çıktıysa...
stepmotor.step(adim); //Step motoru döndür.
lcd.setCursor(12, 0); // 1.Satırın 12.Sırasına...
lcd.print(temp); // ...Temp değişkenini yazdır.
lcd.setCursor(12, 1); // 2.Satırın 12.Sırasına...
lcd.print(humi); // humi değişkenini yazdır.
delay(400); // 400ms bekle
}
}
Ayrıca alt değeri tuşla mı gireceksin? yoksa sabit mi olacak?