Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /********* Pleasedontcode.com **********
- Pleasedontcode thanks you for automatic code generation! Enjoy your code!
- - Terms and Conditions:
- You have a non-exclusive, revocable, worldwide, royalty-free license
- for personal and commercial use. Attribution is optional; modifications
- are allowed, but you're responsible for code maintenance. We're not
- liable for any loss or damage. For full terms,
- please visit pleasedontcode.com/termsandconditions.
- - Project: "Motor Switch"
- - Source Code compiled for: Arduino Uno
- - Source Code created on: 2024-03-31 10:11:27
- ********* Pleasedontcode.com **********/
- /****** SYSTEM REQUIREMENTS *****/
- /****** SYSTEM REQUIREMENT 1 *****/
- /* Control 2 DC Motors using L293D Bridge for forward */
- /* and backward direction, pushbutton for switching */
- /* on and off */
- /****** END SYSTEM REQUIREMENTS *****/
- /****** DEFINITION OF LIBRARIES *****/
- #include <L293.h>
- /****** FUNCTION PROTOTYPES *****/
- void setup();
- void loop();
- /***** DEFINITION OF DIGITAL INPUT PINS *****/
- const uint8_t SwitchPushbuttonPin = 2;
- /***** DEFINITION OF MOTOR CONTROL PINS *****/
- const uint8_t Motor1EnablePin = 4;
- const uint8_t Motor1DirectionPin1 = 5;
- const uint8_t Motor1DirectionPin2 = 6;
- const uint8_t Motor2EnablePin = 7;
- const uint8_t Motor2DirectionPin1 = 8;
- const uint8_t Motor2DirectionPin2 = 9;
- /***** DEFINITION OF MOTOR CLASS INSTANCES *****/
- L293 motor1(Motor1EnablePin, Motor1DirectionPin1, Motor1DirectionPin2);
- L293 motor2(Motor2EnablePin, Motor2DirectionPin1, Motor2DirectionPin2);
- /****** Flag to indicate motor state *****/
- bool motorsOn = false;
- void setup()
- {
- pinMode(SwitchPushbuttonPin, INPUT_PULLUP);
- motor1.setPWMOffset(10); // Optional speed offset adjustment for Motor 1
- motor2.setPWMOffset(-10); // Optional speed offset adjustment for Motor 2
- }
- void loop()
- {
- bool switchPushed = digitalRead(SwitchPushbuttonPin) == LOW;
- if (switchPushed && !motorsOn)
- {
- // Turn on the motors and make them go forward
- motor1.forward();
- motor2.forward();
- motorsOn = true;
- }
- else if (!switchPushed && motorsOn)
- {
- // Turn off the motors and stop them
- motor1.forceStop(1000); // Perform electrical braking with a 1 second handling time for Motor 1
- motor2.forceStop(1000); // Perform electrical braking with a 1 second handling time for Motor 2
- motorsOn = false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement