Arduino Uno ile Buton Buzzer Uygulaması
Push buton devrede on/off (açık/kapalı) kontrolü için kullanılır. Butona basıldığında on (açık) durumuna geçerken buton bırakıldığında off (kapalı) durumuna geçer. Tactile (dokunsal) buton olarak da adlandırılır.
Butonun bağlandığı pin, pinMode(buton, INPUT) şeklinde giriş olarak yönlendirilir. Buton Arduino UNO geliştirme kartıyla birlikte kullanılırken iki şekilde bağlantı yapılır:
- Pull-down bağlantı
- Pull-up bağlantı
Görsel 1.1: Pull-up ve pull-down bağlantı
Pull-down veya pull-up direnci olarak 10kΩ değerinde direnç kullanımı uygundur. Pull-down veya pull-up direnci dijital pin giriş olarak kullanıldığında sinyalin bozulmamasını sağlar. Pull-down bağlantıda butona basılmadığında Arduino pini, direnç üzerinden LOW (0V) seviyesinde bulunur. Butona basıldığında Arduino pini, buton üzerinden HIGH (5V) seviyesinde bulunur. Bu durum pull-up bağlantıda tam tersi şeklindedir.
Arduino UNO üzerinde bulunan mikrodenetleyici (ATmega328P) içerisinde dahili pull-up dirençleri vardır. Dahili pull-up dirençleri sayesinde buton kullanırken ayrıca direnç kullanılmasına gerek kalmaz. Bu durumda fonksiyon pinMode (buton, INPUT_PULLUP) şeklinde kullanılmalıdır.
Buzzer, ses şeklinde çıktı alınmak istenen devre tasarımlarında kullanılan bir devre elemanıdır. Uyarı sesleri çıkarabilmek amacıyla kullanılan mini hoparlördür. Hoparlör kadar yüksek ve detaylı ses üretmeyip sadece bip sesi çıkarır. Arduino kartla melodili projeler yapılabilir. + ve – uçları vardır. Arduino ile kullanılmak istenilirse 5V gerilimden zarar görmemesi için 100 Ω direnç seri bağlanarak kullanılabilir. tone() ve noTone() fonksiyonlarıyla frekans değiştirilerek buzzerdan çıkan sesin ton kontrolü yapılabilir. tone() fonksiyonuyla kullanılabilecek temel notalar ile notaların harf gösterimi ve frekans değerleri aşağıdaki tabloda verilmiştir.
Tablo 1.1: Temel Notalar, Harf Gösterimi ve Frekans Değerleri |
||||||||
Nota |
Do |
Re |
Mi |
Fa |
Sol |
La |
Si |
Do (İnce) |
Harf Kodu |
C4 |
D4 |
E4 |
F4 |
G4 |
A4 |
B4 |
C5 |
Frekans |
262 |
294 |
330 |
349 |
392 |
440 |
494 |
523 |
Aktif ve pasif olmak üzere iki türü vardır. Sadece buzzer ya da buzzer modülü olarak satın alınabilir.
Görsel 1.2: Buzzer ve buzzer modülü
Aktif buzzer modülü, enerji verildiğinde (+5 V) tek tonlu bir ses çıkarır. Enerji verildiğinde yaklaşık 2,5 kHz'lik bir ses çıkarır. Buzzer modülü, aktif buzzer'ın Arduino projelerinde ses çıkışı için kullanabilecek modüle çevrilmiş halidir. Aktif buzzer modülü, +5 Volt sinyal ve GND uçlarından doğrudan kullanılabilir. Buzzer modülü kendi sesini kendi üretir. Sinyal ucundan tetiklendiğinde 2.5 kHz ses üretmeye başlar. Aktif buzzer modülü Arduino tarafında 3 bağlantı pinine sahiptir. Soldan sağa -, [boş] ve S olarak işaretlenmiştir. S pini signal (sinyal) demektir. Signal pini Arduino’nun dijital pinlerinden birine bağlanarak buzzer’ı kontrol etmekte kullanılır. – çıkışı ise GND pinine bağlanır.
Aktif buzzer ile pasif buzzer dışarıdan bakıldığında birbirlerine oldukça benzer. İki buzzer türünü birbirinden ayırt edebilecek küçük detaylar vardır. Aktif buzzer ile pasif buzzer arasındaki farkı anlamak için arka taraflarına bakılmalıdır. Çünkü önden bakıldıklarında her iki buzzer da aynıdır. Arkadan bakılırsa pasif buzzer'ın devresi açıktayken aktif buzzer'larda bu devrenin üzeri bir katmanla örtülmüştür. Üzerinde çıkarılabilir beyaz renkte etiket bulunan modül aktif buzzer, diğeri ise pasif buzzer’dir. Beyaz etiket buzzer’ın ses seviyesini oldukça azaltır ve çıkarılması önerilir. Ancak modülü pasif buzzer ile karıştırmamak için farklı bir yerine etiket yapıştırılması tavsiye edilir.
Aktif buzzer, içinde kendi kare dalga frekans üreteci bulunan standart bir pasif piezo buzzer bileşenidir. Çalıştırmak için sadece güç vermek yeterlidir. Aktif buzzer 3,3V ve 5V ile çalışabilir. Aktif buzzer DC gerilimde çalışabilir. Pasif buzzer AC ve DC gerilim altında çalışabilir. Aktif buzzer istenilen notaya göre ses çıkarabilir. Kodlamayla çeşitli müziklerin yapılması mümkün olan buzzerdır. Pasif buzzer, tek bir tonda ses çıkarabilen ve uyarı amacıyla kullanılan buzzerdır.
Uygulamaya Ait Şema, Bağlantı Şekli ve Görseller
Görsel 1.3: Arduino Uno ile buton buzzer uygulaması devre şeması
Görsel 1.4: Arduino Uno ile buton buzzer uygulaması breadboard bağlantısı
Malzeme Listesi
Sıra No |
Adı |
Özelliği |
Miktarı |
1 |
Arduino Uno R3 |
- |
1 Adet |
2 |
Direnç |
10k / ¼ W |
1 Adet |
3 |
Buzzer |
5 V, aktif |
1 Adet |
4 |
Buton |
Push buton |
1 Adet |
5 |
Breadboard |
830 pin |
1 Adet |
6 |
Jumper kablo |
Erkek-erkek |
- |
Uygulamaya Ait Kod
/*
Uygulama Adı : Buton ve buzzer kullanımı
Açıklama : Bir buton ile buzzer kontrolü (basit siren uygulaması)
Tarih : 30 Temmuz 2021
Yazan : İlhan DEMİR
*/
int buton = 2;
int buzzer = 13;
int butonDurum = 0;
void setup()
{
pinMode(buton, INPUT);
pinMode(buzzer, OUTPUT);
}
void loop()
{
butonDurum = digitalRead(buton);
if (butonDurum == HIGH)
{
for (int i = 0; i < 3; i++) //3 defa tekrar et.
{
tone(buzzer, 950, 600); //950 notasını 600 vuruş çal.
delay (600);
tone(buzzer, 700, 400); //700 notasını 400 vuruş çal.
delay (400);
}
}
}
Bu internet sitesi içeriğinde yer alan tüm eserler (yazı, resim, görüntü, fotoğraf, video, müzik vb.) İlhan DEMİR'e ait olup, 5846 sayılı Fikir ve Sanat Eserleri Kanunu ve 5237 sayılı Türk Ceca Kanunu kapsamında korunmaktadır. Bu hakları ihlal eden kişiler, 5846 sayılı Fikir ve Sanat eserleri Kanunu ve 5237 sayılı Türk Ceza Kanununda yer alan hukuki ve cezai yaptırımlara tabi olurlar. İlhan DEMİR, yasal işlem başlatma hakkına sahiptir.
BİR CEVAP YAZ