Advertisement
chowdhury_riham

LFR

Mar 4th, 2018
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1.  
  2.  
  3. #define REF 200
  4. const int MotR_A = 3; // DC Motor1 Pole_A
  5. const int MotR_B = 5; // DC Motor1 Pole_B
  6. const int MotL_A = 6; // DC Motor2 Pole_A
  7. const int MotL_B = 9; // DC Motor2 Pole_B
  8. unsigned int Flag1,Flag2,Flag3,Flag4,Val;
  9. void setup()
  10. {
  11. Serial.begin(9600);
  12. pinMode(MotR_A, OUTPUT);
  13. pinMode(MotR_B, OUTPUT);
  14. pinMode(MotL_A, OUTPUT);
  15. pinMode(MotL_B, OUTPUT);
  16. }
  17. void loop()
  18. {
  19. int sen1 = analogRead(A0);
  20. int sen2 = analogRead(A1);
  21. int sen3 = analogRead(A2);
  22. int sen4 = analogRead(A3);
  23. if (sen1>REF)
  24. { Flag1 = 1; }
  25. else
  26. { Flag1 = 0; }
  27. if (sen2>REF)
  28. { Flag2 = 1; }
  29. else
  30. { Flag2 = 0; }
  31. if (sen3>REF)
  32. { Flag3 = 1; }
  33. else
  34. { Flag3 = 0; }
  35. if (sen4>REF)
  36. { Flag4 = 1; }
  37. else
  38. { Flag4 = 0; }
  39. Val = (Flag1 | (Flag2<<1) | (Flag3<<2) | (Flag4<<3) );
  40. Serial.print(Val);
  41. Serial.println();
  42. switch (Val)
  43. {
  44. case 0:
  45. Robo_Right();
  46. break;
  47. case 1:
  48. Robo_Left();
  49. break;
  50. case 3:
  51. Robo_Left();
  52. break;
  53. case 6:
  54. Robo_Front();
  55. break;
  56. case 7:
  57. Robo_Left();
  58. break;
  59. case 8:
  60. Robo_Right();
  61. break;
  62. case 12:
  63. Robo_Right();
  64. break;
  65. case 14:
  66. Robo_Right();
  67. break;
  68. case 15:
  69. Robo_Front();
  70. break;
  71. default:
  72. break;
  73. }
  74. }
  75. void Robo_Front()
  76. {
  77. digitalWrite(MotR_A, LOW);
  78. digitalWrite(MotR_B, HIGH);
  79. digitalWrite(MotL_B, LOW);
  80. digitalWrite(MotL_A, HIGH);
  81. }
  82. void Robo_Back()
  83. {
  84. digitalWrite(MotR_A, HIGH);
  85. digitalWrite(MotR_B, LOW);
  86. digitalWrite(MotL_B, HIGH);
  87. digitalWrite(MotL_A, LOW);
  88. }
  89. void Robo_Right()
  90. {
  91. digitalWrite(MotR_A, HIGH);
  92. digitalWrite(MotR_B, LOW);
  93. digitalWrite(MotL_B, LOW);
  94. digitalWrite(MotL_A, HIGH);
  95. }
  96. void Robo_Left()
  97. {
  98. digitalWrite(MotR_A, LOW);
  99. digitalWrite(MotR_B, HIGH);
  100. digitalWrite(MotL_B, HIGH);
  101. digitalWrite(MotL_A, LOW);
  102. }
  103. void Robo_Stop()
  104. {
  105. digitalWrite(MotR_A, LOW);
  106. digitalWrite(MotR_B, LOW);
  107. digitalWrite(MotL_B, LOW);
  108. digitalWrite(MotL_A, LOW);
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement