/**************************************************************************
 Торсиометр Дорохова. Для версии торсиометра 2.5. версия ПО-3.0. на SSD1306
 Для непрерывного измерения. 
**************************************************************************/

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4 // Пин сброса 

/* Создаем объект дисплея SSD1306, подключенного к I2C (выводы SDA, SCL)*/
Adafruit_SSD1306 display(OLED_RESET);

int pin = 7;                      // вход 7 для замеров
int val[8];                      //создаём массив на 8 для переменных
int korr;                          // переменная коррекции

void setup()
{
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Инициализирует дисплей. Адрес 0x3C для 128x32                    
  pinMode(pin, INPUT);          // ножка 7 как вход
  korr = 13300;                 // присвоить значение коррекции
  display.clearDisplay(); //очищаем дисплей
  display.display(); //выводим на дисплей все, что было задано
}
void loop()
{
    val[0] = pulseIn (pin, HIGH);
    val[1] = pulseIn (pin, HIGH);
    val[2] = pulseIn (pin, HIGH);
    val[3] = pulseIn (pin, HIGH);
    val[4] = ((val[0]-korr)+(val[1]-korr)+(val[2]-korr)+(val[3]-korr))/4;
    val[0] = pulseIn (pin, HIGH);
    val[1] = pulseIn (pin, HIGH);
    val[2] = pulseIn (pin, HIGH);
    val[3] = pulseIn (pin, HIGH);
    val[5] = ((val[0]-korr)+(val[1]-korr)+(val[2]-korr)+(val[3]-korr))/4;
    val[6] = max(val[4],val[5]);
     display.clearDisplay(); //очищаем дисплей
     display.setTextSize(3); //размер букв        
     display.setTextColor(WHITE); //цвет букв
     display.setCursor(0,0); //координаты текста
     display.println(val[6]);
     display.display(); //выводим на дисплей все, что было задано         

     delay(250);
   
} 
