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: Mobile_Robot_v2 - Source Code compiled for: Arduino Uno - Source Code created on: 2024-02-07 23:41:06 ********* Pleasedontcode.com **********/ /****** SYSTEM REQUIREMENTS *****/ /****** SYSTEM REQUIREMENT 1 *****/ /* If HC receives "F", move forward at 90% speed. If */ /* HC receives "B", move backward at 50% speed. */ /****** SYSTEM REQUIREMENT 2 *****/ /* If HC receives "L", turn left. If HC receives */ /* "R", turn right. If HC receives "0", stop. */ /****** SYSTEM REQUIREMENT 3 *****/ /* Define an instance to drive motor A. Define an */ /* instance to drive motor B. */ /****** END SYSTEM REQUIREMENTS *****/ /********* User code review feedback ********** #### Feedback 1 #### - updateOutputs() is unnecessary. ********* User code review feedback **********/ /****** DEFINITION OF LIBRARIES *****/ #include
#include
/****** SYSTEM REQUIREMENTS *****/ /****** SYSTEM REQUIREMENT 1 *****/ /* If HC receives "F", move forward at 90% speed. If */ /* HC receives "B", move backward at 50% speed. */ /****** SYSTEM REQUIREMENT 2 *****/ /* If HC receives "L", turn left. If HC receives */ /* "R", turn right. If HC receives "0", stop. */ /****** SYSTEM REQUIREMENT 3 *****/ /* Define an instance to drive motor A. Define an */ /* instance to drive motor B. */ /****** END SYSTEM REQUIREMENTS *****/ /****** FUNCTION PROTOTYPES *****/ void setup(void); void loop(void); void handleCommand(char command); /***** DEFINITION OF DIGITAL OUTPUT PINS *****/ const uint8_t IN1_PIN = 2; const uint8_t IN2_PIN = 4; const uint8_t IN3_PIN = 6; const uint8_t IN4_PIN = 7; /***** DEFINITION OF PWM OUTPUT PINS *****/ const uint8_t EN1_PIN = 3; const uint8_t EN2_PIN = 5; /***** DEFINITION OF Software Serial *****/ const uint8_t HC05_SERIAL_TX_PIN = A0; const uint8_t HC05_SERIAL_RX_PIN = A1; SoftwareSerial HC05_SERIAL(HC05_SERIAL_RX_PIN, HC05_SERIAL_TX_PIN); /***** DEFINITION OF OUTPUT RAW VARIABLES *****/ uint8_t EN1_rawData = 0; uint8_t EN2_rawData = 0; /****** DEFINITION OF LIBRARY CLASS INSTANCES*****/ L298N motorA(EN1_PIN, IN1_PIN, IN2_PIN); L298N motorB(EN2_PIN, IN3_PIN, IN4_PIN); void setup(void) { pinMode(IN1_PIN, OUTPUT); pinMode(IN2_PIN, OUTPUT); pinMode(IN3_PIN, OUTPUT); pinMode(IN4_PIN, OUTPUT); pinMode(EN1_PIN, OUTPUT); pinMode(EN2_PIN, OUTPUT); HC05_SERIAL.begin(9600); } void loop(void) { if (HC05_SERIAL.available()) { char command = HC05_SERIAL.read(); handleCommand(command); } } void handleCommand(char command) { switch (command) { case 'F': // Move forward at 90% speed motorA.setSpeed(230); motorB.setSpeed(230); motorA.forward(); motorB.forward(); break; case 'B': // Move backward at 50% speed motorA.setSpeed(128); motorB.setSpeed(128); motorA.backward(); motorB.backward(); break; case 'L': // Turn left motorA.setSpeed(0); motorB.setSpeed(230); motorA.backward(); motorB.forward(); break; case 'R': // Turn right motorA.setSpeed(230); motorB.setSpeed(0); motorA.forward(); motorB.backward(); break; case '0': // Stop motorA.setSpeed(0); motorB.setSpeed(0); motorA.stop(); motorB.stop(); break; } }
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)