07/27/2024

Arduino Ohm Metre (Direnç Değeri Ölçer)

Arduino ile Direnç Değeri Ölçümü

R1 direnci sabit dirençtir. R1 olarak kullandığımız direncin ohm cinsinden değerini kod içerisindeki R değişkenine atamalıyız. Bu örnekte R1 direnci olarak 10K direnç kullanılmıştır. Multimetre ile ölçümü sonucu gerçek değeri 9.98K olarak tespit edildiği için R değişkenine 9980 değeri atanmıştır. R2 ise ölçmek istediğimiz dirençtir.

Ohm Ölçer Arduino Kodu:

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display; 

int analogPin=0;
int ap=0;
float Vout=0;
float R=9980; //Known Resistor value in Ohm
float resistor=0;
float buffer=0;
String symbol;
float Data=0;             

void ekrana_yaz(void) { 
  display.clearDisplay();
  display.setTextColor(WHITE);

  display.setCursor(0,0);
  display.setTextSize(2);
  display.print("Direnc");

  display.setCursor(0,20);
  display.setTextSize(1);
  display.print(resistor);
  display.setCursor(86,20);
  display.setTextSize(1);
  display.print("Ohm");
  
  display.setTextSize(2);
  display.setCursor(0,40);
  display.setTextSize(2);
  display.print(Data); 
  display.setCursor(84,40);
  display.setTextSize(2);
  display.print(symbol);
  display.display();  
}

void setup() 
{
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
}

void loop()
{
    
ap=analogRead(analogPin);
buffer=ap*5;
Vout=(buffer)/1024.0;
buffer=(5/Vout)-1;
resistor=R*buffer;
Data=resistor;
    
if (Data<999) {
  symbol = "R";
  ekrana_yaz();
}
if (Data>999 && Data<999999) {
  Data=Data/1000;
  symbol = "K";
  ekrana_yaz();
}
if (Data>999999) {
  Data=Data/1000000;
  symbol = "M";
  ekrana_yaz();
}
   ekrana_yaz ();
   delay(1000);
  }