Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
/********* 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
/****** 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; } }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)