// Include Libraries
#include < Wire.h >
#include < Adafruit_BME280.h >
#include < Adafruit_Sensor.h >
#include < TFT_eSPI.h > // TFT display library
#include < VL53L0X.h > // Laser distance sensor library
#include < TinyGPS++.h >
#include < SPI.h >
#include < SD.h >
// Pin Definitions
#define MIC_PIN 34 // Microphone analog input
#define SPL_SENSOR_PIN 35 // SPL sensor analog input
#define LASER_TRIGGER_PIN 18 // Laser microphone trigger (optional)
#define ROTARY_PIN_A 25 // Rotary encoder pin A
#define ROTARY_PIN_B 26 // Rotary encoder pin B
#define BUTTON_PIN 27 // Button for menu select
#define SD_CS_PIN 5 // SD card chip select pin
// Components Initialization
TFT_eSPI tft = TFT_eSPI(); // Initialize TFT display
Adafruit_BME280 bme; // BME280 environmental sensor
VL53L0X distanceSensor; // Laser distance sensor
TinyGPSPlus gps; // GPS module
HardwareSerial gpsSerial(1); // GPS connected to Serial1
// Variables
float temperature, humidity, pressure, altitude;
uint16_t distance;
String currentMenu = "EQ Display"; // Start menu