From d20fbbffd75c5e7ec9700d4a507998c6652ac023 Mon Sep 17 00:00:00 2001 From: sieja Date: Tue, 1 Jul 2025 17:51:21 +0200 Subject: [PATCH] Korekta predkosci i refaktor nazw zmiennych --- .../ESP_AutomatedGearShifter.ino | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/ESP32/ESP_AutomatedGearShifter/ESP_AutomatedGearShifter.ino b/ESP32/ESP_AutomatedGearShifter/ESP_AutomatedGearShifter.ino index b398d55..803f17f 100644 --- a/ESP32/ESP_AutomatedGearShifter/ESP_AutomatedGearShifter.ino +++ b/ESP32/ESP_AutomatedGearShifter/ESP_AutomatedGearShifter.ino @@ -5,7 +5,7 @@ #include #include -#define Version "2.2.6" +#define Version "2.2.8" ////2DO: // menu do zmiany zakresu predkosci biegów // menu do zmiany zakresu kątów biegów, obwodu koła, ilosci magnesow @@ -35,9 +35,9 @@ Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); #define MagnetsCnt 8 #define ms2kmh 3.6 #define Pi 3.1416 -#define TimeToSleep 5000 //5 sec -#define LongTimeToSleep 150000 //150 sec - +#define TimeToSleepMs 5000 //5 sec +#define LongTimeToSleepMs 150000 //150 sec +#define GearDelayMs 1500 Servo myservo; //SPEED @@ -65,16 +65,16 @@ unsigned long loopTime = millis(); int currentGear = 1; int calculatedGear = 1; //Przedziały dia biegów -float spdRange1and2 = 7.5; -float spdRange2and3 = 11.0; -float spdRange3and4 = 15.5; +float spdRange1and2 = 8.5; +float spdRange2and3 = 13.0; +float spdRange3and4 = 16.5; float spdRange4and5 = 18.0; float spdRange5and6 = 24.5; float spdRange6and7 = 29.9; float spdRange7and8 = 36.5; double calcTimeDiff = 0.0; double lastGearCalc = millis(); -double speedDiff = 0.80; +double speedDiffKmh = 0.80; double accelerationShift = 1.0; int displGear = 9 - currentGear; float currentGearRangeLower = 0; @@ -144,9 +144,9 @@ void setup() { display.setCursor(75, 16); display.println(MagnetsCnt); display.setCursor(0, 30); - display.println("TimeToSleep:"); + display.println("TimeToSleepMs:"); display.setCursor(75, 30); - display.println(TimeToSleep); + display.println(TimeToSleepMs); display.setCursor(0, 45); display.println("ServoMaxAgl:"); display.setCursor(75, 45); @@ -261,7 +261,7 @@ void calcSpeed(){ calcSpeedAvg = (calcSpeed1 + calcSpeed2 + calcSpeed3)/3; calcSpeedMain = calcSpeedAvg; - if(abs(raw_speed - calcSpeed2) >= speedDiff) { + if(abs(raw_speed - calcSpeed2) >= speedDiffKmh) { if ((raw_speed - calcSpeed2) < 0) { speedTrend = -1; } else { @@ -311,8 +311,8 @@ void calcGear() { }; calcTimeDiff = millis() - lastGearCalc; - if (calcTimeDiff < 1500 && (currentGear - calculatedGear) == 1){ - currentGear = calculatedGear; + if (calcTimeDiff < GearDelayMs && (currentGear - calculatedGear) == 1){ + currentGear = currentGear; pointerVisibility = 0; } else { currentGear = calculatedGear; @@ -354,7 +354,7 @@ void loop() { calcSpeed1 = 0.0; } //przejście w tryb uśpienia za przuycisku lub czasu - if ((digitalRead(Btn2) == HIGH)|| (sleepSpd >= LongTimeToSleep)) { + if ((digitalRead(Btn2) == HIGH)|| (sleepSpd >= LongTimeToSleepMs)) { prepareTurnOff(); }