Advertisement
Guest User

Untitled

a guest
May 5th, 2015
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. int E1 = 5; //E1 pin -- links
  2. int M1 = 4; //M1 pin -- links
  3. int E2 = 2; //E2 pin -- rechts
  4. int M2 = 3; //M2 pin -- rechts
  5.  
  6. int trackLPin = 15;
  7. int trackRPin = 14;
  8.  
  9. boolean trackL = false;
  10. boolean trackR = false;
  11.  
  12. int velocity = 100;
  13.  
  14. void setup()
  15. {
  16. pinMode(M1, OUTPUT);
  17. pinMode(M2, OUTPUT);
  18. Serial.begin(9600);
  19. pinMode(trackLPin, INPUT);
  20. pinMode(trackRPin, INPUT);
  21. }
  22.  
  23. void loop ()
  24. {
  25.  
  26. forward(velocity);
  27. /*initLinetrack();
  28. Serial.print(trackR);
  29. Serial.println(trackL);
  30.  
  31. while (trackR == true && trackL == true)
  32. {
  33. initLinetrack();
  34. forward(velocity);
  35. }
  36.  
  37. while (trackR == false && trackL == false)
  38. {
  39. initLinetrack();
  40. corner(1, 50, 150);
  41. }
  42.  
  43. while (trackR == true && trackL == false)
  44. {
  45. initLinetrack();
  46. corner(0, 20, 150);
  47. }
  48.  
  49. while (trackR == false && trackL == true)
  50. {
  51. initLinetrack();
  52. corner(1, 20, 150);
  53. }
  54. */
  55. }
  56.  
  57. void initLinetrack()
  58. {
  59. trackL = (boolean)digitalRead(trackLPin);
  60. trackR = (boolean)digitalRead(trackRPin);
  61. }
  62.  
  63. void forward (int velocityThis)
  64. {
  65. digitalWrite(M1, HIGH); //Drehrichtung
  66. digitalWrite(M2, HIGH); // Drehrichtung
  67. analogWrite(E1, velocityThis); // PWM Speed Control
  68. analogWrite(E2, velocityThis); //mit analogWrite werden PWM-Signale angegeben
  69. }
  70. void stopp (int duration)
  71. {
  72. digitalWrite(M1, LOW); //Drehrichtung
  73. digitalWrite(M2, HIGH); // Drehrichtung
  74. analogWrite(E1, 0); // PWM Speed Control
  75. analogWrite(E2, 0); //mit analogWrite werden PWM-Signale angegeben
  76. delay(duration);
  77. }
  78.  
  79. void corner (int dir, int duration, int g)
  80. {
  81. if (dir == 0) //links
  82. {
  83. digitalWrite(M1, LOW);
  84. digitalWrite(M2, LOW);
  85. analogWrite(E1, 0);
  86. analogWrite(E2, g);
  87. }
  88. else if (dir == 1) //rechts
  89. {
  90. digitalWrite(M1, HIGH);
  91. digitalWrite(M2, HIGH);
  92. analogWrite(E1, g);
  93. analogWrite(E2, 0);
  94. }
  95.  
  96. delay(2.5 * duration);
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement