Advertisement
MrLunk

Arduino receiving imputs to steer servo and run dc-motor

May 5th, 2017
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1.  
  2. #include <Servo.h>
  3. #include <Wire.h>
  4. #include <Adafruit_MotorShield.h>
  5. #include "utility/Adafruit_MS_PWMServoDriver.h"
  6.  
  7. Adafruit_MotorShield AFMS = Adafruit_MotorShield();
  8. Adafruit_DCMotor *myMotor = AFMS.getMotor(1);
  9. Servo myservo;
  10.  
  11. int FWD = 0;
  12. int BCK = 0;
  13. int RGT = 0;
  14. int LFT = 0;
  15.  
  16. void setup() {
  17. AFMS.begin(); // create with the default frequency 1.6KHz
  18. myMotor->setSpeed(0);
  19. myMotor->run(RELEASE);
  20. myservo.attach(10); // attaches the servo on pin 10 to the servo object
  21.  
  22. pinMode(4, INPUT);
  23. pinMode(5, INPUT);
  24. pinMode(6, INPUT);
  25. pinMode(7, INPUT);
  26.  
  27. Serial.begin(9600);
  28. }
  29.  
  30. int maxspeed = 100;
  31.  
  32. /*
  33. myMotor->run(RELEASE);
  34. myservo.write(90);
  35. */
  36.  
  37. void loop() {
  38. FWD = digitalRead(4);
  39. BCK = digitalRead(5);
  40. LFT = digitalRead(6);
  41. RGT = digitalRead(7);
  42.  
  43. // ------ Forward routine ------
  44. if (FWD == 1 && BCK == 0){
  45. myMotor->run(FORWARD);
  46. myMotor->setSpeed(maxspeed);
  47. }
  48.  
  49. // -------Backward routine ------
  50.  
  51. if (BCK == 1 && FWD == 0){
  52. myMotor->run(BACKWARD);
  53. myMotor->setSpeed(maxspeed/2);
  54. }
  55.  
  56. // ------ Release motor if no Forward of Backward input ------
  57.  
  58. if (FWD == 0 && BCK == 0){
  59. myMotor->run(RELEASE);
  60.  
  61. }
  62.  
  63. // ------- Steer Left Routine --------
  64.  
  65. if (LFT == 1 && RGT == 0){
  66. myservo.write(45);
  67. }
  68.  
  69. // ------- Steer Right Routine --------
  70.  
  71. if (RGT == 1 && LFT == 0){
  72. myservo.write(135);
  73. }
  74.  
  75. if (LFT == 0 && RGT == 0 || LFT == 1 && RGT == 1 ){
  76. myservo.write(90);
  77. }
  78.  
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement