【ESP32】Beep音で音楽を鳴らす

  • 投稿 : 2018-12-21

本記事は広告およびアフィリエイトプログラムによる収益を得ています

試される場合は自己責任で!!
Amazon:KKHMF ESP32 ESP-32S NodeMCU開発ボード2.4GHz WiFi + Bluetooth
・Arduino IDE v1.8.7
で確認しました

参考

ESP32で圧電スピーカーを動かしてみた【wak-tech Advent Calender 2018】 | Wak-tech
音階周波数
IchigoJamで音楽づくり PSG単音での音遊びから、MIDIキーボード&MIDI音源をつないだ本格DTMまで #IchigoJam #midi / 福野泰介の一日一創 / Create every day by Taisuke Fukuno

1つめは、プログラムのソースを、3つ目はチャイムの音を参考にしました。

接続

D25、GND端子につなぐだけです。

スケッチ(ソース)

/*
 * https://wak-tech.com/archives/757
 * を参考に一部変更
 * */
#define BUZZER_PIN 25
//音を鳴らす時間
#define BEAT 500
//音階名と周波数の対応
#define C4 261.6
#define C#4 277.18
#define D4 293.665
#define D#4 311.127
#define E4 329.63
#define F4 349.228
#define F#4 369.994
#define G4 391.995
#define G#4 415.305
#define A4 440
#define A#4 466.164
#define B4 493.883
#define C5 523.251
void playmusic(){
    //'MML SCHOOL CHIME
    //PLAY"T60 BGAD2.R DABG2.R"
    //http://fukuno.jig.jp/1383
     
    ledcWriteTone(1,B4);
    delay(BEAT);
    ledcWriteTone(1,G4);
    delay(BEAT);
    ledcWriteTone(1,A4);
    delay(BEAT);
    ledcWriteTone(1,D4);
    delay(BEAT*2);
   ledcWriteTone(1,0);
    delay(BEAT);
    
    ledcWriteTone(1,D4);
    delay(BEAT);
    ledcWriteTone(1,A4);
    delay(BEAT);
    ledcWriteTone(1,B4);
    delay(BEAT);
    ledcWriteTone(1,G4);
    delay(BEAT*2);//
    ledcWriteTone(1,0);
    delay(BEAT);
    ledcWriteTone(1,0);

    
}
void setup() {
  ledcSetup(1,12000, 8);
  ledcAttachPin(BUZZER_PIN,1);

  playmusic();
}

void loop() {
 
}

実行

昔懐かしの音質だと思います。

補足

「ウェストミンスター寺院の鐘」のメロディの事であれば、既に著作権は切れています。
↓このメロディ
https://www.youtube.com/watch?v=cvZvv5lhUJI
著作権はありますか? - ふと気になったのですが、学校のチャイムの音「キン... - Yahoo!知恵袋

スポンサーリンク