#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// LCD adresini ve boyutlarını belirtin
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int analogPin = A0; // Voltaj ölçümünün yapıldığı pin
const float referenceVoltage = 5.0; // Arduino'nun referans voltajı
const float referenceResistance = 10000.0; // 10kΩ referans direnç
void setup() {
lcd.begin(0x27, 16, 2); // I2C ekran ile kullanırken sadece lcd.begin() yeterlidir
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Resistance Meter");
delay(2000);
}
void loop() {
int sensorValue = analogRead(analogPin);
float voltage = sensorValue * (referenceVoltage / 1023.0);
// Hatalı ölçümler için kontrol
if (voltage == 0) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Error: No Input");
delay(2000);
return;
}
// Direnç hesaplaması için voltaj bölücü formülü
float resistance = referenceResistance * (referenceVoltage / voltage - 1);
// LCD ekranı güncelle
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Resistance:");
lcd.setCursor(0, 1);
lcd.print(resistance, 2); // 2 ondalık basamağı gösterir
lcd.print(" Ω");
delay(1000); // Ölçüm aralığını ayarla
}