Created
March 19, 2019 21:48
-
-
Save somahargitai/9d3431ca49553a5b5950ddcfbdb7ef13 to your computer and use it in GitHub Desktop.
Arduino motor
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const int controlPin1 = 2; | |
const int controlPin2 = 3; | |
const int enablePin = 9; | |
const int directionSwitchPin = 4; | |
const int onOffSwitchStateSwitchPin = 5; | |
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) / 4; | |
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; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment