EsploraMusic

Bu örnek, Arduino Esplora üzerine monte edilmiş zil üzerindeki notaların nasıl çalınacağını gösterir. Sesli uyarıcılar duyulabilir frekans aralıklarında farklı ses sinyalleri üretebilir. Not, belirli bir frekanstaki ses sinyalidir. Çalmak istediğiniz notaların sıklığını biliyorsanız, bir melodi oluşturmaya başlayabilirsiniz.

Bu örnekte, farklı notlar oluşturmak için kaydırıcıyı hareket ettiriyorsunuz ve aşağı düğmesine basarak çalıyorsunuz.

Gerekli Donanım

  • Arduino Esplora

Devre

Bu örnek için yalnızca Arduino Esplora'nız gereklidir. Esplora'yı bir USB kablosuyla bilgisayarınıza bağlayın.

notayı seçmek için kaydırıcıyı ve çalmak için basmalı düğmeyi seçin

Kod

Bir dizinin içinde saklanan 13 not vardır. Kaydırıcının konumunu değiştirerek çalınacak notayı seçebilirsiniz.

Dizideki değeri seçen dizin numarası, doğrusal potansiyometrenin konumuna eşlenir. Bu sayı, çalınacak notanın sıklığıdır. Potansiyometrenin uzunluğunu 13 bölüme ayırın. Kaydırıcıyı sağdan sola kaydırdığınızda, not farklı bir bölüme geçtiğinde değişecektir. Her bölüm dizideki bir noktaya ve zilde çalınacak bir değere karşılık gelir.

Notu dinlemek için aşağı yön düğmesine basarsınız; düğme basılı tutulduğu sürece oynatılacaktır.

/*
  Esplora Music

  This sketch turns the Esplora in a simple musical instrument.
  Press the Switch 1 and move the slider to see how it works.

  Created on 22 november 2012
  By Enrico Gueli <enrico.gueli@gmail.com>
  modified 22 Dec 2012
  by Tom Igoe
*/



#include <Esplora.h>

// these are the frequencies for the notes from middle C
// to one octave above middle C:
const int note[] = {
  262, // C
  277, // C#
  294, // D
  311, // D#
  330, // E
  349, // F
  370, // F#
  392, // G
  415, // G#
  440, // A
  466, // A#
  494, // B
  523  // C next octave
};

void setup() {
}

void loop() {
  // read the button labeled SWITCH_DOWN. If it's low,
  // then play a note:
  if (Esplora.readButton(SWITCH_DOWN) == LOW) {
    int slider = Esplora.readSlider();

    // use map() to map the slider's range to the
    // range of notes you have:
    byte thisNote = map(slider, 0, 1023, 0, 13);
    // play the note corresponding to the slider's position:
    Esplora.tone(note[thisNote]);
  } else {
    // if the button isn't pressed, turn the note off:
    Esplora.noTone();
  }
}
[Kodu Al]

See Also