Arduino İle Karaşimşek Devresi Yapımı ( Resimli Videolu Anlatım)


Arduino'ya başlayanların ilk ledi yaktıktan sonra diğer ilk işlemi for döngüsünü öğrenmek için birebir olan karaşimşek devresi yapımıdır. Devrenin ayrıntılı resimlerine bakarak kolay bir şekilde bağlantıları yapabilirsiniz. Dirençlerin uçlarına arduino pinlerinden gelen kablo uçlarını bağlayıp, GND yi de ledlerin kısa bacağına bağladıktan sonra aşağıdaki karaşimşek kodunu yazdığınız zaman işlem tamamdır :)



Bağlantılar gayet açık. Dirençlerin uçlarına arduino pinlerine takılan kablo uçlarını takıyoruz. GND bağlantısının uçları da ledlerimizin kısa bacaklarına gelecek. Dikkat ettiyseniz ledlerin tamamı - çizgisinde. Bu şekilde yaparsanız fazla kablo ile uğraşmazsınız. GND bağlantımızı breadboard üzerinde getirip - uca bağladığımız zaman ( breadboard üzerinde mavi olarak görünüyor. GND ucunu - olan herhangi bir yere takabilirsiniz) tüm ledlerimizi - ucuna bağlanmış olacak kısaca. 

Karaşimşek devremizi bitirdikten sonra ise aşağıda yer alan kodları arduino kartımıza yüklediğimiz zaman devremiz çalışır hale gelecek.

Burada dikkat edilmesi gereken diziler ve for döngüsü. Diziler bizim işimizi çok çok kolaylaştırır ve satır satır kod yazmaktan kurtarır.

LEDdizisi[] = {2,3,4,5,6}; ifadesini de bir for döngüsüne bağladık. Bunu eğer for döngüsüne bağlamasak satır satır kod yazacaktık. Şimdi şu şekilde oluyor :) 

for(ifade1;ifade2;ifade3) 

{

Yapılacak işlemler

}

şeklinde olur. Bunlar içerisinde İfade 1 döngünün başlangıcıdır. İfade 2 şartıdır. İfade 3 kısmı ise artış ya da azalış miktarıdır.

Örnek verelim for(int i=0; i<5; i++) ifadesinde i adında bir değişken tanımlanmış. Bu değişken for döngüsünün dışında da tanımlanabilir ama kolaylık olsun diye içeride tanımladık. İ ilk olarak 0 değerini aldı ve 5 den küçük olduğu sürece devam edecek ve i++ ile birer birer artacak. Resimlerde gördüğünüz gibi 5 adet led var. Şimdi gelin döngüye beraber bakalım.

LEDdizisi[] = {2,3,4,5,6}; kısmı bir for döngüsüne bağlı. Yani 

LEDdizisi0=2; >> Artık 2 nolu pin demek yerine LEDdizisi0 diyeceğiz.
LEDdizisi1=3; >> Artık 3 nolu pin demek yerine LEDdizisi1 diyeceğiz.
LEDdizisi2=4;
LEDdizisi3=5;
LEDdizisi4=6;

Bu şekilde pinlerimize isimler verdik bunu tek tek şu şekilde de yapabilirdik.

int LEDdizisi0 = 2; // 2 nolu bacak LEDdizisi0 olarak tanımlandı
int LEDdizisi1 = 3; // 3 nolu bacak LEDdizisi1 olarak tanımlandı
int LEDdizisi2 = 4; // 4 nolu bacak LEDdizisi2 olarak tanımlandı

Bu şekilde uğraşmak yerine diziler işe bu işi hallettik ve döngünün içine soktuk.

pinMode(LEDdizisi[i], OUTPUT); aynı mantık burada da var  gördüğünüz gibi. LEDdizisi0 yani 2 nolu bacak çıkış oldu. LEDdizisi1 yani 3 nolu bacak çıkış oldu gibisinden.

digitalWrite(LEDdizisi[i],HIGH); gördüğünüz gibi LEDdizisi0 yani 2 nolu bacaktaki led yanacak. LEDdizisi1 yani 3 nolu bacaktaki led yanacak.

Burada dikkat etmeniz gereken tek nokta altta yer alan döngü ters olarak kuruldu. Yani ledler ilk olarak soldan sağa yanarken o döngü sayesinde sağdan sola yanmış olacak. Eğer en alttaki döngü olmasa ledlar sürekli olarak soldan sağa yanardı ve bizim devremiz karaşimşek devresi olmazdı.

İlk etapta karışık gelebilir. Aklınıza takılan yerleri hiç çekinmeden sorabilirsiniz.

Not: İnternet hızımda 03-08-2016 saat 13:56 civarı düşüklük olduğu için videoyu yükleyemedim. Hızım düzelir düzelmez videoyuda yükleyeceğim.


Google Plus İle Paylaş

0 yorum:

Yorum Gönder