Hi!
I have some problems while doing project no10, Zoetrope.
I have the two installed buttons, but the on/off switch doesn't work. The direction changer, and the potmeter works wll, but the first doesn't. When I press it, only the 'L' LED lights up on the board. I've checked it several times, but maybe your experienced eyes can find the mistake.
So here's my setup:
And my Code:
const int controlPin1 = 2;
const int controlPin2 = 3;
const int enablePin = 9;
const int directionSwitchPin = 12;
const int onOffSwitchStateSwitchPin = 13;
const int potPin = A0;
int onOffSwitchState = 0;
int previousOnOffSwitchState = 0;
int directionSwitchState = 0;
int previousDirectionSwitchState = 0;
int motorEnabled = 0;
int motorSpeed = 0;
int motorDirection = 1;
void setup() {
pinMode(directionSwitchPin, INPUT);
pinMode(onOffSwitchStateSwitchPin, INPUT);
pinMode(controlPin1, OUTPUT);
pinMode(controlPin2, OUTPUT);
pinMode(enablePin, OUTPUT);
digitalWrite(enablePin, LOW);
}
void loop() {
onOffSwitchState = digitalRead(onOffSwitchStateSwitchPin);
delay(1);
directionSwitchState = digitalRead(directionSwitchPin);
motorSpeed = analogRead(potPin)/8;
if(onOffSwitchState != previousOnOffSwitchState) {
if(onOffSwitchState == HIGH) {
motorEnabled = !motorEnabled;
}
}
if(directionSwitchState != previousDirectionSwitchState) {
if(directionSwitchState == HIGH) {
motorDirection = !motorDirection;
}
}
if(motorDirection == 1) {
digitalWrite(controlPin1, HIGH);
digitalWrite(controlPin2, LOW);
}
else {
digitalWrite(controlPin1, LOW);
digitalWrite(controlPin2, HIGH);
}
if(motorEnabled = 1) {
analogWrite(enablePin, motorSpeed);
}
else {
analogWrite(enablePin, 0);
}
previousDirectionSwitchState = directionSwitchState;
previousOnOffSwitchState = onOffSwitchState;
}
Thanks for the help!