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 |
0 yorum