#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define LED_BUILTIN 8
#define Horz 0
#define Vert 1
#define JoyStk 2
#define Pushbutton 10
Adafruit_SSD1306 oled(128, 64, &Wire, -1);
boolean PBState = digitalRead(Pushbutton);
unsigned long currentMillis;
unsigned long previousMillis = 0; // interval delay.(Will release CPU while delay runs
long interval = 1000;
int incomingInt = 0;
char inputBuffer[16];
//**************************************************************************************
void setup() {
Serial.begin(9600);
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("failed to start SSD1306 OLED"));
while (1);
}
delay(2000); // wait two seconds for initializing
pinMode(Pushbutton, INPUT_PULLUP);
pinMode(LED_BUILTIN, OUTPUT);
oled.clearDisplay(); // clear display
oled.setTextSize(1); // set text size
oled.setTextColor(WHITE); // set text color
}
//**************************************************************************************
void loop() {
int valV = analogRead(Vert); // read the input pin
int valH = analogRead(Horz); // read the input pin
int valJoyS = analogRead(JoyStk); // read the input pin
PBState = digitalRead(Pushbutton);
Serial.print(valV);
Serial.print('\n');
Serial.print(valH);
Serial.print('\n');
Serial.print(valJoyS);
Serial.print('\n');
Serial.print(PBState);
Serial.print('\n');
//********************************************************************************************************
if (Serial.available() > 0) { // Check if the required number of bytes is available
String RdvalV = Serial.readStringUntil('\n');
String RdvalH = Serial.readStringUntil('\n');
String RdvalJS = Serial.readStringUntil('\n');
String RdvalPB = Serial.readStringUntil('\n');
oled.clearDisplay(); // clear display
oled.setCursor(0, 10); // set position to display (x,y)
oled.print("Vert: ");
oled.println(RdvalV);
oled.setCursor(0, 20); // set position to display (x,y)
oled.print("Horz: ");
oled.println(RdvalH);
oled.setCursor(0, 30); // set position to display (x,y)
oled.print("JoySt: ");
oled.println(RdvalJS);
oled.setCursor(0, 40); // set position to display (x,y)
oled.print("PushB: ");
oled.println(RdvalPB);
oled.display();
}
delay(10);
} //end void loop
//*************************************************************************************************************************************************
void setDelay() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
previousMillis = currentMillis;
}
}