0
Καλησπερα, ειναι η πρωτη αποπειρα να γραψω κωδικο για arduino γι αυτο παρακαλω να ειστε ιδιαιτερα επιεικεις.
Προκειται για εναν ελεγκτη ξυλολεβητα με arduino uno, ασθητηρες θερμοκρασιας LM35, relay shield και lcd 2004.
Αναλογα με τις θερμοκρασιες των αισθητηριων λειτουργουν ο ανεμιστηρας και ο κυκλοφορητης του λεβητα αλλα και
ο κυκλοφορητης που ζεσταινει το boiler χρησης με νερο απο τον λεβητα. Για λογους ασφαλειας υπαρχει υδροστατης
που ελεγχει απευθειας τον κυκλοφορητη, καθως και μπουτον για τον εξαερισμο για την απαγωγη καπνου απο το λεβητoστασιο.
Παρακαλω τη βοηθεια σας για τη σωστη συνταξη του κωδικα καθως και την συναρτηση AND η οποια ξερω οτι ειναι λαθος
οπως την εβαλα, απλα το εκανα για να δειξω τη λειτουργια. Εγραψα πρωτα τα βασικα για να παω μετα στην lcd κ.α. Ευχαριστω.
int Klev = 2; // κυκλοφορητης του λεβητα
int Blev = 4; // ανεμιστηρας του λεβητα
int Kboi = 7; // κυκλοφορητης του boiler
int Fun = 8; // εξαερισμος
int ButtonFun = 12; // button για εξαερισμο
int TempLev = A1; // θερμοκρασια λεβητα
int TempBoi = A2; // θερμοκρασια boiler
int TempBuf = A3; // θερμοκρασια buffer
void setup() {
pinMode(Klev, OUTPUT);
pinMode(Blev, OUTPUT);
pinMode(Kboi, OUTPUT);
pinMode(Fun, OUTPUT);
pinMode(ButtonFun, INPUT);
digitalWrite(ButtonFun, HIGH);
pinMode(TempLev, INPUT);
pinMode(TempBoi, INPUT);
pinMode(TempBuf, INPUT);
}
void loop()
{ if (analogRead(TempLev) < 65); // read sensor θερμοκρασια λεβητα if <65C
}
{digitalWrite(BLev, HIGH);} //turn ανεμιστηρας του λεβητα ON
else
{
digitalWrite(BLev, LOW); //turn ανεμιστηρας του λεβητα OFF
}
{
if (analogRead(TempLev) > 63); and (analogRead(TempBuf) > 60); // read sensor θερμοκρασια λεβητα if <63C AND sensor from Buffer > 60C
{
digitalWrite(BLev, HIGH); // turn ανεμιστηρας του λεβητα ON
delay(60000); // wait for one minute
digitalWrite(BLev, LOW); // turn ανεμιστηρας του λεβητα OFF
delay(300000); // wait for five minutes
}
{ if (analogRead(TempLev) > 40; // read sensor θερμοκρασια λεβητα > 40C
}
{digitalWrite(KLev, HIGH);} //turn κυκλοφορητης του λεβητα ON
else
{
digitalWrite(KLev, LOW); //turn κυκλοφορητης του λεβητα OFF
}
{
if (analogRead(TempBoi) < 55); // read θερμοκρασια boiler <55C
}
{digitalWrite(KBoi, HIGH);} //turn κυκλοφορητης του boiler ON
else
{
digitalWrite(KBoi, LOW); //turn κυκλοφορητης του boiler OFF
}
{
if (analogRead(TempLev) > 50); // read θερμοκρασια boiler >50C
}
{digitalWrite(KBoi, HIGH);} //turn κυκλοφορητης του boiler ON
else
{
digitalWrite(KBoi, LOW); //turn κυκλοφορητης του boiler OFF
}
{
int ButtonState = digitalWrite(ButtonFun, HIGH); //read button
if (ButtonState = HIGH); //button on
{digitalWrite(Fun, HIGH)}; //turn fun on
delay(120000); //stay for 2min on
}