int desiredValue;
int actualValue = 0;
int negative;
int positive;
String direction = "left";
void setup() {
Serial.begin(9600);
Serial.println("BEGIN");
Serial.println();
pinMode(6, OUTPUT);
pinMode(11, OUTPUT);
pinMode (A0, INPUT);
}
void loop() {
//*********** Direction flip ***************//
if (analogRead(A0) < 520) {
if (direction == "right") {
while (actualValue > 1) {
actualValue--;
Serial.println(actualValue);
analogWrite(positive, actualValue);
delay(10);
}
}
direction = "left";
negative = 6;
digitalWrite(negative, LOW);
positive = 11;
//Serial.println("aaa");
}
if (analogRead(A0) > 520) {
if (direction == "left") {
while (actualValue > 1) {
actualValue--;
Serial.println(actualValue);
analogWrite(positive, actualValue);
delay(10);
}
}
direction = "right";
negative = 11;
digitalWrite(negative, LOW);
positive = 6;
//Serial.println("xxx");
}
//*********** Direction flip ***************//
if (analogRead(A0) < 511.5) {
desiredValue = map(analogRead(A0), 0, 511.5, 255, 0);
if (actualValue < desiredValue) {
actualValue++;
delay(20);
}
if (actualValue > desiredValue) {
actualValue--;
delay(10);
}
}
if (analogRead(A0) > 511.5) {
desiredValue = map(analogRead(A0), 511.5, 1023, 0, 255);
if (actualValue < desiredValue) {
actualValue++;
delay(20);
}
if (actualValue > desiredValue) {
actualValue--;
delay(10);
}
}
analogWrite(positive, actualValue);
Serial.println(actualValue);
//Serial.println(direction);
}