Korekta predkosci i refaktor nazw zmiennych

This commit is contained in:
sieja
2025-07-01 17:51:21 +02:00
parent 7e814167ca
commit d20fbbffd7

View File

@@ -5,7 +5,7 @@
#include <Adafruit_GFX.h> #include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h> #include <Adafruit_SSD1306.h>
#define Version "2.2.6" #define Version "2.2.8"
////2DO: ////2DO:
// menu do zmiany zakresu predkosci biegów // menu do zmiany zakresu predkosci biegów
// menu do zmiany zakresu kątów biegów, obwodu koła, ilosci magnesow // 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 MagnetsCnt 8
#define ms2kmh 3.6 #define ms2kmh 3.6
#define Pi 3.1416 #define Pi 3.1416
#define TimeToSleep 5000 //5 sec #define TimeToSleepMs 5000 //5 sec
#define LongTimeToSleep 150000 //150 sec #define LongTimeToSleepMs 150000 //150 sec
#define GearDelayMs 1500
Servo myservo; Servo myservo;
//SPEED //SPEED
@@ -65,16 +65,16 @@ unsigned long loopTime = millis();
int currentGear = 1; int currentGear = 1;
int calculatedGear = 1; int calculatedGear = 1;
//Przedziały dia biegów //Przedziały dia biegów
float spdRange1and2 = 7.5; float spdRange1and2 = 8.5;
float spdRange2and3 = 11.0; float spdRange2and3 = 13.0;
float spdRange3and4 = 15.5; float spdRange3and4 = 16.5;
float spdRange4and5 = 18.0; float spdRange4and5 = 18.0;
float spdRange5and6 = 24.5; float spdRange5and6 = 24.5;
float spdRange6and7 = 29.9; float spdRange6and7 = 29.9;
float spdRange7and8 = 36.5; float spdRange7and8 = 36.5;
double calcTimeDiff = 0.0; double calcTimeDiff = 0.0;
double lastGearCalc = millis(); double lastGearCalc = millis();
double speedDiff = 0.80; double speedDiffKmh = 0.80;
double accelerationShift = 1.0; double accelerationShift = 1.0;
int displGear = 9 - currentGear; int displGear = 9 - currentGear;
float currentGearRangeLower = 0; float currentGearRangeLower = 0;
@@ -144,9 +144,9 @@ void setup() {
display.setCursor(75, 16); display.setCursor(75, 16);
display.println(MagnetsCnt); display.println(MagnetsCnt);
display.setCursor(0, 30); display.setCursor(0, 30);
display.println("TimeToSleep:"); display.println("TimeToSleepMs:");
display.setCursor(75, 30); display.setCursor(75, 30);
display.println(TimeToSleep); display.println(TimeToSleepMs);
display.setCursor(0, 45); display.setCursor(0, 45);
display.println("ServoMaxAgl:"); display.println("ServoMaxAgl:");
display.setCursor(75, 45); display.setCursor(75, 45);
@@ -261,7 +261,7 @@ void calcSpeed(){
calcSpeedAvg = (calcSpeed1 + calcSpeed2 + calcSpeed3)/3; calcSpeedAvg = (calcSpeed1 + calcSpeed2 + calcSpeed3)/3;
calcSpeedMain = calcSpeedAvg; calcSpeedMain = calcSpeedAvg;
if(abs(raw_speed - calcSpeed2) >= speedDiff) { if(abs(raw_speed - calcSpeed2) >= speedDiffKmh) {
if ((raw_speed - calcSpeed2) < 0) { if ((raw_speed - calcSpeed2) < 0) {
speedTrend = -1; speedTrend = -1;
} else { } else {
@@ -311,8 +311,8 @@ void calcGear() {
}; };
calcTimeDiff = millis() - lastGearCalc; calcTimeDiff = millis() - lastGearCalc;
if (calcTimeDiff < 1500 && (currentGear - calculatedGear) == 1){ if (calcTimeDiff < GearDelayMs && (currentGear - calculatedGear) == 1){
currentGear = calculatedGear; currentGear = currentGear;
pointerVisibility = 0; pointerVisibility = 0;
} else { } else {
currentGear = calculatedGear; currentGear = calculatedGear;
@@ -354,7 +354,7 @@ void loop() {
calcSpeed1 = 0.0; calcSpeed1 = 0.0;
} }
//przejście w tryb uśpienia za przuycisku lub czasu //przejście w tryb uśpienia za przuycisku lub czasu
if ((digitalRead(Btn2) == HIGH)|| (sleepSpd >= LongTimeToSleep)) { if ((digitalRead(Btn2) == HIGH)|| (sleepSpd >= LongTimeToSleepMs)) {
prepareTurnOff(); prepareTurnOff();
} }