#include <LiquidCrystal.h> // βιβλιοθήκη LiquidCrystal
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Δηλώνουμε τα pins του LCD.
const int relay = 7; // Ορισμός του pin για τον ρελέ
const int trigPin = 9; // Ορισμός του pin για τον πομπό (trig)
const int echoPin = 8; // Ορισμός του pin για τον δέκτη (echo)
long duration; // Μεταβλητή για τη διάρκεια του παλμού
int distanceCm; // Μεταβλητή για την απόσταση σε εκατοστά
void setup() {
lcd.begin(16, 2); // Αρχικοποίηση της LCD (16 χαρακτήρες, 2 γραμμές)
pinMode(trigPin, OUTPUT); // Ρύθμιση του trigPin ως έξοδο
pinMode(echoPin, INPUT); // Ρύθμιση του echoPin ως είσοδο
pinMode(relay, OUTPUT);
}
void loop() {
// Αποστολή σήματος από τον πομπό
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Μέτρηση της διάρκειας του παλμού που επιστρέφει
duration = pulseIn(echoPin, HIGH);
// Υπολογισμός της απόστασης σε εκατοστά
distanceCm = duration * 0.034 / 2;
if(distanceCm <200)
{
digitalWrite(relay , HIGH);
}
else
{
digitalWrite(relay , LOW);
}
// Εμφάνιση της απόστασης στην LCD
lcd.setCursor(0, 0); // Ορισμός θέσης κειμένου (πρώτη γραμμή, αρχή)
lcd.print("Apostasi: "); // Εμφάνιση του κειμένου "Απόσταση:"
lcd.print(distanceCm); // Εμφάνιση της απόστασης
lcd.print(" cm"); // Εμφάνιση μονάδας μέτρησης
delay(500); // Μικρή καθυστέρηση για σταθερή ενημέρωση
}