#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Inisialisasi LCD (alamat I2C 0x27, 16 karakter, 2 baris)
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Pin potensiometer
const int potPin = PA0; // Pin ADC di STM32 Blue Pill
void setup() {
// Inisialisasi LCD
lcd.begin(16, 2); // Tambahkan parameter jumlah kolom dan baris
lcd.backlight(); // Aktifkan lampu latar LCD
lcd.setCursor(0, 0);
lcd.print("TDS Monitor");
// Inisialisasi serial monitor (opsional, untuk debugging)
Serial.begin(9600);
}
void loop() {
// Membaca nilai ADC dari potensiometer
int potValue = analogRead(potPin);
// Konversi nilai ADC (0-4095) menjadi nilai ppm (misalnya 0-1000 ppm)
float tdsValue = map(potValue, 0, 4095, 0, 1000);
// Menampilkan nilai TDS pada LCD
lcd.setCursor(0, 1);
lcd.print("TDS: ");
lcd.print(tdsValue);
lcd.print(" ppm ");
// Debugging ke Serial Monitor (opsional)
Serial.print("ADC Value: ");
Serial.print(potValue);
Serial.print(" -> TDS: ");
Serial.println(tdsValue);
delay(500); // Delay untuk pembacaan berikutnya
}