austin944

UnoQ_PWM_GPIO_Updated

May 17th, 2026
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1.  
  2. const int dirA = D12; // motor direction pin for motor A
  3. const int pwmA = D3; // PWM pin for motor A
  4. const int brakeA = D9; // Brake pin for motor A
  5.  
  6. const int dirB = D13; // D4 works, motor direction pin for motor B
  7. const int pwmB = D11; // PWM pin for motor B
  8. const int brakeB = D8; // Brake pin for motor B
  9.  
  10. int outputValue = 80; // value output to the PWM (analog out)
  11. int dirValue = 0; // value output to the directional pin
  12. int brakeValue = 1; // value output to the Brake pin
  13.  
  14. void pinModeAll()
  15. {
  16. pinMode(D2, OUTPUT);
  17. pinMode(D4, OUTPUT);
  18. pinMode(D5, OUTPUT);
  19. pinMode(D6, OUTPUT);
  20. pinMode(D7, OUTPUT);
  21. pinMode(D10, OUTPUT);
  22.  
  23. pinMode(brakeA, OUTPUT);
  24. pinMode(brakeB, OUTPUT);
  25. pinMode(dirA, OUTPUT);
  26. pinMode(dirB, OUTPUT);
  27. }
  28.  
  29. void setup() {
  30.  
  31. pinModeAll();
  32. digitalWrite(dirA, dirValue);
  33. digitalWrite(dirB, dirValue);
  34.  
  35. digitalWrite(brakeA, brakeValue);
  36. digitalWrite(brakeB, brakeValue);
  37. }
  38.  
  39. void loop() {
  40. analogWrite(pwmA, outputValue);
  41. analogWrite(pwmB, outputValue);
  42.  
  43. #if 1
  44. pinModeAll();
  45. #endif
  46.  
  47. digitalWrite(dirA, dirValue);
  48. digitalWrite(dirB, dirValue);
  49. dirValue = !dirValue;
  50.  
  51. digitalWrite(brakeA, brakeValue);
  52. digitalWrite(brakeB, brakeValue);
  53. brakeValue = !brakeValue;
  54.  
  55. digitalWrite(D2, dirValue);
  56. digitalWrite(D4, dirValue);
  57. digitalWrite(D5, dirValue);
  58. digitalWrite(D6, dirValue);
  59. digitalWrite(D7, dirValue);
  60. digitalWrite(D10, dirValue);
  61.  
  62. delay(500);
  63. }
  64.  
Advertisement
Add Comment
Please, Sign In to add comment