Düğmeyle ses perdesi
Analog değeri duyulabilir bir frekans aralığına dönüştür.
9+ yaş · 35 dakika ·
İnteraktif atölyede aç →Neler öğreneceğiz?
Analog değeri duyulabilir bir frekans aralığına dönüştür.
Orta uç 0–5 V arasında değişir. Uno 10 bit ADC ile yaklaşık 0–1023 değer üretir; dış uçlar yer değiştirirse dönüş yönü ters olur.
Pasif piezo tone() ile sürülür. Aktif buzzer farklı davranır. Düşük ses düzeyiyle çalış; kulağa yaklaştırma. Uno tone() kullanırken D3/D11 PWM etkilenebilir.
Malzeme listesi
- 1 × Arduino Uno R3
- 1 × USB veri kablosu
- 1 × breadboard
- Yeterli sayıda jumper kablo
- 1 × 10 kΩ potansiyometre
- 1 × düşük akımlı pasif piezo buzzer
- 1 × 100 Ω seri direnç
Bağlantı tablosu
| Başlangıç | Bağlantı |
|---|---|
| Potansiyometre dış uç 1 | 5V |
| Potansiyometre dış uç 2 | GND |
| Potansiyometre orta uç | A0 |
| D4 | 100 Ω → pasif piezo + |
| Pasif piezo − | GND |
Adım adım yapalım
- Önce bağlantı görselini ve malzeme listesini oku. 6–8 yaş grubunda bir yetişkin devreyi kurarken çocuk komutları ve sonucu takip eder.
- USB ve harici beslemeyi çıkar. Breadboard güç raylarının bağlı/ayrık bölümlerini kontrol et.
- Potansiyometre dış uç 1 ucunu 5V noktasına bağla.
- Potansiyometre dış uç 2 ucunu GND noktasına bağla.
- Potansiyometre orta uç ucunu A0 noktasına bağla.
- D4 ucunu 100 Ω → pasif piezo + noktasına bağla.
- Pasif piezo − ucunu GND noktasına bağla.
- Bir yetişkinle güç, GND, parça yönü ve dirençleri bağlantı tablosuna göre tek tek kontrol et.
- Arduino IDE’de Arduino Uno kartını ve bağlı portu seç. Servo veya LCD kullanılan projelerde ilgili Servo/LiquidCrystal kütüphanesini kur.
- Aşağıdaki bağımsız kodu yeni eskize yapıştır ve karta yükle. Seri Monitör gerekiyorsa 9600 baud seç.
- Beklenen sonucu gözle, ardından yalnız bir değişkeni değiştirerek “Sıra sende” görevini yap.
Kod · Arduino C++
// Arduino Uno R3 — Düğmeyle ses perdesi
int knob(){return analogRead(A0);}
void beep(int hz,int ms){tone(4,hz,ms);delay(ms);noTone(4);}
void setup(){
Serial.begin(9600);
pinMode(4,OUTPUT);
}
void loop(){
tone(4,map(knob(),0,1023,200,1200));delay(20);
}
Kod nasıl çalışır?
Analog değeri duyulabilir bir frekans aralığına dönüştür.
setup() bir kez çalışıp pin yönlerini ve haberleşmeyi hazırlar. loop() içindeki komutlar sürekli tekrarlanır. Orta uç 0–5 V arasında değişir. Uno 10 bit ADC ile yaklaşık 0–1023 değer üretir; dış uçlar yer değiştirirse dönüş yönü ters olur.
Pasif piezo tone() ile sürülür. Aktif buzzer farklı davranır. Düşük ses düzeyiyle çalış; kulağa yaklaştırma. Uno tone() kullanırken D3/D11 PWM etkilenebilir.
Beklenen sonuç
Düğme çevrildikçe ses incelir veya kalınlaşır.
Sıra sende
Sesi yalnız butona basılıyken çalacak şekilde genişlet.
Güvenli atölye
Yalnız düşük gerilimli eğitim devresi. Şebeke/priz bağlantısı yapma. Bağlantıları enerji kapalıyken ve bir yetişkinle kur. Motor/servo hareket alanını boş tut. Bu proje fiziksel devrede test edilmiş olarak işaretlenmemiştir.
Çalışmıyorsa kontrol et
- Kod yüklenmiyorsa kart, port ve USB veri kablosunu kontrol et.
- Gücü çıkarıp her bağlantıyı tablodaki satırla eşleştir; ortak GND olmadan sinyaller güvenilir olmayabilir.
- Beklenen sonuçla gerçek sonucu karşılaştır. Sensör eşikleri bulunduğun ortama göre ayar ister.
- LED yanmıyorsa seri direnci ve anot/katot yönünü kontrol et; LED içermeyen projede sensörün pin etiketlerini incele.