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

試される場合は自己責任で!!
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!知恵袋

スポンサーリンク
コメント一覧
  • 名前:管理人 :

    コメントは、まだありません。