/********* 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 // 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 */