Arduino Ders 7: LDR (Fotometrik direnç) İle Değer Okumak

Geçen yazımızda sizlerle birlikte buton ile RGB led çalıştırdık. Bu yazımızda ise sizlerle birlikte fotometrik direnç (ldr direnç) ile değer okuyacağız. Fotometrik direnç, etrafta bulunan ışığın derecesine göre bilgisayara değerler gönderir. Bilgisayara bilgi gönderdiği için giriş birimidir. Bunun için gerekli olan malzemeler:

1 adet arduino uno kart,

1 adet breadboard,

1 adet ldr direnç,

1 adet 1k direnç renk kodu kahverengi,siyah,turuncu,

3 adet erkek-erkek jumper kablo,





Malzemelerimizi aldığımıza göre devremizi kuralım.

Devremizi kurmak için ilk olarak breadboard’ın herhangi bir yerine ldr direncimizi yerleştirelim.Ardından herhangi bir bacaktan jumper kablo yardımıyla kartta bulunan 5v pin’ine jumper kablo koyalım.Ardından diğer bacaktan bir boşluk bırakarak breadboard’ın eksi hattına 1k direnç koyalım. Breadboard’ın eksi hattından kartta bulunan GND pin’ine jumper kablo takalım.

En son olarak ise boşluk bıraktığımız yerden jumper kablo koyarak analog girişlerden A0 pin’ine bağlayalım.

Böylece devremizi kurduk. Hadi kod kısmına geçelim.

Kod kısmında ilk olarak “void setup” kısmının üst tarafına “int” yazalım ve “ldr” diye bir değişiklik atayalım. Ardından bağladığımız “A0” pin’i yazalım. Satırı bitirmek için “;” yazalım.

 

 

 

 

 

 

 

Burada son olarak “deger” diye bir değişken atayalım. Bunun için “int” yazalım ve atadığımız ismi yazalım. Satırı bitirmek için “;” koyalım. Böylece “void setup” kısmına geçelim.

 

 

 

 

 

 

 

 

“void setup” kısmında ise ilk olarak “pinMode” yazalım ve parantez açalım. Parantez içine ise atadığımız isim olan “ldr” yazalım ve virgül koyalım. Virgülden sonra giriş birimi olduğunu belirtmek için “INPUT” yazalım ve parantezi kapatalım. Ardından satırı bitirmek için “;” koyalım.

 

 

 

 

 

 

 

Diğer satırda bilgisayar ile kart arasında bir iletişim başlatalım. Bunun için “Serial.begin” yazalım ve parantez açalım. Parantez içine “9600” yazalım ve parantezi kapatalım. Satırı bitirmek için ise “;” koyalım.  Böylece “void loop” kısmına geçelim.

 

 

 

 

 

 

 

“void loop” kısmında ise “deger” değişkeninin içine ldr direncinden okuduğumuz değeri yazalım. Bunun için “deger” yazalım ve “=” koyalım. Ardından “analogRead” yazalım ve parantez açalım. İçine “ldr” yazalım ve parantezi kapatalım. Satırı bitirmek için “;” koyalım.

 

 

 

 

 

 

Diğer satırda ise okuduğumuz değeri seri ekrana yazdıralım. Bunun için “Serial.println” yazalım. Ardından parantez açalım ve  “deger” yazalım. Parantezi kapatalım ve satırı bitirmek için “;” koyalım.

 

 

 

 

 

 

 

En son olarak ise bir bekleme süresi koyalım. Eğer bekleme süresi koymazsak değerler çok hızlı gelir ve okunmayabilir. Bekleme süresi için “delay” yazalım ve parantez açalım. Parantezin içine “30” yazalım. Yani değeri okuduktan sonra 30 milisaniye bekledikten sonra en baştan başlar. Böylece kod kısmı da bitti.

Doğru kart ve port’u seçtikten sonra programı karta yükleyebiliriz.

 

 

 

 

 

NOT: Uğraşmak istemeyen arkadaşlar için hazır kod aşağıdadır. Lütfen yorum yazmayı unutmayın.

int ldr=A0;
int deger;

void setup() {
pinMode(ldr,INPUT);
Serial.begin(9600);
}

void loop() {
deger=analogRead(ldr);
Serial.println(deger);
delay(30);
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir