// Pin Definitions
#define TDS_PIN 34 // TDS sensor connected to GPIO34 (ADC1)
#define BUZZER_PIN 13 // Buzzer connected to GPIO13
// Calibration Values
#define Tds_Limit 500 // TDS limit for clean water (adjust for lake water)
#define TDS_FACTOR 0.5 // Default TDS factor (calibrate this value)
#define REF_VOLTAGE 3.3 // ESP32 Reference Voltage (5V)
#define ADC_RESOLUTION 4095 // 12-bit ADC resolution for ESP32
void setup() {
Serial.begin(115200);
pinMode(TDS_PIN, INPUT);
pinMode(BUZZER_PIN, OUTPUT);
}
void loop() {
// Read TDS Sensor Data
float TdsSensor = analogRead(TDS_PIN);
float voltage = (TdsSensor * REF_VOLTAGE) / ADC_RESOLUTION;
float tdsValue = (voltage / TDS_FACTOR) * 100;
// Display alerts on Serial Monitor
Serial.print("TDS Value: ");
Serial.print(tdsValue);
Serial.println(" ppm");
if (tdsValue > Tds_Limit) {
digitalWrite(BUZZER_PIN, HIGH);
}
else {
digitalWrite(BUZZER_PIN, LOW);
delay(1000);}
}