/*βββββββββββββββββββββββββββββββββββββββββββββββ
β β
β β DATOS GENERALES: β
β NOMBRE: Uso bΓ‘sico del Joystick. β
β FECHA: 10 de noviembre de 2024. β
β VERSIΓN: 1.0. β
β β
β AUTOR: M. en C. Esli Castellanos BerjΓ‘n. β
β E-MAIL: esli_castellanos@ucol.mx. β
β COMPAΓΓA: Universidad de Colima - Facultad de TelemΓ‘tica. β
β β
β uC: ATMEGA - 328p. β
β Nombre: Arduino UNO. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β β DESCRIPCIΓN DEL PROGRAMA: β
β Arquitectura de software que ejemplifica el uso del Joystick. β
β Voltaje de operaciΓ³n del joystick: 5V. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β β NOTAS: β
β β
β β
βββββββββββββββββββββββββββββββββββββββββββββββ*/
#define VERT_PIN A0
#define HORZ_PIN A1
#define SEL_PIN 2
#define VALOR_INICIAL 512
#define VALOR_TOPE 1023
#define PWM_MIN 0
#define PWM_MAX 255
#define LED_ARRIBA 10
#define LED_ABAJO 5
#define LED_DERECHA 3
#define LED_IZQUIERDA 9
#define LED_PRESIONAR 4
#define INCREMENTO( a ) a > VALOR_INICIAL ? map ( a, VALOR_INICIAL, VALOR_TOPE, PWM_MIN, PWM_MAX ) : 0
#define DECREMENTO( a ) a < VALOR_INICIAL ? map ( a, VALOR_INICIAL, VALOR_TOPE, PWM_MAX, PWM_MIN ) : 0
void setup ( void ) {
Serial.begin(115200);
pinMode(VERT_PIN, INPUT);
pinMode(HORZ_PIN, INPUT);
pinMode(SEL_PIN, INPUT_PULLUP);
pinMode(LED_ARRIBA, OUTPUT);
pinMode(LED_ABAJO, OUTPUT);
pinMode(LED_IZQUIERDA, OUTPUT);
pinMode(LED_DERECHA, OUTPUT);
pinMode(LED_PRESIONAR, OUTPUT);
}
void loop ( void ) {
analogWrite ( LED_ARRIBA, INCREMENTO ( analogRead ( VERT_PIN ) ) );
analogWrite ( LED_IZQUIERDA, INCREMENTO ( analogRead ( HORZ_PIN ) ) );
analogWrite ( LED_ABAJO, DECREMENTO ( analogRead ( VERT_PIN ) ) );
analogWrite ( LED_DERECHA, DECREMENTO ( analogRead ( HORZ_PIN ) ) );
digitalWrite( LED_PRESIONAR, digitalRead(SEL_PIN) ? LOW:HIGH );
int vert = analogRead(VERT_PIN);
int horz = analogRead(HORZ_PIN);
Serial.print("Eje Y: ");
Serial.println(vert);
Serial.print("Eje X: ");
Serial.println(horz);
Serial.print("BotΓ³n: ");
Serial.println(digitalRead(SEL_PIN));
delay(150);
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
led4:A
led4:C
r4:1
r4:2
r1:1
r1:2
r2:1
r2:2
joystick2:VCC
joystick2:VERT
joystick2:HORZ
joystick2:SEL
joystick2:GND
r5:1
r5:2
led5:A
led5:C
r3:1
r3:2