Advertisement
vitareinforce

gerak

Jun 5th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. //button boundary
  2. int btnDepan = 2;
  3. int btnKanan = 3;
  4. int btnBawah = 4;
  5. int btnKiri = 5;
  6.  
  7. //motor on pwm pin
  8. int motorKanan = 9;
  9. int motorKiri = 11;
  10.  
  11. //input data
  12. int inputDepan = 0;
  13. int inputKanan = 0;
  14. int inputBawah = 0;
  15. int inputKiri = 0;
  16.  
  17. //flag arah
  18. //0 = maju
  19. //1 = kanan
  20. //2 = kiri
  21. //3 = mundur
  22. int arah = 0;
  23.  
  24. void setup() {
  25. // input button boundary
  26. pinMode(btnDepan, INPUT);
  27. pinMode(btnKanan, INPUT);
  28. pinMode(btnBawah, INPUT);
  29. pinMode(btnKiri, INPUT);
  30.  
  31. //output motor
  32. pinMode(motorKanan, OUTPUT);
  33. pinMode(motorKiri, OUTPUT);
  34. }
  35.  
  36. void gerakMotor(int arahMotor) {
  37. if(arahMotor == 0) {//maju
  38. digitalWrite(motorKanan, HIGH);
  39. digitalWrite(motorKiri, HIGH);
  40. } else if(arahMotor == 1) {//kanan
  41. digitalWrite(motorKanan, LOW);
  42. digitalWrite(motorKiri, HIGH);
  43. } else if(arahMotor == 2) {//kiri
  44. digitalWrite(motorKanan, HIGH);
  45. digitalWrite(motorKiri, LOW);
  46. } else if(arahMotor == 3) {//mundur
  47. digitalWrite(motorKanan, LOW);
  48. digitalWrite(motorKiri, LOW);
  49. }
  50. }
  51.  
  52. void loop() {
  53. //read the button
  54. inputDepan = digitalRead(btnDepan);
  55. inputKanan = digitalRead(btnKanan);
  56. inputKiri = digitalRead(btnKiri);
  57. inputBawah = digitalRead(btnBawah);
  58.  
  59. //cek maju
  60. if ((inputDepan == 1) &&
  61. (inputKanan == 0) &&
  62. (inputKiri ==0) &&
  63. (inputBawah == 0)) {
  64. arah = 0;
  65. }
  66.  
  67. //cek mundur
  68. if ((inputDepan == 0) &&
  69. (inputKanan == 0) &&
  70. (inputKiri ==0) &&
  71. (inputBawah == 1)) {
  72. arah = 3;
  73. }
  74.  
  75. //cek kanan
  76. if ((inputDepan == 0) &&
  77. (inputKanan == 1) &&
  78. (inputKiri ==0) &&
  79. (inputBawah == 0)) {
  80. arah = 1;
  81. }
  82.  
  83. //cek kiri
  84. if ((inputDepan == 0) &&
  85. (inputKanan == 0) &&
  86. (inputKiri ==1) &&
  87. (inputBawah == 0)) {
  88. arah = 2;
  89. }
  90.  
  91. //gerakMotor
  92. gerakMotor(arah);
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement