Arduino ile led yakmak

Bu yazıda 2 çalışmadan bahsedeceğim. Birincisi daha basit olacak ve ikincisine hazırlık olacaktır. İkincisi ise biraz daha öğretici ve tecrübe kazandırıcı olacaktır. Birincisinden başlayalım:

Amacımız bir buton yardımıyla 2 LED’i yakıp söndürmektir. Başta sönük olan LED’ler butona bastığımızda beraber yanacaklar ve butona bir daha basıncaya kadar sönmeyecekler. Tekrar bastığımızda ise ikisi birden sönecek ve böylece devam edecek. Şimdi burada neden 2 LED kullanıyoruz diye merak ederseniz aslında farketmez fakat ikinci çalışmada 2 LED kullandığımızdan ötürü devreyi değiştirmemek istedik. Kodlar şu şekildedir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
void setup()
{
pinMode( 13, OUTPUT);
pinMode( 12, OUTPUT);
pinMode( 2, INPUT);
}
int a = 0;
void loop()
{
int buton = digitalRead(2);
if( buton == HIGH)
{
if(a == 0)
{
digitalWrite( 13, HIGH);
digitalWrite( 12, HIGH);
while( buton != LOW )
buton = digitalRead(2);
a = 1;
}
else
{
a = 0;
digitalWrite( 12, LOW);
digitalWrite( 13, LOW);
while( buton != LOW )
buton = digitalRead(2);
}
}
}

İkinci çalışmadaki amacımız ise biraz daha ileri düzey olacak. Yine bir buton yardımıyla LED’ler 500ms aralıklarla sırayla yanıp sönecek. İlk başta LED’ler yanmazken butona basıp bıraktığımızda sırayla yanmaya başlayacaklar ve bu döngü bir sonraki butona basıncaya kadar devam edecek. LED’ler yanmaya devam ederken butona bastığımızda ise döngünün periyodunun herhangi bir anında yanan LED’i söndürebiliyor olacağız ve döngü duracak. LED’ler söndükten sonra tekrar butona bastığımızda ise butona bir önceki bastığımızda hangi LED söndüyse sistem yine o LED’den yanmaya başlayacaktır.

Bu çalışmalarda Arduino Uno kullandık ve C dili ile programlama yaptık.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
int sondur( int buton );
void setup()
{
 pinMode( 13, OUTPUT);
 pinMode( 12, OUTPUT);
 pinMode( 2, INPUT);
}
int renk;
void loop()
{
 int buton = digitalRead(2);
 int a = 0;
 if( buton == HIGH )
 for(int i=0;i<2;i++){
 buton = digitalRead(2);
 while( buton != HIGH )
 {
 if( renk != 1 )
 {
 digitalWrite( 13, HIGH );
 a = sondur(buton);
 if( a == 1 )
 {
 renk = 0;
 break;
 }
 digitalWrite( 13, LOW );
 }
 digitalWrite( 12, HIGH );
 a = sondur(buton);
 if( a == 1 )
 {
 renk = 1;
 break;
 }
 digitalWrite( 12, LOW );
 renk = 0;
 }
do{
 buton = digitalRead(2);
 }
 while( buton != LOW );
 }
}
int sondur( int buton )
{
 int a = 0;
 for(int i=0;i<100;i++)
 {
 delay(5);
 buton = digitalRead(2);
 if( buton == HIGH && a == 0 )
 {
 do{
 buton = digitalRead(2);
 }
 while( buton != HIGH );
 digitalWrite( 12, LOW );
 digitalWrite( 13, LOW );
 a = 1;
 break;
 }
 }
 return a;
}

Benzer Yazılar

YAZAR : Admin

Elektronik Mühendisi / E.Üni. Kalibrasyon Lab. Sorumlusu / Biyomedikal Kalibrasyon Laboratuvarı Sorumlu Müdürü (Sağ.Bak.) / X-Işınlı Görüntüleme Sistemleri Test Kontrol ve Kalibrasyon Uzmanı (Sağ.Bak.) / Ultrason-Doppler Sistemleri Test Kontrol ve Kalibrasyon Uzmanı (Sağ.Bak.) - Hatalı veya kaldırılmasını istediğiniz sayfaları diyot.net@gmail.com bildirin

BU YAZIYI DA İNCELEDİNİZ Mİ ?

Arduino ile led yakıp söndürme

Arduino Uno Kartı ile LED yakıp söndürmeyi inceleyeceğiz. Arduino kartımız 5V gerilimle çalışmaktadır. Eğer LED’imizi …

Bir cevap yazın