const int ENA = 8;  // Pin PWM dla kanału A
const int IN1 = 7;  // Pin IN1 dla kanału A
const int IN2 = 6;  // Pin IN2 dla kanału A
const int potPin = A0; // Pin potencjometru

void setup() {
  pinMode(ENA, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(potPin, INPUT);

  // Rozpoczęcie komunikacji szeregowej
  Serial.begin(9600);
}

void loop() {
  // Odczytanie wartości z potencjometru
  int potValue = analogRead(potPin);

  // Wyświetlanie wartości potencjometru na monitorze portu szeregowego
  Serial.print("Wartość potencjometru: ");
  Serial.println(potValue);

  if(potValue > 520) {
    // Kierunek w prawo
    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, LOW);
    // Zwiększenie prędkości silnika im bliżej 1023
    analogWrite(ENA, map(potValue, 521, 1023, 0, 255));
  } else if(potValue < 500) {
    // Kierunek w lewo
    digitalWrite(IN1, LOW);
    digitalWrite(IN2, HIGH);
    // Zwiększenie prędkości silnika im bliżej 0
    analogWrite(ENA, map(potValue, 0, 499, 255, 0));
  } else {
    // Silnik stoi w zakresie 500-520
    digitalWrite(ENA, LOW);
  }

  // Krótkie opóźnienie
  delay(500);
}
