pleasedontcode

Arduino Motors rev_01

Oct 19th, 2025
1,982
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /********* Pleasedontcode.com **********
  2.  
  3.     Pleasedontcode thanks you for automatic code generation! Enjoy your code!
  4.  
  5.     - Terms and Conditions:
  6.     You have a non-exclusive, revocable, worldwide, royalty-free license
  7.     for personal and commercial use. Attribution is optional; modifications
  8.     are allowed, but you're responsible for code maintenance. We're not
  9.     liable for any loss or damage. For full terms,
  10.     please visit pleasedontcode.com/termsandconditions.
  11.  
  12.     - Project: Arduino Motors
  13.     - Source Code NOT compiled for: Arduino Uno
  14.     - Source Code created on: 2025-10-19 22:13:50
  15.  
  16. ********* Pleasedontcode.com **********/
  17.  
  18. /****** SYSTEM REQUIREMENTS *****/
  19. /****** SYSTEM REQUIREMENT 1 *****/
  20.     /* i dosnt work help me */
  21. /****** END SYSTEM REQUIREMENTS *****/
  22.  
  23.  
  24. /* START CODE */
  25.  
  26. #include <L298NX2.h>
  27.  
  28. // Pin definitions for dual motor control (A and B) on UNO
  29. const unsigned int EN_A = 3;
  30. const unsigned int IN1_A = 5;
  31. const unsigned int IN2_A = 6;
  32. const unsigned int IN1_B = 7;
  33. const unsigned int IN2_B = 8;
  34. const unsigned int EN_B = 9;
  35.  
  36. // Initialize motor driver for two motors
  37. L298NX2 motors(EN_A, IN1_A, IN2_A, EN_B, IN1_B, IN2_B);
  38.  
  39. void setup()
  40. {
  41.   Serial.begin(9600);
  42.   // Wait for serial monitor to be opened (not strictly needed on UNO, but keeps behavior similar to other boards)
  43.   while (!Serial)
  44.   {
  45.     // do nothing
  46.   }
  47.  
  48.   // Set an initial speed for both motors
  49.   motors.setSpeed(150);
  50.   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"));
  51. }
  52.  
  53. void loop()
  54. {
  55.   if (Serial.available() > 0)
  56.   {
  57.     char cmd = Serial.read();
  58.     switch (cmd)
  59.     {
  60.       case 'F':
  61.         motors.forward();
  62.         Serial.println(F("Forward"));
  63.         break;
  64.       case 'B':
  65.         motors.backward();
  66.         Serial.println(F("Backward"));
  67.         break;
  68.       case 'S':
  69.         motors.stop();
  70.         Serial.println(F("Stop"));
  71.         break;
  72.       case 'L':
  73.         // Turn left: left motor forward, right motor backward
  74.         motors.forwardA();
  75.         motors.backwardB();
  76.         Serial.println(F("Turn Left"));
  77.         break;
  78.       case 'R':
  79.         // Turn right: left motor backward, right motor forward
  80.         motors.backwardA();
  81.         motors.forwardB();
  82.         Serial.println(F("Turn Right"));
  83.         break;
  84.       case 'U':
  85.         // Increase speed of Motor A
  86.         {
  87.           unsigned short sA = motors.getSpeedA();
  88.           if (sA + 5 <= 255) motors.setSpeedA(sA + 5);
  89.           else motors.setSpeedA(255);
  90.           Serial.print(F("SpeedA = "));
  91.           Serial.println(motors.getSpeedA());
  92.         }
  93.         break;
  94.       case 'D':
  95.         // Decrease speed of Motor A
  96.         {
  97.           unsigned short sA = motors.getSpeedA();
  98.           if (sA >= 5) motors.setSpeedA(sA - 5);
  99.           else motors.setSpeedA(0);
  100.           Serial.print(F("SpeedA = "));
  101.           Serial.println(motors.getSpeedA());
  102.         }
  103.         break;
  104.       case '2':
  105.         // Increase speed of Motor B
  106.         {
  107.           unsigned short sB = motors.getSpeedB();
  108.           if (sB + 5 <= 255) motors.setSpeedB(sB + 5);
  109.           else motors.setSpeedB(255);
  110.           Serial.print(F("SpeedB = "));
  111.           Serial.println(motors.getSpeedB());
  112.         }
  113.         break;
  114.       case '3':
  115.         // Decrease speed of Motor B
  116.         {
  117.           unsigned short sB = motors.getSpeedB();
  118.           if (sB >= 5) motors.setSpeedB(sB - 5);
  119.           else motors.setSpeedB(0);
  120.           Serial.print(F("SpeedB = "));
  121.           Serial.println(motors.getSpeedB());
  122.         }
  123.         break;
  124.       case '+':
  125.         // Increase global (both) speed
  126.         {
  127.           unsigned short s = motors.getSpeed();
  128.           if (s + 5 <= 255) motors.setSpeed(s + 5);
  129.           else motors.setSpeed(255);
  130.           Serial.print(F("Global speed = "));
  131.           Serial.println(motors.getSpeed());
  132.         }
  133.         break;
  134.       case '-':
  135.         // Decrease global (both) speed
  136.         {
  137.           unsigned short s = motors.getSpeed();
  138.           if (s >= 5) motors.setSpeed(s - 5);
  139.           else motors.setSpeed(0);
  140.           Serial.print(F("Global speed = "));
  141.           Serial.println(motors.getSpeed());
  142.         }
  143.         break;
  144.       default:
  145.         Serial.print(F("Unrecognized command: "));
  146.         Serial.println(cmd);
  147.         break;
  148.     }
  149.   }
  150. }
  151.  
  152. /* END CODE */
  153.  
Advertisement
Add Comment
Please, Sign In to add comment