Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int switchPin = 2; // switch input
- const int motor1Pin = 3; // H-bridge leg 1 (pin 2, 1A)
- const int motor2Pin = 4; // H-bridge leg 2 (pin 7, 2A)
- const int enablePin = 9; // H-bridge enable pin
- void setup() {
- // initialize serial:
- Serial.begin(9600);
- // set the switch as an input:
- pinMode(switchPin, INPUT);
- // set all the other pins you're using as outputs:
- pinMode(motor1Pin, OUTPUT);
- pinMode(motor2Pin, OUTPUT);
- pinMode(enablePin, OUTPUT);
- // set enablePin high so that motor can turn on:
- digitalWrite(enablePin, HIGH);
- }
- void loop() {
- while (Serial.available() >0) {
- int thespeed = Serial.parseInt();
- int thedirection = Serial.parseInt();
- if (Serial.read() == '\n') {
- thespeed = 255 - constrain(thespeed, 0, 255);
- thedirection = 255 - constrain(thedirection, 0, 255);
- analogWrite(enablePin,thespeed);
- }
- }
- // if the switch is high, motor will turn on one direction:
- if (digitalRead(switchPin) == HIGH) {
- digitalWrite(motor1Pin, LOW); // set leg 1 of the H-bridge low
- digitalWrite(motor2Pin, HIGH); // set leg 2 of the H-bridge high
- }
- // if the switch is low, motor will turn in the other direction:
- else {
- digitalWrite(motor1Pin, HIGH); // set leg 1 of the H-bridge high
- digitalWrite(motor2Pin, LOW); // set leg 2 of the H-bridge low
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement