// Define constants for the x and y axis and the button pins
#define xAxis 2
#define yAxis 1
#define led1Pin 0
#define led2Pin 3
#define led3Pin 6
#define led4Pin 7
#define stop1Pin 4
#define stop2Pin 5
#define stop3Pin 8
#define stop4Pin 9
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(stop1Pin, INPUT);
pinMode(stop2Pin, INPUT);
pinMode(stop3Pin, INPUT);
pinMode(stop4Pin, INPUT);
pinMode(led1Pin, OUTPUT);
pinMode(led2Pin, OUTPUT);
pinMode(led3Pin, OUTPUT);
pinMode(led4Pin, OUTPUT);
}
void loop() {
// Read the analog value for x,y axis
int xValue = analogRead(xAxis);
int yValue = analogRead(yAxis);
// print out the values
Serial.printf("Joystick value is %d , %d \n",xValue,yValue);
// delay(300); // Delay between reads
if(xValue < 4090 && digitalRead(stop1Pin)== LOW && led1Off)
{
digitalWrite(led1Pin, HIGH);
// digitalWrite(led2Pin, LOW);
led1Off = false;
}
if (xValue < 4090 && digitalRead(stop1Pin)== HIGH && !led1Off)
{
digitalWrite(led1Pin, LOW);
led1Off = true;
}
if(xValue > 4112 && digitalRead(stop2Pin)== LOW && led2Off)
{
// digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, HIGH);
led2Off = false;
}
if(xValue > 4112 && digitalRead(stop2Pin)== HIGH && !led2Off)
{
digitalWrite(led2Pin, LOW);
led2Off = true;
}
if(xValue == 4096)
{
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, LOW);
led1Off = true;
led2Off = true;
}
//***************************************************************
if(yValue < 4090 && digitalRead(stop3Pin)== LOW && led3Off)
{
digitalWrite(led3Pin, HIGH);
// digitalWrite(led2Pin, LOW);
led3Off = false;
}
if (yValue < 4090 && digitalRead(stop3Pin)== HIGH && !led3Off)
{
digitalWrite(led3Pin, LOW);
led3Off = true;
}
if(yValue > 4112 && digitalRead(stop4Pin)== LOW && led4Off)
{
// digitalWrite(led1Pin, LOW);
digitalWrite(led4Pin, HIGH);
led4Off = false;
}
if(yValue > 4112 && digitalRead(stop4Pin)== HIGH && !led4Off)
{
digitalWrite(led4Pin, LOW);
led4Off = true;
}
if(yValue == 4096)
{
digitalWrite(led3Pin, LOW);
digitalWrite(led4Pin, LOW);
led3Off = true;
led4Off = true;
}
delay(300); // Delay between reads
}Loading
esp32-s2-devkitm-1
esp32-s2-devkitm-1