Menu
CoddyTech

Bir Düğmeyle Perdeyi Değiştir

Coddy'nin Arduino Journey'sinin Çıkışlar bölümünün bir parçası. Ders 12 / 24.

Bir düğme, buzzer'ı bir enstrüman gibi çalabilir. Mantık dimmer ile aynıdır: düğmeyi oku, okumayı dönüştür, kullan.

Bu kez hedef aralık bir frekanstır. 200 Hz düşük bir uğultu, 2000 Hz ise yüksek bir ıslıktır, dolayısıyla:

int reading = analogRead(A0);
int pitch = map(reading, 0, 1023, 200, 2000);
tone(8, pitch);

map() yeni aralığın 0'dan başlamasını gerektirmez: 0, 200 olur; 1023, 2000 olur ve düğmenin ortası yaklaşık 1100'e denk gelir.

tone() işlevini yeni bir frekansla tekrar çağırmak notayı hemen değiştirir, böylece düğmeyi çevirdikçe perde de değişir. Kısa bir delay(10), taslağın tonu saniyede binlerce kez yeniden başlatmasını önler.

challenge icon

Görev

Kolay

Düğme A0'a, buzzer ise 8 numaralı pine bağlı. Düğmenin perdeyi ayarlamasını sağla:

  • düğmeyi oku
  • okunan değeri map() ile 200 ile 2000 Hz arasında bir frekansa dönüştür
  • tone() ile çal, ardından 10 ms bekle

Run'a bas ve düğmeyi çevir, ardından Check'e bas.

Kendin dene

const int knobPin = A0;
const int buzzerPin = 8;

void setup() {
}

void loop() {
  // knob değerini oku, 200..2000 Hz aralığına eşle ve buzzer'da çal
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Çıkışlar bölümündeki tüm dersler

Kendi başına pratik yap: Arduino playground