#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET -1
Adafruit_SSD1306 display(OLED_RESET);

int sensorValuehg;
int atmpsi = 14.6; //Pressione atmosferica locale
float mapval = 0;
float boost = 0;

const float SensorOffset = 112.0;

//------------------------------------------------------------------------------
void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
  display.setTextSize(2);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0,0);
  display.println("Mazda MX-5");
  display.display();
  delay(1000);
  display.clearDisplay();
}
//------------------------------------------------------------------------------
void loop() {
  mapval = analogRead(A0);
  float voltage = mapval * 0.0048828125;
  boost = (((float)((float)voltage - 5 * 0.04) / (5 * 0.0012858) / 100)) - 1;

  if (boost > 0.01) {
    display.setTextSize(2);
    display.clearDisplay();
    display.setCursor(0,0);
    display.println("+");
    display.setCursor(24,0);
    display.println(boost,2);
    display.setCursor(90,1);
    display.display();
    delay(100);
  }

  if (boost < -0.01) {
    display.setTextSize(2);
    display.clearDisplay();
    display.setCursor(0,0);
    display.println(boost,2);
    display.setCursor(88,1);
    display.display();
    delay(100);
  }  
}