Bu projede, Arduino kullanarak bir potansiyometre ile buzzerın ses şiddetini nasıl kontrol edeceğimizi öğreneceğiz. Potansiyometre, döndürülebilen bir ayar elemanıdır ve direnç değerini değiştirerek Arduino’ya analog sinyal gönderir. Bu sinyali kullanarak buzzerın çıkardığı sesin frekansını ve şiddetini ayarlayacağız.
Proje Hedefleri:
✔ Potansiyometreden analog değer okuma
✔ Okunan değeri buzzer frekansına dönüştürme
✔ Ses şiddetini ayarlayabilme
✔ Seri port üzerinden değerleri izleme
1. Gerekli Malzemeler
| Malzeme | Adet | Açıklama |
|---|---|---|
| Arduino Uno | 1 | Mikrodenetleyici kartı |
| Potansiyometre (10kΩ) | 1 | Direnç ayarı yapmak için |
| Buzzer (Pasif) | 1 | Ses çıkış elemanı |
| Breadboard | 1 | Devre kurulumu için |
| Jumper Kablolar | 5-6 | Bağlantı için |
2. Devre Bağlantı Şeması
Bağlantı Adımları:
- Potansiyometre:
- Orta ucu (wiper) → A0 pinine
- Diğer uçlardan biri → 5V‘a
- Diğer uç → GND‘ye
- Buzzer:
- (+) ucu → D9 pinine (PWM çıkışı)
- (-) ucu → GND‘ye
3. Arduino Kodu ve Açıklamalar.

int buzzer = 6;
int pot = A5;
int potDeger = 0;
void setup() {
pinMode(buzzer, OUTPUT); // Buzzer pinini çıkış olarak ayarla
}
void loop() {
potDeger = analogRead(pot); // Potansiyometreden değeri oku
potDeger = map(potDeger, 0, 1023, 100, 1000); // Potansiyometreyi 100-1000 Hz arasında ölçeklendir
tone(buzzer, potDeger); // Buzzer'a frekans gönder
delay(10); // Küçük bir gecikme
}
Kod Açıklamaları:
analogRead(potPin): Potansiyometreden 0-1023 arası değer okur.map(): Okunan değeri 50-2000 Hz aralığına ölçeklendirir.tone(): Buzzerı belirtilen frekansta çalıştırır (PWM sinyali gönderir).Serial.print(): Değerleri bilgisayara yazdırır (monitörden izlemek için).
4. Çalışma Prensibi
- Potansiyometre döndürüldüğünde, Arduino’ya analog sinyal gönderir.
- Arduino bu sinyali 0-1023 arasında dijital değere çevirir.
map()fonksiyonu ile bu değer 50-2000 Hz aralığına dönüştürülür.tone()fonksiyonu, buzzerı bu frekansta çalıştırır.- Potansiyometreyi çevirdikçe sesin perdesi değişir.
5. Proje Geliştirme Önerileri
A. LED Ekleyerek Görsel Feedback
- Potansiyometre değerine göre bir LED’in parlaklığını ayarlayabilirsiniz:
const int ledPin = 3; // PWM pin
analogWrite(ledPin, potValue / 4); // 0-255 aralığına ölçekle
B. Farklı Ses Efektleri
- Belirli değer aralıklarında özel melodiler çaldırabilirsiniz:
if (potValue > 800) {
tone(buzzerPin, 1000, 500); // Yüksek değerde bip sesi
}
C. Seri Porttan Kontrol
- Bilgisayardan girilen frekans değerlerine göre buzzerı kontrol edebilirsiniz.
6. Sık Karşılaşılan Sorunlar ve Çözümler
| Sorun | Çözüm |
|---|---|
| Buzzer ses çıkarmıyor | Bağlantıları kontrol edin, PWM pin kullandığınızdan emin olun |
| Ses çok zayıf | Pasif buzzer kullandığınıza emin olun (aktif buzzer ton kontrolüne izin vermez) |
| Potansiyometre değerleri dalgalanıyor | delay(10) ekleyin veya bir filtreleme algoritması kullanın |
Sonuç
Bu projede:
✔ Potansiyometre ile analog veri okumayı
✔ Okunan değeri buzzer frekansına dönüştürmeyi
✔ PWM kullanarak ses kontrolünü öğrendik.


