3 Ocak 2017 Salı

Arduino ile Ledli Seviye Kontrol



Bu projemizde analog değerden okuduğumuz herhanbir değeri ledler ile seviye kontrol yaparak kullanıcıya bildireceğiz.Ben potansiyometre kullandım ama siz analog okuyabileceğiniz çeşitli sensörleri kullanabilirsiniz. Program gayet basit ana bloğunun çoğu if komutundan oluşuyor.Eğer if’i anladıysanız bu program için gerisi kolay.Hadi biraz da program üzerinden bakalım.

int yes1=7;//ledleri bağlayacağımız pinleri tanımlayıp isim veriyoruz.
int yes2=8;
int sari1=9;
int sari2=10;
int kir1=12;
int kir2=13;
int analog;//analog okuduğumuz değer için bir değişken tanımlıyoruz.

void setup() {
Serial.begin(9600);//seri haberleşme için başlangıç komutunu veriyoruz.
pinMode (yes1,OUTPUT);//Led pinlerini çıkış olarak tanımlıyoruz.
pinMode (yes2,OUTPUT);
pinMode (sari1,OUTPUT);
pinMode (sari2,OUTPUT);
pinMode (kir1,OUTPUT);
pinMode (kir2,OUTPUT);
}

void loop() {
analog=analogRead (A0);//A0 bağladığımız potansiyometrenin değerini okuyoruz.
delay(50);//İsteğe göre bekleme süresi istenirse hiç konulmayabilir.
if (analog==0)//eğer okunan değer 0 ise ledlerin hepsi sönsün.
 {
  digitalWrite (yes1,LOW);
  digitalWrite (yes2,LOW);

  digitalWrite (sari1,LOW);
  digitalWrite (sari2,LOW);

  digitalWrite (kir1,LOW);
  digitalWrite (kir2,LOW);
 }

if (0<analog && analog<=170)/*belirli aralıklarla sınama yapıp hangi ledin yanacağını belirliyoruz.*/
 {
  digitalWrite (yes1,HIGH);
  digitalWrite (yes2,LOW);
 
  digitalWrite (sari1,LOW);
  digitalWrite (sari2,LOW);
 
  digitalWrite (kir1,LOW);
  digitalWrite (kir2,LOW);
 }

if (171<=analog && analog<=340) /*belirli aralıklarla sınama yapıp hangi ledin yanacağını belirliyoruz.*/
 {
  digitalWrite (yes1,HIGH);
  digitalWrite (yes2,HIGH);
 
  digitalWrite (sari1,LOW);
  digitalWrite (sari2,LOW);
 
  digitalWrite (kir1,LOW);
  digitalWrite (kir2,LOW);
  }

if (341<=analog && analog<=510) /*belirli aralıklarla sınama yapıp hangi ledin yanacağını belirliyoruz.*/
 {
  digitalWrite (yes1,HIGH);
  digitalWrite (yes2,HIGH);
 
  digitalWrite (sari1,HIGH);
  digitalWrite (sari2,LOW);
 
  digitalWrite (kir1,LOW);
  digitalWrite (kir2,LOW);
 }

if (511<=analog && analog<=680)/*belirli aralıklarla sınama yapıp hangi ledin yanacağını belirliyoruz.*/
 {
    digitalWrite (yes1,HIGH);
  digitalWrite (yes2,HIGH);
 
  digitalWrite (sari1,HIGH);
  digitalWrite (sari2,HIGH);
 
  digitalWrite (kir1,LOW);
  digitalWrite (kir2,LOW);
 }


if (681<=analog && analog<=950) /*belirli aralıklarla sınama yapıp hangi ledin yanacağını belirliyoruz.*/
 {
   digitalWrite (yes1,HIGH);
  digitalWrite (yes2,HIGH);
 
  digitalWrite (sari1,HIGH);
  digitalWrite (sari2,HIGH);
 
  digitalWrite (kir1,HIGH);
  digitalWrite (kir2,LOW);
 }

if (951<=analog && analog<=1023) /*belirli aralıklarla sınama yapıp hangi ledin yanacağını belirliyoruz.*/
 {
   digitalWrite (yes1,HIGH);
  digitalWrite (yes2,HIGH);
 
  digitalWrite (sari1,HIGH);
  digitalWrite (sari2,HIGH);
 
  digitalWrite (kir1,HIGH);
  digitalWrite (kir2,HIGH);
 }
Serial.println (analog);/*okuduğumuz değeri ekran görerek programın doğru çalıştığını görebiliriz.*/
}
İşte Devrenin Bağlantı Şeması:

Arduino ile Ledli Seviye Kontrol

Devrenin Çalışması:



Disqus Yorumları Yükle

0 yorum