// Define constants for the x and y axis and the button pins
#define xAxis 34
#define yAxis 35
#define LEFT 5
#define RIGHT 2
#define UP 17
#define DOWN 18
#define StopLEFT 4
#define StopRIGHT 15
#define StopUP 16
#define StopDOWN 14
bool led1Off = true;
bool led2Off = true;
bool led3Off = true;
bool led4Off = true;
void setup() {
// Initialize serial communication at 115200 bits per second:
Serial.begin(115200);
pinMode(xAxis, INPUT);
pinMode(yAxis, INPUT);
pinMode(StopLEFT, INPUT);
pinMode(StopRIGHT, INPUT);
pinMode(StopUP, INPUT);
pinMode(StopDOWN, INPUT);
pinMode(LEFT, OUTPUT);
pinMode(RIGHT, OUTPUT);
pinMode(UP, OUTPUT);
pinMode(DOWN, OUTPUT);
}
void loop() {
// Read the analog value for x,y axis
int xValue = analogRead(xAxis);
int yValue = analogRead(yAxis);
// print out the values
// Serial.println(" %d %d \n",xValue,yValue);
// delay(300); // Delay between reads
if(xValue <2000)
{
if (digitalRead(StopLEFT)== LOW )
{
digitalWrite(LEFT, HIGH);
Serial.println("LEFT");
}
else if (digitalRead(StopLEFT)== HIGH)
{
Serial.println("StopLEFT");
digitalWrite(LEFT, LOW);
}
}
else if(xValue > 2100 )
{
if(digitalRead(StopRIGHT)== LOW)
{
Serial.println("RIGHT");
digitalWrite(RIGHT, HIGH);
}
else if (xValue > 2100)
{
Serial.println("StopRIGHT");
digitalWrite(RIGHT, LOW);
}
}
else
{
StopRightLeft();
}
//***************************************************************
if(yValue < 2000)
{
if (digitalRead(StopUP)== LOW )
{
digitalWrite(UP, HIGH);
Serial.println("UP");
}
else if ( digitalRead(StopUP)== HIGH)
{
digitalWrite(UP, LOW);
Serial.println("StopUP");
}
}
else if(yValue > 2100)
{
if(digitalRead(StopDOWN)== LOW)
{
digitalWrite(DOWN, HIGH);
Serial.println("DOWN");
}
else if(digitalRead(StopDOWN)== HIGH)
{
digitalWrite(DOWN, LOW);
Serial.println("StopDOWN");
}
}
else
{
StopUpDown();
}
delay(50); // Delay between reads
}
void StopUpDown(){
digitalWrite(UP, LOW);
digitalWrite(DOWN, LOW);
}
void StopRightLeft(){
digitalWrite(LEFT, LOW);
digitalWrite(RIGHT, LOW);
}