Advertisement
Guest User

Untitled

a guest
May 22nd, 2015
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.10 KB | None | 0 0
  1. int x; // Variaveis Para armazenar os valores do JOYSTICK
  2. int y;
  3.  
  4. int EX;
  5. int EY; // Variaveis dos valores mapeados do JOYSTICK
  6.  
  7. int A;
  8. int B;
  9. int C; // Variaveis dos Botões do Shield Joystick
  10. int D;
  11. int E;
  12. int F;
  13.  
  14. byte MD; // MOTOR DIREITO
  15. byte ME; // MOTOR ESQUERDO
  16.  
  17. int led_direito = 10;
  18. int led_esquerdo = 9;
  19.  
  20. void setup() {
  21. Serial.begin(9600); // Inicia a comunicação serial
  22. pinMode(led_direito, OUTPUT);
  23. pinMode(led_esquerdo, OUTPUT);
  24. }
  25.  
  26. void loop() {
  27. x = analogRead(A1); // LEITURA A DOS EIXOS X E Y DO JOYSTICK
  28. y = analogRead(A2);
  29.  
  30. EX = map(x,0,1023,0,255); // MAPEANDO OS EIXOS DE 0-1023 PARA 0-255
  31. EY = map(y,0,1023,0,255);
  32.  
  33. A = digitalRead(2);
  34. B = digitalRead(3);
  35. C = digitalRead(4); // Leitura dos pinos digitais do Shield Joystick
  36. D = digitalRead(5);
  37. E = digitalRead(6);
  38. F = digitalRead(7);
  39.  
  40. // |----------------------------|
  41. // | FUNÇÃO VAREDURA DO JOYSTICK|
  42. // |----------------------------|
  43.  
  44.  
  45. if ( (EX == 125 || EX == 126)&&(EY == 124 || EY == 125) ){ // CONDIÇÃO DOS MOTORES PARADOS
  46. MD = 0;
  47. ME = 0;
  48. //analogWrite(led_direito, MD);
  49. //analogWrite(led_esquerdo, ME);
  50. //Serial.println("parado");
  51. Serial.println(MD);
  52. Serial.println(ME);
  53. // delay(1000);
  54. }
  55.  
  56. if ((EX == 125 || EX == 124) && (EY < 124)){ // INDO PRA FRENTE
  57. MD = ((123 + (EY*(-1))) + 132);
  58. ME = ((123 + (EY*(-1))) + 132);
  59. //analogWrite(led_direito, MD);
  60. //analogWrite(led_esquerdo, ME);
  61. // Serial.println("frente");
  62. Serial.println(MD);
  63. Serial.println(ME);
  64. // delay(1000);
  65. }
  66.  
  67. if ((EX == 125 || EX == 124) && (EY > 125)){ // DANDO A RÉ
  68. MD = EY;
  69. ME = EY;
  70. //analogWrite(led_direito, MD);
  71. //analogWrite(led_esquerdo, ME);
  72. // Serial.println("re");
  73. Serial.println(MD);
  74. Serial.println(ME);
  75. // delay(1000);
  76. }
  77.  
  78. if ( (EY == 124 || EY == 125) && (EX < 125)){ // DIREITA
  79. MD = ((124 + (EX*(-1))) + 130);
  80. ME = ((124 + (EX*(-1))) + 130);
  81. //analogWrite(led_direito, MD);
  82. //analogWrite(led_esquerdo, ME);
  83. // Serial.println("direita");
  84. Serial.println(MD);
  85. Serial.println(ME);
  86. // delay(1000);
  87. }
  88.  
  89. if ( (EY == 124 || EY == 125) && (EX > 126)){ // ESQUERDA
  90. MD = EX;
  91. ME = EX;
  92. //analogWrite(led_direito, MD);
  93. //analogWrite(led_esquerdo, ME);
  94. //Serial.println("esquerda");
  95. Serial.println(MD);
  96. Serial.println(ME);
  97. // delay(1000);
  98. }
  99.  
  100. if ((EX < 125)&&(EX > 0 || EX == 0)&&(EY < 124)&&(EY > 0 || EY == 0)){ // VIRANDO A DIREITA - FRENTE
  101. MD = (EX);
  102. ME = (EY + 130);
  103. //analogWrite(led_direito, MD);
  104. //analogWrite(led_esquerdo, ME);
  105. //Serial.println("direita - frente");
  106. Serial.println(MD);
  107. Serial.println(ME);
  108. // delay(1000);
  109. }
  110.  
  111. if ((EX > 126)&&(EX < 255 || EX == 255)&&(EY > 0 || EY == 0)&&(EY < 124)){ // VIRANDO A ESQUERDA - FRENTE
  112. MD = (EY + 130);
  113. ME = (255 - EX);
  114. //analogWrite(led_direito, MD);
  115. //analogWrite(led_esquerdo, ME);
  116. // Serial.println("esquerda-frente");
  117. Serial.println(MD);
  118. Serial.println(ME);
  119. // delay(1000);
  120. }
  121.  
  122. if ((EX > 0 || EX == 0)&&(EX < 125)&&(EY > 125)&&(EY < 255 || EY == 255)){ // VIRANDO A DIREITA - TRÁS
  123. MD = EX;
  124. ME = ((255-EY)+123);
  125. //analogWrite(led_direito, MD);
  126. //analogWrite(led_esquerdo, ME);
  127. //Serial.println("direita - tras");
  128. Serial.println(MD);
  129. // Serial.println(ME);
  130. // delay(1000);
  131. }
  132.  
  133. if ((EX < 255 || EX == 255)&&(EX > 126)&&(EY > 125)&&(EY < 255 || EY == 255)){ // VIRANDO A ESQUERDA - TRÁS
  134. MD = EX;
  135. ME = (EY - 125);
  136. //analogWrite(led_direito, MD);
  137. //analogWrite(led_esquerdo, ME);
  138. //Serial.println("esquerda - tras");
  139. Serial.println(MD);
  140. Serial.println(ME);
  141. // delay(1000);
  142. }
  143.  
  144.  
  145. /*if (E == 0){
  146. Serial.println("Botão E pressionado");}
  147. if (A == 0){
  148. Serial.println("Botão A pressionado");}
  149. if (B == 0){
  150. Serial.println("Botão B pressionado");} // COMANDOS A SEREM INSERIDOS PARA OS BOTÕES
  151. if (C == 0){
  152. Serial.println("Botão C pressionado");}
  153. if (D == 0){
  154. Serial.println("Botão D pressionado");}
  155. if (F == 0){
  156. Serial.println("Botão F pressionado");}*/
  157.  
  158. } // Fechamento Loop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement