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);
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
pot1:VCC
pot1:SIG
pot1:GND
led1:A
led1:C
led2:A
led2:C