Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. //se definena la variable constante poscionPinX de tipo entero
  2. const int posicionPinX = 0;
  3. //se definena la variable posicionPinY intervalo de tipo entero
  4. const int posicionPinY = 1;
  5. //se define la variable valroX de tipo entero
  6. int valorX;
  7. //se define la variable valorY de tipo entero
  8. int valorY;
  9. //se define la variable x de tipo entero
  10. int x;
  11. //se define la variable y de tipo entero
  12. int y;
  13. //se definena la variable constante intervalo de tipo entero
  14. const int intervalo = 10;
  15. //se definena la variable inte intervaloReposo de tipo entero
  16. const int intervaloReposo = intervalo/2;
  17.  
  18. //se definena la variable constante  numeroDeBotones de tipo entero
  19. const int numeroDeBotones = 4;
  20. //se definena la variable constante  butonPinDerecho de tipo entero
  21. const int butonPinDerecho = 3;
  22. //se definena la variable constante  butonPinArriba de tipo entero
  23. const int butonPinArriba  = 4;
  24. //se definena la variable constante  butonPinAbajo de tipo entero
  25. const int butonPinAbajo = 5;
  26. //se definena la variable constante  butonPinIzquierdode tipo entero
  27. const int butonPinIzquierdo = 6;
  28. //se definena el variable arreglo botones de tipo entero
  29. int botones[numeroDeBotones] = {butonPinDerecho, butonPinArriba, butonPinAbajo, butonPinIzquierdo};
  30.  
  31. void setup(){
  32.   for(int i = 0; i < numeroDeBotones; i++){
  33.     //pines de salida
  34.     pinMode(botones[i], INPUT);
  35.     //valor alto al pin digital
  36.     digitalWrite(botones[i], HIGH);
  37.   }
  38.   //comunicacion serial a 9600bps
  39.   Serial.begin(9600);
  40. }
  41.  
  42. void loop(){    
  43.   //valor de tensión en el pin analógico posicionPinX(A0)
  44.   valorX = analogRead(posicionPinX);
  45.   //se toma el valorX para la direccion x
  46.   x = map(valorX,0,1024,0,intervalo);
  47.  
  48.   //valor de tensión en el pin analógico posicionPinY(A1)
  49.   valorY = analogRead(posicionPinY);
  50.   //se toma el valorY para la direccion y
  51.   y = map(valorY,0,1024,0,intervalo);
  52.  
  53.   //si la palanca del Joystick no esta en reposo en la posicion x    
  54.   if(x > intervaloReposo || x < intervaloReposo){
  55.      //escribe el identificador de la coordenada x
  56.      Serial.write('x');
  57.      //escribe el valor en x
  58.      Serial.write(x);
  59.   }
  60.   //si la palanca del Joystick no esta en reposo en la posicion y
  61.   if(y > intervaloReposo || y < intervaloReposo){
  62.     //escribe el identificador de la coordenada y
  63.     Serial.write('y');
  64.     //escribe el valor y
  65.     Serial.write(y);
  66.   }  
  67.    
  68.   for(int i = 0; i < numeroDeBotones; i++){
  69.     //si hay evento de un boton del Joystick
  70.     if(digitalRead(botones[i]) == 0){
  71.       //escribe el identificador del boton
  72.       Serial.write('b');
  73.       //escribe el boton seleccionado
  74.       //Boton derecho   : 0
  75.       //Boton arriba    : 1
  76.       //Boton abajo     : 2
  77.       //Boton izquierdo : 3
  78.       Serial.write(i);
  79.       delay(10);
  80.     }
  81.   }  
  82.   delay(20);  
  83. }//se definena la variable constante poscionPinX de tipo entero
  84. const int posicionPinX = 0;
  85. //se definena la variable posicionPinY intervalo de tipo entero
  86. const int posicionPinY = 1;
  87. //se define la variable valroX de tipo entero
  88. int valorX;
  89. //se define la variable valorY de tipo entero
  90. int valorY;
  91. //se define la variable x de tipo entero
  92. int x;
  93. //se define la variable y de tipo entero
  94. int y;
  95. //se definena la variable constante intervalo de tipo entero
  96. const int intervalo = 10;
  97. //se definena la variable inte intervaloReposo de tipo entero
  98. const int intervaloReposo = intervalo/2;
  99.  
  100. //se definena la variable constante  numeroDeBotones de tipo entero
  101. const int numeroDeBotones = 4;
  102. //se definena la variable constante  butonPinDerecho de tipo entero
  103. const int butonPinDerecho = 3;
  104. //se definena la variable constante  butonPinArriba de tipo entero
  105. const int butonPinArriba  = 4;
  106. //se definena la variable constante  butonPinAbajo de tipo entero
  107. const int butonPinAbajo = 5;
  108. //se definena la variable constante  butonPinIzquierdode tipo entero
  109. const int butonPinIzquierdo = 6;
  110. //se definena el variable arreglo botones de tipo entero
  111. int botones[numeroDeBotones] = {butonPinDerecho, butonPinArriba, butonPinAbajo, butonPinIzquierdo};
  112.  
  113. void setup(){
  114.   for(int i = 0; i < numeroDeBotones; i++){
  115.     //pines de salida
  116.     pinMode(botones[i], INPUT);
  117.     //valor alto al pin digital
  118.     digitalWrite(botones[i], HIGH);
  119.   }
  120.   //comunicacion serial a 9600bps
  121.   Serial.begin(9600);
  122. }
  123.  
  124. void loop(){    
  125.   //valor de tensión en el pin analógico posicionPinX(A0)
  126.   valorX = analogRead(posicionPinX);
  127.   //se toma el valorX para la direccion x
  128.   x = map(valorX,0,1024,0,intervalo);
  129.  
  130.   //valor de tensión en el pin analógico posicionPinY(A1)
  131.   valorY = analogRead(posicionPinY);
  132.   //se toma el valorY para la direccion y
  133.   y = map(valorY,0,1024,0,intervalo);
  134.  
  135.   //si la palanca del Joystick no esta en reposo en la posicion x    
  136.   if(x > intervaloReposo || x < intervaloReposo){
  137.      //escribe el identificador de la coordenada x
  138.      Serial.write('x');
  139.      //escribe el valor en x
  140.      Serial.write(x);
  141.   }
  142.   //si la palanca del Joystick no esta en reposo en la posicion y
  143.   if(y > intervaloReposo || y < intervaloReposo){
  144.     //escribe el identificador de la coordenada y
  145.     Serial.write('y');
  146.     //escribe el valor y
  147.     Serial.write(y);
  148.   }  
  149.    
  150.   for(int i = 0; i < numeroDeBotones; i++){
  151.     //si hay evento de un boton del Joystick
  152.     if(digitalRead(botones[i]) == 0){
  153.       //escribe el identificador del boton
  154.       Serial.write('b');
  155.       //escribe el boton seleccionado
  156.       //Boton derecho   : 0
  157.       //Boton arriba    : 1
  158.       //Boton abajo     : 2
  159.       //Boton izquierdo : 3
  160.       Serial.write(i);
  161.       delay(10);
  162.     }
  163.   }  
  164.   delay(20);  
  165. }