// 2 gondola model mountain cable car with 2 end travel sensors
// By Ken Nippard 3/10/19 try 2
// Allocate pin usage
int pwm = 3; // motor speed output signal
int Pd1 = 4; // cw limit of travel sensor
int Pd2 = 7; // ccw limit of travel sensor
int cw = 8; // cw motor direction signal
int ccw = 12; // ccw motor direction signal
// variable to save last sensor position
int lastPd1State;
int lastPd2State;
void setup()
{
pinMode (pwm, OUTPUT); // motor speed 0 - 255
pinMode (Pd1, INPUT_PULLUP);
pinMode (Pd2, INPUT_PULLUP);
pinMode (cw, OUTPUT); // motor direction
pinMode (ccw, OUTPUT); // motor direction
//digitalWrite(Pd1, HIGH); // sensors go low on detect
//digitalWrite(Pd2, HIGH);
} // end of setup
void loop()
{
lastPd1State == digitalRead (Pd1); // Check current sensor reading
lastPd2State == digitalRead (Pd2);
delay (2000);
if (lastPd1State == LOW) { // need to move in anticlockwise direction
do {
digitalWrite (cw, LOW);
digitalWrite (ccw, HIGH);
analogWrite (pwm, 160);
while (digitalRead (lastPd2State) == HIGH); // not yet at end of travel
digitalWrite (ccw, LOW); //stop motor
delay (120000);
}
}
else if (lastPd2State == LOW) { // need to move in clockwise direction
do {
digitalWrite (cw, HIGH);
digitalWrite (ccw, LOW);
analogWrite (pwm, 160);
while (digitalRead (lastPd1State) == HIGH);
digitalWrite (cw, LOW); //stop motor
delay (120000);
}
}
else { // starting with gondolas in mid position
do {
digitalWrite (cw, HIGH);
digitalWrite (ccw, LOW);
analogWrite (pwm,160);
while (digitalRead (lastPd2State) == HIGH); // not yet at end of travel
digitalWrite (cw, LOW); // stop motor
delay (120000);
}
}
}
Error messages
[code]E:\Documents\ken\N scale\Arduino projects\mountain_lift\mountain_lift.ino: In function 'void loop()':
mountain_lift:42:3: error: expected 'while' before '}' token
}
^
mountain_lift:42:3: error: expected '(' before '}' token
mountain_lift:42:3: error: expected primary-expression before '}' token
mountain_lift:42:3: error: expected ')' before '}' token
mountain_lift:42:3: error: expected ';' before '}' token
mountain_lift:53:3: error: expected 'while' before '}' token
}
^
mountain_lift:53:3: error: expected '(' before '}' token
mountain_lift:53:3: error: expected primary-expression before '}' token
mountain_lift:53:3: error: expected ')' before '}' token
mountain_lift:53:3: error: expected ';' before '}' token
mountain_lift:64:3: error: expected 'while' before '}' token
}
^
mountain_lift:64:3: error: expected '(' before '}' token
mountain_lift:64:3: error: expected primary-expression before '}' token
mountain_lift:64:3: error: expected ')' before '}' token
mountain_lift:64:3: error: expected ';' before '}' token
exit status 1
expected 'while' before '}' token
[/code]