#define up_button 8
#define down_button A1
#define left_button 9
#define right_button 12
#define stick_button A0
#define level_stick A3
#define vertical_stick A2
int
vertical_value=0;
int
level_value=0;
int
vertical_valuep=0;
int
level_valuep=0;
uint16_t key_delay_time = 20;
void
setup () {
pinMode (stick_button, INPUT);
pinMode (level_stick, INPUT);
pinMode (vertical_stick, INPUT);
pinMode (up_button, INPUT);
pinMode (down_button, INPUT);
pinMode (left_button, INPUT);
pinMode (right_button, INPUT);
Serial.begin (9600);
}
void
loop () {
vertical_value = analogRead (vertical_stick);
level_value = analogRead (level_stick);
if
(vertical_value != vertical_valuep) {
Serial.print (
"vertical="
);
Serial.println (vertical_value);
}
if
(level_value != level_valuep) {
Serial.print (
"level="
);
Serial.println (level_value);
}
vertical_valuep = vertical_value;
level_valuep = level_value;
if
(ispressed (up_button))
Serial.println (
"up pressed"
);
if
(ispressed (down_button))
Serial.println (
"down pressed"
);
if
(ispressed (left_button))
Serial.println (
"left pressed"
);
if
(ispressed (right_button))
Serial.println (
"right pressed"
);
if
(ispressed (stick_button))
Serial.println (
"stick pressed"
);
delay (10);
}
boolean ispressed (uint8_t key) {
if
(digitalRead (key) == 0) {
delay (key_delay_time);
if
(digitalRead (key) == 0)
return
true
;
}
return
false
;
}