int green = 7;
int yellow = 6;
int blue = 5;
int white = 4;
void setup() {
Serial.begin(9600);
pinMode(green, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(white, OUTPUT);
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
digitalWrite(blue, LOW);
digitalWrite(white, LOW);
}
void loop() {
//FOR THE REAL HARDWARE THE VALUE MUST BE DETERMINED BY USING EIHTER MIN AND MAX VALUE OF THE SENSOR (0-1023) DEPENDS ON THE POSITION OF THE STICK. THESE VALUES I HAVE TESTED WITH MY JOYSTICK MODULE.
if(analogRead(A0) > 1000 ) // Y
{
Serial.println("TOP");
digitalWrite(green, HIGH);
digitalWrite(yellow, LOW);
digitalWrite(blue, LOW);
digitalWrite(white, LOW);
}
if(analogRead(A0) == 0) //-Y
{
Serial.println("BOTTOM");
digitalWrite(green, LOW);
digitalWrite(yellow, HIGH);
digitalWrite(blue, LOW);
digitalWrite(white, LOW);
}
if(analogRead(A1) > 1000 ) //-X
{
Serial.println("LEFT");
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
digitalWrite(blue, HIGH);
digitalWrite(white, LOW);
}
if(analogRead(A1) ==0 ) // X
{
Serial.println("RIGHT");
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
digitalWrite(blue, LOW);
digitalWrite(white, HIGH);
}
if(analogRead(A2) == 0 ) //Z
{
Serial.println("BUTTON PRESSED");
digitalWrite(green, HIGH);
digitalWrite(yellow, HIGH);
digitalWrite(blue, HIGH);
digitalWrite(white, HIGH);
}
else
{
Serial.println("---------------------");
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
digitalWrite(blue, LOW);
digitalWrite(white, LOW);
}
delay(10);
}