Kodlama Arası #5: Buton İle Buzzer Çalıştırmak

Geçen Yazımızda sizlerle birlikte buzzer çalıştırdık. Bu yazımızda ise buton ile buzzer çalıştıracağız. Bunun için gerekli olan malzemeler:

1 adet arduino uno kart,

1 adet breadboard,

1 adet buton,

1 adet 10k direnç renk kodu kahverengi-siyah-turuncu,

1 adet buzzer,

5 adet erkek-erkek jumper kablo,



Malzemeleri aldığımıza göre devremizi kuralım.
İlk önce breadboard’ın herhangi bir yerine buzzer’ı koyalım.

Ardından buzzer’ın bir bacağından jumper kablo yardımıyla 8 numaralı pin’e takalım. Diğer bacağından jumper kabloyla breadboard’da bulunan eksi hattına jumper kablo takalım.

Buzzer’ı bu şekilde kurmuş olduk. Buton’u kurmak için breadboard’ın orta kısmına butonu koyalım.

butonun bir bacağından direnci breadboard’da bulunan eksi hattına takalım. Direnci koyduğumuz bacağın diğer tarafına jumper kablo yardımıyla kartta bulunan 5v pin’ine takalım. Diğer bacaktan jumper kablo yardımıyla breadboard’da bulunan eksi hattına bağlayalım. Eksi hattından da kartta bulunan GND pin’ine jumper kablo koyalım.

Böylece devremiz bitmiş oldu. Hadi kod kısmına geçelim.

 

Kod kısmında ise ilk önce buton ile buzzer’ı void setup kısmının üstünde tanıtalım. “int” yazalım buzzer yazdıktan sonra “=” koyalım. 8 numaralı pin’e taktığımız için “8” yazalım ve satırı bitirmek için “;” koyalım. Buton için ise “int” ve buton yazalım. “=” koyduktan sonra ise 9 numaralı pin’e taktık. Bundan dolayı “9” yazalım. Satırı bitirmek için “;” koyalım. Butona basıldığında buton’u okutmak için “digitalRead” komutunu kullanacağız. Ancak bunu bir değişken içine atamamız gerekir. Bunun için “butondurumu” diye bir değişken atayalım. void loop kısmına geçelim.

 

 

void setup kısmında buzzer’ı bir çıkış birimi, buton’u ise bir giriş birimi olarak belirteceğiz. “pinMode” yazdıktan sonra parantez açarız ve içine “buzzer” yazarız. Virgül koyduktan sonra çıkış olduğunu belirtmek için “OUTPUT” yazalım. Parantezi kapatıp satırı bitirmek için “;” koyalım. Diğer satırda ise yine “pinMode” komutunu yazalım. Parantez açıp “buton” yazdıktan sonra virgül koyalım. Giriş birimi olduğunu belirtmek için “INPUT” yazalım. Parantezi kapatıp satırı bitirmek için “;” koyalım. Böylece void setup kısmı da bitti. void loop kısmına geçelim.

 

 

 

 

void loop kısmında ise ilk önce butondurumu değişkenini açıklayacağız. Bunun için ilk olarak “butondurumu” yazalım. Sonrasında “=” koyalım ve buton’u okuması için “digitalRead” komutunu kullanacağız. Komutu yazdıktan sonra parantez açalım. Parantezin içine “buton” yazalım. Parantezi kapatıp sonuna “;” koyalım. Böylece buton’dan elektrik geçerse(buton basılırsa)butondurumu 1 olacak. Elektrik geçmezse(butona basılmazsa)butondurumu 0 olacak.

 

 

 

 

 

Diğer satırda ise “if” komutunu yazalım. Ardından parantez açalım ve olasılık (butondurumu 1 olması) durumunu yazalım. Bu durumu belirtmek için “butondurumu==1” yazalım. Ardından süslü parantez açalım ve diğer satıra geçelim. Ancak süslü parantezi kapatmayı unutmayalım.

 

 

 

 

 

 

 

Ardından bu durum olursa gerçekleşecek olayı yazalım. Yani Buzzer’ı çalıştıralım. Bunun için olan komutu yazalım. Bu komut “digitalWrite” olacak. Komutu yazdıktan sonra parantez açalım ve içine “buzzer” yazalım. Virgül koyduktan sonra çalıştırma komutu olan “HIGH” yazarız. Parantezi kapatalım ve sonuna satırı bitirmek için “;” koyalım.

 

 

 

 

 

 

 

Eğer o durum olmazsa ne olacağını belirtmek için “else” komutunu kullanacağız. Bunun için süslü parantez sonrasında else komutunu yazalım. burada harici bir parantez açmayacağız. Sadece süslü parantez açacağız. Ancak kapatmayı unutmayalım.

 

 

 

 

 

 

 

 

 

Diğer satırda buzzer’ı kapatmamız gerektiğini yazacağız. Bunun için “digitalWrite” komutunu yazacağız. Parantez açıp içine “buzzer” yazacağız. Virgül koyup elektriği kesmek için “LOW” yazalım. Parantezi kapatıp satırı bitirmek için “;” koyalım. Böylece kod kısmı da bitti. Doğru kart ve port’u seç,tikten sonra program karta yükleyebiliriz.

 

 

 

 

 

 

NOT: Uğraşmak istemeyen arkadaşlar için hazır kod aşağıdadır.

int buzzer=8;
int buton=9;
int butondurumu;
void setup() {
pinMode(buzzer,OUTPUT);
pinMode(buton,INPUT);
}

void loop() {
butondurumu=digitalRead(buton);
if (butondurumu==1){
digitalWrite(buzzer,HIGH);
}
else {
digitalWrite(buzzer,LOW);
}
}

One thought to “Kodlama Arası #5: Buton İle Buzzer Çalıştırmak”

Bir cevap yazın

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