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: Arduino Motors
- - Source Code NOT compiled for: Arduino Uno
- - Source Code created on: 2025-10-19 22:13:50
- ********* Pleasedontcode.com **********/
- /****** SYSTEM REQUIREMENTS *****/
- /****** SYSTEM REQUIREMENT 1 *****/
- /* i dosnt work help me */
- /****** END SYSTEM REQUIREMENTS *****/
- /* START CODE */
- #include <L298NX2.h>
- // Pin definitions for dual motor control (A and B) on UNO
- const unsigned int EN_A = 3;
- const unsigned int IN1_A = 5;
- const unsigned int IN2_A = 6;
- const unsigned int IN1_B = 7;
- const unsigned int IN2_B = 8;
- const unsigned int EN_B = 9;
- // Initialize motor driver for two motors
- L298NX2 motors(EN_A, IN1_A, IN2_A, EN_B, IN1_B, IN2_B);
- void setup()
- {
- Serial.begin(9600);
- // Wait for serial monitor to be opened (not strictly needed on UNO, but keeps behavior similar to other boards)
- while (!Serial)
- {
- // do nothing
- }
- // Set an initial speed for both motors
- motors.setSpeed(150);
- Serial.println(F("L298NX2 Motor Controller Ready. Commands: F Forward, B Backward, S Stop, L Left, R Right, U/D for Motor A, 2/3 for Motor B, + / - global speed"));
- }
- void loop()
- {
- if (Serial.available() > 0)
- {
- char cmd = Serial.read();
- switch (cmd)
- {
- case 'F':
- motors.forward();
- Serial.println(F("Forward"));
- break;
- case 'B':
- motors.backward();
- Serial.println(F("Backward"));
- break;
- case 'S':
- motors.stop();
- Serial.println(F("Stop"));
- break;
- case 'L':
- // Turn left: left motor forward, right motor backward
- motors.forwardA();
- motors.backwardB();
- Serial.println(F("Turn Left"));
- break;
- case 'R':
- // Turn right: left motor backward, right motor forward
- motors.backwardA();
- motors.forwardB();
- Serial.println(F("Turn Right"));
- break;
- case 'U':
- // Increase speed of Motor A
- {
- unsigned short sA = motors.getSpeedA();
- if (sA + 5 <= 255) motors.setSpeedA(sA + 5);
- else motors.setSpeedA(255);
- Serial.print(F("SpeedA = "));
- Serial.println(motors.getSpeedA());
- }
- break;
- case 'D':
- // Decrease speed of Motor A
- {
- unsigned short sA = motors.getSpeedA();
- if (sA >= 5) motors.setSpeedA(sA - 5);
- else motors.setSpeedA(0);
- Serial.print(F("SpeedA = "));
- Serial.println(motors.getSpeedA());
- }
- break;
- case '2':
- // Increase speed of Motor B
- {
- unsigned short sB = motors.getSpeedB();
- if (sB + 5 <= 255) motors.setSpeedB(sB + 5);
- else motors.setSpeedB(255);
- Serial.print(F("SpeedB = "));
- Serial.println(motors.getSpeedB());
- }
- break;
- case '3':
- // Decrease speed of Motor B
- {
- unsigned short sB = motors.getSpeedB();
- if (sB >= 5) motors.setSpeedB(sB - 5);
- else motors.setSpeedB(0);
- Serial.print(F("SpeedB = "));
- Serial.println(motors.getSpeedB());
- }
- break;
- case '+':
- // Increase global (both) speed
- {
- unsigned short s = motors.getSpeed();
- if (s + 5 <= 255) motors.setSpeed(s + 5);
- else motors.setSpeed(255);
- Serial.print(F("Global speed = "));
- Serial.println(motors.getSpeed());
- }
- break;
- case '-':
- // Decrease global (both) speed
- {
- unsigned short s = motors.getSpeed();
- if (s >= 5) motors.setSpeed(s - 5);
- else motors.setSpeed(0);
- Serial.print(F("Global speed = "));
- Serial.println(motors.getSpeed());
- }
- break;
- default:
- Serial.print(F("Unrecognized command: "));
- Serial.println(cmd);
- break;
- }
- }
- }
- /* END CODE */
Advertisement
Add Comment
Please, Sign In to add comment