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.
Görev
KolayDüğ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
}
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