Kodlama Arası #8: LDR İle Led Yakmak

Geçen yazımızda sizlerle birlikte LDR ile değer ölçtük. Bu yazımızda ise LDR ile ölçtüğümüz değerler arasında led yakacağız. Bunun için gerekli olan malzemeler:

1 adet arduino uno,

1 adet breadboard,

1 adet LDR,

1 adet yeşil led,

1 adet 1k direnç,

1 adet 330 ohmluk direnç,

4 adet jumper kablo erkek-erkek,

Malzemelerimizi aldığımıza göre devremizi kurmaya başlayalım.


İlk olarak breadboard’ın herhangi bir yerine LDR takalım ve bir bacağından kartta bulunan 5v girişine takalım.

Diğer bacağından ise bir boşluk bırakarak 1k direncimizi breadboard’ın eksi hattına bağlayalım.

Boşluk bıraktığımız yerden ise kartta bulunan A0 girişine jumper kablo koyalım.

Ardından led’imizi yerleştirelim ve uzun bacağından kartta bulunan 8 numaralı pin girişine jumper koyalım.

Kısa bacaktan ise breadboard’ın eksi hattı arasına 330 ohmluk direnç koyalım.

En son olarak ise breadboard’ın eksi hattından GND pin’ine jumper koyalım.

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

 

İlk önce “void setup” kısmının üstüne led, LDR ve “Deger” diye değişkenler tanıtalım. Bunun için ilk olarak “int” yazalım ve led diye değişken atayalım. “=” koyalım ve led’in bağlı olduğu pin 8 numaralı pin olduğundan dolayı 8 yazalım ve satırı bitirmek için “;” koyalım.

 

 

 

 

 

LDR tanıtmak için de “int” komutunu kullanalım ve LDR diye isim atayalım. “=” ardından bağlı olduğu pin olan A0 yazalım ve satırı bitirmek için “;” koyalım.

 

 

 

 

 

 

 

Bu kısımda en son olarak “int” yazalım ve “deger” değişkenini atayalım. Satırı bitirmek için ise “;” koyalım. Artık “void setup” kısmına geçebiliriz.

 

 

 

 

 

 

 

 

“void setup” kısmında ilk olarak LDR değişkenini giriş birimi olarak tanıtalım. Bunun için “pinMode” komutunu kullanalım. Parantez açalım ve içine “LDR” yazalım. Virgül koyalım ve “INPUT” yazalım. Parantezi kapatalım ve satırı bitirmek için “;” koyalım.

 

 

 

 

 

 

Diğer satırda yine “pinMode” yazalım ve parantez açalım. Parantez içine atadığımız isim olan “led” yazalım ve virgül koyalım. Ardından çıkış birimi olduğunu göstermek için “OUTPUT” yazalım. Parantezi kapayalım ve satırı bitirmek için “;” koyalım.

 

 

 

 

 

 

 

“void setup” kısmında son olarak kart ile bilgisayar 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 setup” kısmı bitti. “void loop” kısmına geçebiliriz.

 

 

 

 

 

 

 

“void loop” kısmında ilk olarak “deger” değişkenini yazalım ve “=” koyalım. “analogRead” yazalım ve parantez açalım. İçine “LDR” yazalım ve parantezi kapatalım. Satırı bitirmek için ise “;” yazalım.

 

 

 

 

 

 

 

 

“deger” değişkeni içine yazdırdığımız kodları seri ekranda görmek için “Serial.println” yazalım ve parantez açalım. Parantez içine “deger” yazalım ve parantezi kapatalım. Satırı bitirmek için ise her zaman ki gibi “;” koyalım.

 

 

 

 

 

 

 

 

 

Bir bekleme süresi koyalım. Bunun için “delay” yazalım ve parantez açalım. İçine 30 yazalım ve parantezi kapatalım. Satırı  bitirmek için ise “;” koyalım.

 

 

 

 

 

 

 

 

 

 

Ardından diğer satırda “if” yazalım ve parantez açalım. İçine “deger<340” yazalım. Parantrzi kapatalım ve bir süslü parantez açalım. Bu satırda yapmış olduğumuz şey “eğer deger değişkeni 340’tan küçük olursa aşağıdakileri yap” komutunu verdik.

 

 

 

 

 

 

 

 

 

 

Süslü parantezden sonra “digitalWrite” yazalım ve parantez açalım. İçine “led” yazalım ve virgül koyalım. Sonrasında “HIGH” yazalım ve parantezi kapatalım. Satırı bitirmek için ise “;” koyalım. Önceki satırda açtığımız süslü parantezi bu satırın altında ki satırda kapatalım. Bu satırda yazdığımız komut ise eğer yukarıda ki olasılık gerçekleşirse led’imiz yanacaktır.

 

 

 

 

 

 

 

 

 

 

Diğer satırda “else” komutunu yazalım ve süslü parantez açalım. Bu satırda ise eğer “deger” değişkeni 340 üstü bir değer olursa ihtimalidir.

 

 

 

 

 

 

 

 

 

 

 

 

Süslü parantezden sonra “digitalWrite” yazalım ve parantez açalım. İçine led yazalım ve virgül koyalım. Ardından led’i söndürmek için “LOW” yazalım. Parantezi kapatalım ve satırı bitirmek için “;” koyalım. Bu satırdan sonra açtığımız süslü parantezi kapayalım.

Böylece kod kısmı da bitti. Doğru kart ve port’u seçtikten sonra programı karta yükleyebilirsiniz.

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

int led=8;
int LDR=A0;
int deger;

void setup() {
pinMode(LDR,INPUT);
pinMode(led,OUTPUT);
Serial.begin(9600);
}

void loop() {
deger=analogRead(LDR);
Serial.println(LDR);
delay(30);
if (deger&lt;340){
digitalWrite(led,HIGH);
}
else {
digitalWrite(led,LOW);
}
}

Bir cevap yazın

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