Localize prompts and fix seat belt logic

Replace English serial messages with Polish, rename `prevUpdate` to
`prevEngineUpdate` for clearer engine timing, simplify RFID checks by
removing unused variables, and correct seat‑belt logic to reset when
distance ≥ 200 cm.
This commit is contained in:
2026-06-17 03:13:22 +02:00
parent 7585dfe3e9
commit 05af6951b0
+10 -14
View File
@@ -13,7 +13,7 @@ Sonar sonar(TRIG_AND_ECHO_PIN, SONAR_MAX_DIST_CM);
RFIDReader rfid(SS_PIN, RST_PIN); RFIDReader rfid(SS_PIN, RST_PIN);
Engine engine(THROTTLE_PIN, CLUTCH_PIN, BRAKE_PIN); Engine engine(THROTTLE_PIN, CLUTCH_PIN, BRAKE_PIN);
unsigned long prevUpdate = 0; unsigned long prevEngineUpdate = 0;
bool carEnabled = false; bool carEnabled = false;
unsigned long prevSonarUpdate = 0; unsigned long prevSonarUpdate = 0;
bool seatBelts = false; bool seatBelts = false;
@@ -21,18 +21,18 @@ bool seatBelts = false;
void setup() { void setup() {
Serial.begin(9600); Serial.begin(9600);
Serial.println(F("Enter car mass in kg (e.g. 1200):")); Serial.println(F("Podaj wagę samochodu w kg (np. 1200):"));
while (true) { while (true) {
if (Serial.available() > 0) { if (Serial.available() > 0) {
float mass = Serial.parseFloat(); float mass = Serial.parseFloat();
if (mass > 0) { if (mass > 0) {
engine.setCarMass(mass); engine.setCarMass(mass);
Serial.print(F("Car mass set to ")); Serial.print(F("Waga samochodu ustawiona na: "));
Serial.print(mass); Serial.print(mass);
Serial.println(F(" kg")); Serial.println(F(" kg"));
break; break;
} else { } else {
Serial.println(F("Invalid value try again:")); Serial.println(F("Niepoprawna wartość, spróbuj ponownie:"));
} }
} }
} }
@@ -50,11 +50,6 @@ void setup() {
} }
void loop() { void loop() {
bool check = rfid.check();
bool matches = rfid.matches(AUTH_UID, AUTH_UID_SIZE);
bool rfidOk = check && matches;
if (rfid.check() && rfid.matches(AUTH_UID, AUTH_UID_SIZE)) { if (rfid.check() && rfid.matches(AUTH_UID, AUTH_UID_SIZE)) {
carEnabled = !carEnabled; carEnabled = !carEnabled;
@@ -71,22 +66,23 @@ void loop() {
display.updateGear(gear.getGearChar()); display.updateGear(gear.getGearChar());
unsigned long now = millis(); unsigned long now = millis();
float dt = (now - prevUpdate) / 1000.0f; float dt = (now - prevEngineUpdate) / 1000.0f;
if (dt >= 0.02f) { if (dt >= 0.02f) {
prevUpdate = now; prevEngineUpdate = now;
engine.update(dt, gear.getGear()); engine.update(dt, gear.getGear());
display.updateRPM(engine.getRPM()); display.updateRPM(engine.getRPM());
display.updateSpeed(engine.getSpeedKmh()); display.updateSpeed(engine.getSpeedKmh());
} }
if (millis() - prevSonarUpdate >= 100) { unsigned long now = millis();
prevSonarUpdate = millis(); if (now - prevSonarUpdate >= 100) {
prevSonarUpdate = now;
long dist = sonar.measure(); long dist = sonar.measure();
if (!seatBelts) { if (!seatBelts) {
if (dist < 200) seatBelts = true; if (dist < 200) seatBelts = true;
} }
else { else {
if (dist >= 200) seatBelts = true; if (dist >= 200) seatBelts = false;
} }
} }
} }