#include <Servo.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C monikas(0x27, 16, 2);
Servo spido;
float kampas;
float kampasV = 1.777;
int buzzerPin = 5;
void setup() {
  pinMode(buzzerPin, OUTPUT);
  monikas.init(); //initialize-ijungti
  monikas.backlight(); //jungiam sviesa
  spido.attach(3);
  spido.write(0); // 0 - 180
  pinMode(2, INPUT);
  Serial.begin(9600);
  kampas = 0;
}
void pavara(int greitis)
{
  monikas.setCursor(0, 0);
  if (greitis < 10)
  {
    Serial.print(1);
    monikas.print("1");
    tone(buzzerPin, 300);
  }
  else if (greitis < 40)
  {
    Serial.print(2);
     monikas.print("2");
     tone(buzzerPin, 600);
  }
  else if (greitis < 60)
  {
    Serial.print(3);
     monikas.print("3");
     tone(buzzerPin, 900);
  }
  else if (greitis < 80)
  {
    Serial.print(4);
     monikas.print("4");
     tone(buzzerPin, 1200);
  }
  else if (greitis < 100)
  {
    Serial.print(5);
     monikas.print("5");
     tone(buzzerPin, 1500);
  }
  else if (greitis < 140)
  {
    Serial.print(6);
     monikas.print("6");
     tone(buzzerPin, 1800);
  }
  else
  {
    Serial.print("SOS");
     monikas.print("SOS");
     tone(buzzerPin, 2100);
  }
}
void loop() {
  monikas.clear();
  bool paspaustas = digitalRead(2);
  //Serial.println(paspaustas);
  if (paspaustas == true && kampas < 180) // ar paspaustas && ||
  {
    kampas = kampas + kampasV;
  }
  else if (paspaustas == false && kampas > 0)
  {
    kampas = kampas - kampasV;
  }
  pavara(kampas * kampasV);
  Serial.print(" ");
  Serial.println(kampas * kampasV);
  spido.write(kampas);
  delay(100);
}