Files
projekt-arduino/Projekt_Arduino.ino
T
GarandPLG 17f888a11c Rename Projekt.ino to Projekt_Arduino.ino
Rename Projekt.ino to Projekt_Arduino.ino

- Rename the main sketch file and adjust references accordingly.
- Clean up Config.h spacing and delete unused turn‑signal constants.
- Remove direction‑related LCD character data and its update logic.
- Introduce Display::startOrEnd to control LCD power on/off.
- Simplify display initialization and eliminate the old delay in the
  loop.
- Add serial debug output for the car enable state.
2026-06-16 22:32:39 +02:00

61 lines
1.3 KiB
Arduino

#include <Wire.h>
#include "Config.h"
#include "Display.h"
#include "Gear.h"
// #include "Sonar.h"
#include "RFID.h"
#include "Engine.h"
Display display;
GearSelector gear(GEAR_X_PIN, GEAR_Y_PIN, GEAR_THRESH_LOW, GEAR_THRESH_HIGH);
// Sonar sonar(TRIG_PIN, ECHO_PIN, SONAR_MAX_DIST_CM);
RFIDReader rfid(SS_PIN, RST_PIN);
Engine engine(THROTTLE_PIN, CLUTCH_PIN, BRAKE_PIN);
unsigned long prevUpdate = 0;
bool carEnabled = false;
void setup() {
Serial.begin(9600);
pinMode(IN_1, OUTPUT);
pinMode(IN_2, OUTPUT);
rfid.begin();
display.begin(LCD_COLS, LCD_ROWS);
engine.begin();
}
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)) {
carEnabled = !carEnabled;
Serial.print("Auto działa: ");
Serial.println(carEnabled);
display.startOrEnd(carEnabled);0
};
if (carEnabled) {
if (gear.update())
display.updateGear(gear.getGearChar());
unsigned long now = millis();
float dt = (now - prevUpdate) / 1000.0f;
if (dt >= 0.02f) {
prevUpdate = now;
engine.update(dt, gear.getGear());
display.updateRPM(engine.getRPM());
display.updateSpeed(engine.getSpeedKmh());
}
// long dist = sonar.measure();
// Serial.println(dist);
}
}