const int controlPin1 = 2; const int controlPin2 = 3; const int powerPin = 9; const int lrSwitchPin = 4; const int ofSwitchStateSwitchPin = 5; const int speedPin = A0; const int ledPin = 6; int ofSwitchState = 0; int pofSwitchState = 0; int lrSwitchState = 0; int plrSwitchState = 0; int mEnabled = 0; int mSpeed = 0; int mLR = 1; void setup() { // put your setup code here, to run once: pinMode(lrSwitchPin, INPUT); pinMode(ofSwitchStateSwitchPin, INPUT); pinMode(controlPin1, OUTPUT); pinMode(controlPin2, OUTPUT); pinMode(powerPin, OUTPUT); pinMode(ledPin, OUTPUT); digitalWrite(powerPin, LOW); digitalWrite(ledPin, HIGH); } void loop() { // put your main code here, to run repeatedly: ofSwitchState = digitalRead(ofSwitchStateSwitchPin); delay(1); lrSwitchState = digitalRead(lrSwitchPin); mSpeed = 235/(analogRead(speedPin)/90+1)+20; if(ofSwitchState != pofSwitchState){ if(ofSwitchState == HIGH){ mEnabled = !mEnabled; } } if(lrSwitchState != plrSwitchState){ if(lrSwitchState == HIGH){ mLR = !mLR; } } if(mLR == 1){ digitalWrite(controlPin1, HIGH); digitalWrite(controlPin2, LOW); } else { digitalWrite(controlPin1, LOW); digitalWrite(controlPin2, HIGH); } if(mEnabled == 1){ analogWrite(powerPin, mSpeed); analogWrite(ledPin, mSpeed); } else { analogWrite(powerPin, 0); analogWrite(ledPin, 0); } plrSwitchState = lrSwitchState; pofSwitchState = ofSwitchState; }