diff --git a/LeonardoProMicro/AutomatedGearShifter/AutomatedGearShifter.ino b/LeonardoProMicro/AutomatedGearShifter/AutomatedGearShifter.ino index f41a082..90ad7fc 100644 --- a/LeonardoProMicro/AutomatedGearShifter/AutomatedGearShifter.ino +++ b/LeonardoProMicro/AutomatedGearShifter/AutomatedGearShifter.ino @@ -6,7 +6,7 @@ #include #include -#define Version "1.15.6" +#define Version "1.15.7" ////2DO: //diagnostyka i/lub przeciwdziałanie skokom predkosci //dlaczego wskaznik odnosi sie do poprawnego biegu a w tym czasie bieg jest zly? bo czas ponizej 2s? @@ -39,6 +39,7 @@ Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); #define ms2kmh 3.6 #define Pi 3.1416 #define TimeToSleep 5000 //5 sec +#define LongTimeToSleep 150000 //150 sec Servo myservo; @@ -211,7 +212,7 @@ void loop() { speed_last_2 = 0.0; speed_last_3 = 0.0; //przejście w tryb uśpienia za pomocą odpowiedniego ustawienia koła i magnesu - if (digitalRead(PinInSpeed) == LOW) { + if ((digitalRead(PinInSpeed) == LOW)|| (sleepSpd >= LongTimeToSleep)) { display.fillCircle(75, 10, 10, SSD1306_WHITE); if (sleepSpd >= TimeToSleep) { prepareTurnOff(); @@ -341,9 +342,9 @@ void calcGear() { - if ((speed4Gear / speed4Gear_2) >= 1.1) { // przyspieszenie DO weryfikacji czy nie trzeba zamienic na czas lub zwiększyc wartość + if ((speed4Gear / speed4Gear_2) >= 1.5) { // przyspieszenie DO weryfikacji czy nie trzeba zamienic na czas lub zwiększyc wartość speedTrend = 1; - } else if ((speed4Gear - speed4Gear_2) <= -0.5) { + } else if ((speed4Gear - speed4Gear_2) <= -1.5) { speedTrend = -1; } else { speedTrend = 0;