Korekta predkosci i refaktor nazw zmiennych
This commit is contained in:
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user