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_SSD1306.h>
#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();
}