반응형
[arduino] - 아두이노/ESP32 - 피에조 부저, 악보를 보고 동요 멜로디 코딩하기(동요 겨울밤, 다람쥐, 옹달샘, 작은별)
[arduino] - arduino - Simple Melody 이용 피에조 부저 멜로디 코딩하기, Esp01, EEPROM
[Simple Melody] - Simple Melody - 화사 마리아 멜로디 code 파일 (Hwa Sa Maria)
[Simple Melody] - Simple Melody - 방탄소년단 DNA 멜로디 code 파일 (BTS DNA)
[Simple Melody] - Simple Melody - BTS Dynamite 멜로디 code 파일
[arduino] - 아두이노 - 피에조 부저 멜로디 BTS DNA
[arduino] - 아두이노 - 피에조 부저 멜로디 BTS Dynamite
[Piezo Buzzer] - BTS (방탄소년단) - Butter ㅣ piezo buzzer
화사 마리아 멜로디를 피에조 부저를 이용하여 아두이노 우노, NodeMcu, ESP32에서 연주하는 예제 스케치 입니다.
아두이노 우노와 피에조 부저 연결방법
아두이노 우노 피에조 부저 예제 스케치
NodeMcu 피에조 부저 예제 스케치
// ---------------------------------------------------------------------- 마리아
uint8_t Tempo = 120;
float tempoRatio = float(Tempo)/60.0;
uint8_t KeySign = 1;
uint8_t octaveTemp = 4;
//float beatTime = 4/4;
const note_t Mnote[] PROGMEM= {
NOTE_A,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_D,NOTE_E,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_A,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_D,NOTE_C,NOTE_C,NOTE_E,NOTE_C,NOTE_D,NOTE_MAX,
NOTE_A,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_D,NOTE_E,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_A,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_D,NOTE_C,NOTE_C,NOTE_E,NOTE_C,NOTE_D,NOTE_MAX,
NOTE_A,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_D,NOTE_E,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_A,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_D,NOTE_C,NOTE_C,NOTE_E,NOTE_C,NOTE_D,NOTE_MAX,NOTE_A,NOTE_G,NOTE_A,NOTE_G,NOTE_A,NOTE_G,
NOTE_A,NOTE_D,NOTE_MAX,NOTE_A,NOTE_A,NOTE_MAX,NOTE_MAX,NOTE_A,NOTE_G,NOTE_A,NOTE_G,NOTE_A,NOTE_G,NOTE_A,NOTE_D,NOTE_MAX,NOTE_A,NOTE_A,NOTE_MAX,NOTE_MAX,NOTE_A,NOTE_A,NOTE_F,
NOTE_E,NOTE_A,NOTE_MAX,NOTE_G,NOTE_G,NOTE_C,NOTE_A,NOTE_G,NOTE_G,NOTE_A,NOTE_MAX,NOTE_F,NOTE_G,NOTE_F,NOTE_G,NOTE_F,NOTE_G,NOTE_A,NOTE_C,NOTE_C,NOTE_C,NOTE_D,NOTE_MAX,
NOTE_F,NOTE_F,NOTE_F,NOTE_G,NOTE_A,NOTE_G,NOTE_G,NOTE_G,NOTE_F,NOTE_G,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_MAX,NOTE_F,NOTE_F,NOTE_G,NOTE_A,NOTE_G,NOTE_G,NOTE_F,NOTE_G,NOTE_F,NOTE_G,NOTE_F,NOTE_MAX,NOTE_G,NOTE_F,NOTE_F,
NOTE_F,NOTE_G,NOTE_A,NOTE_A,NOTE_G,NOTE_C,NOTE_C,NOTE_A,NOTE_MAX,NOTE_A,NOTE_A,NOTE_G,NOTE_MAX,NOTE_G,NOTE_F,NOTE_G,NOTE_F,NOTE_G,NOTE_F,NOTE_A,NOTE_A,NOTE_MAX,
NOTE_MAX,NOTE_A,NOTE_A,NOTE_F,NOTE_E,NOTE_D,NOTE_A,NOTE_MAX,NOTE_A,NOTE_A,NOTE_G,NOTE_A,NOTE_C,NOTE_A,NOTE_MAX,NOTE_G,NOTE_G,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_MAX,NOTE_D,NOTE_D,NOTE_C,
NOTE_D,NOTE_A,NOTE_G,NOTE_MAX,NOTE_F,NOTE_E,NOTE_D,NOTE_A,NOTE_MAX,NOTE_A,NOTE_A,NOTE_G,NOTE_A,NOTE_C,NOTE_A,NOTE_MAX,NOTE_G,NOTE_G,NOTE_A,NOTE_G,NOTE_D,NOTE_D,NOTE_D,NOTE_F,NOTE_G,NOTE_A,
NOTE_G,NOTE_D,NOTE_D,NOTE_D,NOTE_F,NOTE_G,NOTE_A,NOTE_MAX,NOTE_D,NOTE_F,NOTE_G,NOTE_A,NOTE_MAX,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_MAX,NOTE_D,NOTE_F,NOTE_G,NOTE_A,
NOTE_MAX,NOTE_G,NOTE_G,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_MAX,NOTE_D,NOTE_F,NOTE_G,NOTE_A,NOTE_MAX,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_C,NOTE_MAX,NOTE_D,NOTE_F,NOTE_G,NOTE_A,
NOTE_MAX,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_D,NOTE_D,NOTE_D,NOTE_MAX,NOTE_A,NOTE_A,NOTE_MAX,NOTE_A,NOTE_A,NOTE_MAX,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_F,NOTE_MAX,NOTE_D,NOTE_A,NOTE_A,NOTE_MAX,NOTE_D,NOTE_A,NOTE_A,
NOTE_MAX,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_F,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_F,NOTE_F,NOTE_MAX,NOTE_D,NOTE_D,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_A,NOTE_F,NOTE_F,NOTE_MAX,NOTE_D,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_F,NOTE_G,NOTE_F,NOTE_G,NOTE_MAX,NOTE_F,NOTE_G,
NOTE_MAX,NOTE_D,NOTE_D,NOTE_D,NOTE_D,NOTE_F,NOTE_F,NOTE_F,NOTE_G,NOTE_A,NOTE_G,NOTE_G,NOTE_G,NOTE_F,NOTE_G,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_MAX,NOTE_F,NOTE_F,NOTE_G,NOTE_A,NOTE_G,NOTE_G,NOTE_F,
NOTE_G,NOTE_F,NOTE_G,NOTE_F,NOTE_MAX,NOTE_G,NOTE_F,NOTE_F,NOTE_F,NOTE_F,NOTE_G,NOTE_A,NOTE_G,NOTE_G,NOTE_D,NOTE_C,NOTE_A,NOTE_C,NOTE_A,NOTE_C,NOTE_D,NOTE_F,NOTE_D,NOTE_D,NOTE_MAX,NOTE_A,NOTE_A,NOTE_G,NOTE_A,
NOTE_MAX,NOTE_A,NOTE_A,NOTE_F,NOTE_E,NOTE_D,NOTE_A,NOTE_MAX,NOTE_A,NOTE_A,NOTE_G,NOTE_A,NOTE_C,NOTE_A,NOTE_MAX,NOTE_G,NOTE_G,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_MAX,NOTE_D,NOTE_D,NOTE_C,
NOTE_D,NOTE_A,NOTE_G,NOTE_MAX,NOTE_F,NOTE_E,NOTE_D,NOTE_A,NOTE_MAX,NOTE_A,NOTE_A,NOTE_G,NOTE_A,NOTE_C,NOTE_A,NOTE_MAX,NOTE_G,NOTE_G,NOTE_A,NOTE_G,NOTE_D,NOTE_D,NOTE_D,NOTE_F,NOTE_G,NOTE_A,
NOTE_G,NOTE_D,NOTE_D,NOTE_D,NOTE_F,NOTE_G,NOTE_A,NOTE_MAX,NOTE_D,NOTE_F,NOTE_G,NOTE_A,NOTE_MAX,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_MAX,NOTE_D,NOTE_F,NOTE_G,NOTE_A,
NOTE_MAX,NOTE_G,NOTE_G,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_MAX,NOTE_D,NOTE_F,NOTE_G,NOTE_A,NOTE_MAX,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_C,NOTE_MAX,NOTE_D,NOTE_F,NOTE_G,NOTE_A,
NOTE_MAX,NOTE_G,NOTE_G,NOTE_G,NOTE_G,NOTE_D,NOTE_D,NOTE_D,NOTE_A,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_D,NOTE_E,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_A,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_D,
NOTE_C,NOTE_C,NOTE_E,NOTE_C,NOTE_D,NOTE_MAX,NOTE_A,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_D,NOTE_E,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_MAX,NOTE_A,NOTE_G,NOTE_F,NOTE_E,NOTE_D,NOTE_D,
NOTE_C,NOTE_C,NOTE_E,NOTE_C,NOTE_D,NOTE_MAX,NOTE_MAX,NOTE_MAX,NOTE_A,NOTE_A,NOTE_F,NOTE_E,NOTE_D,NOTE_A,NOTE_MAX,NOTE_A,NOTE_A,NOTE_G,
NOTE_A,NOTE_C,NOTE_A,NOTE_MAX,NOTE_G,NOTE_G,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_MAX,NOTE_D,NOTE_D,NOTE_C,NOTE_D,NOTE_A,NOTE_G,NOTE_MAX,NOTE_F,NOTE_E,NOTE_D,NOTE_A,NOTE_MAX,NOTE_A,NOTE_A,NOTE_G,
NOTE_A,NOTE_C,NOTE_A,NOTE_MAX,NOTE_G,NOTE_G,NOTE_A,NOTE_G,NOTE_D,NOTE_D,NOTE_D,NOTE_F,NOTE_A,NOTE_G,NOTE_A,NOTE_G,NOTE_A,NOTE_G,NOTE_A,NOTE_C,NOTE_D,NOTE_MAX,NOTE_D,NOTE_F,NOTE_G,NOTE_A,
NOTE_MAX,NOTE_C,NOTE_D,NOTE_C,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_D,NOTE_F,NOTE_G,NOTE_A,NOTE_MAX,NOTE_C,NOTE_D,NOTE_C,NOTE_D,NOTE_C,NOTE_F,NOTE_MAX,NOTE_D,NOTE_F,NOTE_G,NOTE_A,
NOTE_MAX,NOTE_G,NOTE_G,NOTE_A,NOTE_G,NOTE_F,NOTE_D,NOTE_C,NOTE_D,NOTE_D,NOTE_F,NOTE_G,NOTE_A,NOTE_MAX,NOTE_A,NOTE_G,NOTE_A,NOTE_G,NOTE_D,NOTE_D,NOTE_D,NOTE_MAX,
};
const uint8_t Moct[] PROGMEM= {
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,
5,4,0,4,4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,5,5,4,0,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,5,5,5,4,0,4,4,4,4,5,4,0,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,5,5,5,4,0,4,4,4,4,5,4,0,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,4,4,4,4,4,4,4,4,4,4,4,0,4,4,4,4,4,4,4,4,4,4,0,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,0,4,4,4,4,4,4,4,4,4,5,5,4,5,4,5,5,5,5,5,5,4,4,4,4,
0,4,4,5,5,5,4,0,4,4,4,4,5,4,0,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,5,5,5,4,0,4,4,4,4,5,4,0,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,5,5,5,4,0,4,4,4,
4,5,4,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,4,0,4,4,4,
4,5,4,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,4,4,4,4,
4,5,5,5,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
0,
};
const uint8_t localKey[] PROGMEM= {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,3,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,3,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,3,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,
};
const uint8_t Mdur[] PROGMEM= {
16,
2,2,2,2,6,2,2,2,2,2,8,2,2,2,2,6,2,2,1,1,2,2,8,
2,2,2,2,6,2,2,2,2,2,8,2,2,2,2,6,2,2,1,1,2,2,8,
2,2,2,2,6,2,2,2,2,2,8,2,2,2,2,6,2,2,1,1,2,2,2,1,1,1,1,1,1,
4,4,2,2,4,8,2,1,1,1,1,1,1,4,4,2,2,4,8,2,2,2,2,
4,4,2,2,2,2,4,4,2,2,2,2,2,2,2,2,2,4,2,4,2,2,8,
2,2,2,2,2,2,4,2,2,2,2,2,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,1,
2,4,2,2,4,2,3,1,2,2,3,1,4,1,3,1,3,1,3,3,1,16,
4,4,4,4,2,2,4,2,2,2,2,2,2,4,2,2,2,2,2,2,4,2,2,2,2,
2,2,4,4,4,2,2,4,2,2,2,2,2,2,4,2,2,2,2,1,3,1,3,4,2,2,
1,3,1,3,4,2,2,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,
2,2,2,2,2,2,4,4,4,4,2,2,4,4,2,2,2,2,4,4,4,2,2,
4,1,3,1,3,1,1,2,4,2,2,4,2,2,4,2,2,2,2,1,3,3,1,2,2,3,1,2,2,
4,2,2,2,2,1,3,1,1,2,1,1,1,1,2,1,1,2,1,1,1,1,1,1,2,2,2,1,1,2,2,1,1,1,1,2,2,2,1,1,1,2,1,
8,1,3,3,1,2,2,2,2,2,2,4,2,2,2,2,2,2,4,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,8,2,2,2,1,1,
4,4,4,4,2,2,4,2,2,2,2,2,2,4,2,2,2,2,2,2,4,2,2,2,2,
2,2,4,4,4,2,2,4,2,2,2,2,2,2,4,2,2,2,2,1,3,1,3,4,2,2,
1,3,1,3,4,2,2,4,4,4,2,2,4,4,2,2,4,4,4,4,2,2,
2,2,2,2,2,2,4,4,4,4,2,2,4,4,2,2,2,2,4,4,4,2,2,
4,1,3,1,3,1,1,2,2,2,2,2,6,2,2,2,2,2,8,2,2,2,2,6,2,
2,1,1,2,2,8,3,1,2,2,6,2,3,1,2,2,4,4,3,1,2,2,6,2,
2,1,1,2,2,8,16,4,4,4,4,2,2,4,2,2,2,2,
2,2,4,2,2,2,2,2,2,4,2,2,2,2,2,2,4,4,4,2,2,4,2,2,2,2,
2,2,4,2,2,2,2,1,3,1,3,4,2,2,1,3,1,3,4,2,2,4,4,4,2,2,
4,2,2,2,2,3,1,4,4,4,2,2,2,2,2,2,2,2,4,4,4,4,2,2,
2,2,2,2,2,2,2,2,4,4,4,2,2,4,1,3,1,3,1,1,2,16,
};
// ----------------------------------------------------------------------
2023년 2월 7일 업데이트 코드
piezo_Uno_hwasa_maria_update.zip
piezo_nodeMcu_hwasa_maria_update.zip
esp32_melody_hwasa_maria_update.zip
'Arduino' 카테고리의 다른 글
Arduino Basic code for bluetooth remote contol with HC-06 (0) | 2022.11.23 |
---|---|
Setting up Wi-Fi module ESP01 and basic code for Arduino remote control (0) | 2022.11.16 |
아두이노 - 와이파이, ESP01 wifi 모듈 무선 원격제어 그리고 시리얼 통신 - 6편 (9) | 2022.06.08 |
아두이노 - 피에조 부저 멜로디 BTS Dynamite (0) | 2020.10.23 |
아두이노 - 피에조 부저 멜로디 BTS DNA (0) | 2020.10.23 |
arduino - Simple Melody 이용 피에조 부저 멜로디 코딩하기, Esp01, EEPROM (0) | 2020.09.19 |
아두이노/ESP32 - 피에조 부저, 악보를 보고 동요 멜로디 코딩하기(동요 겨울밤, 다람쥐, 옹달샘, 작은별) (0) | 2020.08.01 |
ESP8266 / ESP32 - SPIFFS 파일시스템 라이브러리 예제 및 사용방법 (4) | 2020.03.22 |