#include <LiquidCrystal.h>
LiquidCrystal lcd(10, 11, 7, 6, 5, 4);
// Analog pinler ve sabitler
const int ustPin = A0;
const int altPin = A1;
const float rSabit = 4684.0;
float rOlculen = 0.0;
void setup() {
lcd.begin(16, 2);
Serial.begin(9600);
// LCD başlangıç animasyonu
for (int i = 16; i > 2; i--) {
int k = i + 6;
lcd.clear();
lcd.setCursor(i, 0);
lcd.print("EGITIM");
lcd.setCursor(k, 1);
lcd.print("SART!");
delay(200);
}
lcd.clear();
delay(500);
lcd.setCursor(4, 0);
lcd.print("EGITIM");
lcd.setCursor(10, 1);
lcd.print("SART!");
delay(2000);
lcd.clear();
}
void loop() {
// Analog değerleri okuma ve voltaja çevirme
float vUst = analogRead(ustPin) * (5.0 / 1023.0);
float vAlt = analogRead(altPin) * (5.0 / 1023.0);
// Seri monitöre voltajları yazdırma
Serial.print("vUst: ");
Serial.println(vUst);
Serial.print("vAlt: ");
Serial.println(vAlt);
if (vAlt > 0) {
// Direnç hesaplama
rOlculen = rSabit * ((vUst / vAlt) - 1);
// LCD ekranını güncelleme
lcd.clear();
lcd.print("Direnc Olcer");
lcd.setCursor(0, 1);
if (rOlculen < 1000) {
// Ohm cinsinden direnç
Serial.print("R = ");
Serial.print(rOlculen);
Serial.println(" Ohm");
lcd.print("R: ");
lcd.print(rOlculen);
lcd.print(" Ohm");
} else {
// kOhm cinsinden direnç
rOlculen /= 1000;
Serial.print("R = ");
Serial.print(rOlculen);
Serial.println(" kOhm");
lcd.print("R: ");
lcd.print(rOlculen);
lcd.print(" kOhm");
}
delay(1000); // 1 saniye bekle
} else {
// Ölçüm yapmadığında LCD mesajı
Serial.println("Olcum Yapiniz");
lcd.clear();
lcd.print("Direnc Olcer");
lcd.setCursor(0, 1);
lcd.print("Olcum Yapiniz");
delay(1000); // 1 saniye bekle
}
}