//https://docs.arduino.cc/learn/electronics/lcd-displays/
#include <LiquidCrystal.h>
int val = 0;
int val2 = 0;
int Deg = 0;
int Deg2 = 0;
int AntDegRead = A0; //int analogPin = A0;
int AntDegWrite = A1;
int RotR = 8;
int RotL = 9;
int ButtR = 11;
int ButtL = 10;
int Manual = 12;
int Az_max = 10; //cdomilebis farglebi gradusebshi
int Rottime = 5000;
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
void setup() {
pinMode(RotR, OUTPUT);
pinMode(RotL, OUTPUT);
pinMode(ButtR, INPUT);
pinMode(ButtL, INPUT);
pinMode(Manual, INPUT);
lcd.begin(16, 2);
lcd.clear();
lcd.print(" Designed By:");
lcd.setCursor(1, 1);
lcd.print("4L7ZS - Zurab");
delay(5000);
}
void loop() {
lcd.clear();
val = analogRead(AntDegRead);
val2 = analogRead(AntDegWrite);
Deg = (360./1023)*val;
Deg2 = (360./1023)*val2;
if (digitalRead(Manual) == HIGH) {
lcd.clear();
lcd.print("AntDir: ");
lcd.print(Deg);
lcd.setCursor(12, 0);
lcd.print(" Deg");
lcd.setCursor(0, 1);
lcd.print("Manual: ");
lcd.setCursor(8, 1);
lcd.print(Deg2);
lcd.setCursor(12, 1);
lcd.print(" Deg");
if (digitalRead(ButtR) == HIGH) {
digitalWrite(RotR, HIGH);
}
else {
digitalWrite(RotR, LOW);
}
if (digitalRead(ButtL) == HIGH) {
digitalWrite(RotL, HIGH);
}
else {
digitalWrite(RotL, LOW);
}
}
else {
lcd.clear();
lcd.print("AntDir: ");
lcd.print(Deg);
lcd.setCursor(12, 0);
lcd.print(" Deg");
lcd.setCursor(0, 1);
lcd.print("Demand: ");
lcd.setCursor(8, 1);
lcd.print(Deg2);
lcd.setCursor(12, 1);
lcd.print(" Deg");
if ((Deg2-Deg) > Az_max) {
digitalWrite(RotR, HIGH);
}
else {
digitalWrite(RotR, LOW);
}
if ((Deg-Deg2) > Az_max) {
digitalWrite(RotL, HIGH);
}
else {
digitalWrite(RotL, LOW);
}
}
delay(400);
}