#include #include Servo servo; int del = A1; int kelet = A2; int nyugat = A3; int servoPin = 6; int piros = 8; int sarga = 10; int zold = 13; const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 11, d7 = 12; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); int analogValueDel; int analogValueKelet; int analogValueNyugat; int elfordulas; int maximum; int utolso_elfordulas = 0; void setleds (){ if (maximum == 0){ digitalWrite (piros, LOW); digitalWrite (sarga, LOW); digitalWrite (zold, LOW); } else { if (elfordulas == 0){ digitalWrite (piros, LOW); digitalWrite (sarga, HIGH); digitalWrite (zold, LOW); } if (elfordulas == 90){ digitalWrite (piros, HIGH); digitalWrite (sarga, LOW); digitalWrite (zold, LOW); } if (elfordulas == 180){ digitalWrite (piros, LOW); digitalWrite (sarga, LOW); digitalWrite (zold, HIGH); } } } void setup() { Serial.begin(9600); pinMode(del, INPUT); pinMode(kelet, INPUT); pinMode(nyugat, INPUT); servo.attach(servoPin); servo.write (0); pinMode(piros, OUTPUT); pinMode(zold, OUTPUT); pinMode(sarga, OUTPUT); pinMode(9, OUTPUT); analogWrite(9, 50); //change 50 to adjust contrast lcd.begin(16, 2); } void loop() { analogValueDel = analogRead(del); analogValueKelet = analogRead(kelet); analogValueNyugat = analogRead(nyugat); Serial.println(analogValueDel, DEC); Serial.println(analogValueKelet, DEC); Serial.println(analogValueNyugat, DEC); Serial.println("---------"); maximum = analogValueKelet; elfordulas = 0; if (analogValueDel > maximum){ maximum = analogValueDel; elfordulas = 90; } if (analogValueNyugat > maximum){ maximum = analogValueNyugat; elfordulas = 180; } if (utolso_elfordulas != elfordulas){ servo.write(elfordulas); } utolso_elfordulas = elfordulas; setleds(); lcd.clear(); if (maximum == 0) { lcd.write ("Sotet van"); } else { if (elfordulas == 0){ lcd.write ("Feny keletrol"); } if (elfordulas == 90){ lcd.write ("Feny delrol"); } if (elfordulas == 180){ lcd.write ("Feny nyugatrol"); } } delay(1000); }