CODE | Piezo Sounder Melody Player - Arduino Project 012

RonWang3 years ago (2023-08-17)电子编程 COD48

Rather than using the piezo to make annoying alarm sounds, why not use it to play a melody? You are going to get your Arduino to play the chorus of “Puff the Magic Dragon.” Leave the circuit exactly the same as in Project 11; you are just changing the code. 

项目 Project 12 - Piezo Sounder Melody Player 扬声器音乐演奏


/* Coding Ron Wang
   Aug.6th 2024
   Autaba support for coding hardware
 */
// Project 12 - Piezo Sounder Melody Player
#define NOTE_C3 131
#define NOTE_CS3 139
#define NOTE_D3 147
#define NOTE_DS3 156
#define NOTE_E3 165
#define NOTE_F3 175
#define NOTE_FS3 185
#define NOTE_G3 196
#define NOTE_GS3 208
#define NOTE_A3 220
#define NOTE_AS3 233
#define NOTE_B3 247
#define NOTE_C4 262
#define NOTE_CS4 277
#define NOTE_D4 294
#define NOTE_DS4 311
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_FS4 370
#define NOTE_G4 392
#define NOTE_GS4 415
#define NOTE_A4 440
#define NOTE_AS4 466
#define NOTE_B4 494
#define WHOLE 1
#define HALF 0.5
#define QUARTER 0.25
#define EIGHTH 0.125
#define SIXTEENTH 0.0625
int tune[] = { NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4,
NOTE_B3, NOTE_G3, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_G3, NOTE_G3,
NOTE_F3, NOTE_F3, NOTE_G3, NOTE_F3, NOTE_E3, NOTE_G3, NOTE_C4,
NOTE_C4, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_B3, NOTE_C4, NOTE_D4};
float duration[] = { EIGHTH, QUARTER+EIGHTH, SIXTEENTH, QUARTER,
QUARTER, HALF, HALF, HALF, QUARTER, QUARTER, HALF+QUARTER, QUARTER,
QUARTER, QUARTER, QUARTER+EIGHTH, EIGHTH, QUARTER, QUARTER, QUARTER,
EIGHTH, EIGHTH, QUARTER, QUARTER, QUARTER, QUARTER, HALF+QUARTER};
int length;
void setup() {
 pinMode(8, OUTPUT);
 length = sizeof(tune) / sizeof(tune[0]);
}
void loop() {
 for (int x=0; x<length; x++) {
 tone(8, tune[x]);
 delay(1500 * duration[x]);
 noTone(8);
 }
 delay(5000);
}

arduino Piezo Sounder Alarm Circuit

 Piezo Sounder Alarm Schematic

Share with Friends:

Related Articles

Arduino Retired Products & Legacy Doc

Arduino Retired Products & Legacy Doc

Arduino Retired Products & Legacy Documentation fromArduino website. Update time : Jan.1.2023&nb…

C02 | The Concept of Algorithms

C02 | The Concept of Algorithms

C语言教程02:算法的概念算法(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。计算机算法 是用计算机求解一个具体问题或执行特定任务的一组有序的操作步骤(或指令),是构成计算…

CODE | Dual Shift Register 8-Bit Binary Counter - Arduino Project 018

CODE | Dual Shift Register 8-Bit Binary Counter - Arduino Project 018

In Project 18, you will daisy chain (or cascade) another 74HC595 IC onto the one used in Project 17…

CODE | 4 Digital 7 Segment Display - Arduino Project 033

CODE | 4 Digital 7 Segment Display - Arduino Project 033

Showing Heep and number 0-9 on a Common Anode 7-segment LED display. Displays the numbers 0-9 on the…

C04 | Compilation and Execution of Programs

C04 | Compilation and Execution of Programs

C语言教程04:程序的编译与运行源程序也称源代码,是指未编译的、按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令,可以用汇编语言或高级语言编写。计算机源代码的最终目的是将人类…

CODE | IR Remote Control - Arduino Project 049

CODE | IR Remote Control - Arduino Project 049

Got it — you’re looking into using an infrared (IR) sensor with an IR remote on…

Post a Comment

Anonymous

Feel free to share your thoughts and opinions here.