Buzzer — elektromehaaniline, elektrooniline või piesoelektriline signaalseade.

Ülesanne 6 Buzzeri kasutamine
Подобный прибор может использоваться в многих приборах где издаются незамысловатые звуки ( духовка, микроволновка, старые телефоны)
char notes1[] = «cdfda ag cdfdg gf»; задает ноты с помощью букв, каждая буква определенная нота
int beats1[] = {1, 1, 1, 1, 1, 1, 4, 4, 2, 1, 1, 1, 1, 1, 1, 4, 4, 2}; продолжительность каждой ноты
int tempo1 = 150; темп мелодии, чем меньше значение, тем быстрее темп
int songLength2 = 29; длинна мелодии
Я использовал в своей сборке: 7 проводов, потенциометр и базер

töövideo:
https://drive.google.com/file/d/1Qkq72dK014cYe5AOBWekO8XafyHV0YoO/view?usp=sharing
https://drive.google.com/file/d/1GpQjftfhyaA74pR1cdSz3qaws1RToJ61/view?usp=sharing
const int buzzerPin = 9;
const int potepin = A0;
// 1
char notes1[] = "cdfda ag cdfdg gf";
int beats1[] = {1, 1, 1, 1, 1, 1, 4, 4, 2, 1, 1, 1, 1, 1, 1, 4, 4, 2};
int tempo1 = 150;
int songLength1 = 18;
// 2
char notes2[] = "dbbabgdddbbCaD DeeCCbagdbbabg";
int beats2[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 2, 1};
int tempo2 = 200;
int songLength2 = 29;
//3
char melody[] = "ccggeCFFCC GGFFECCggccggeCFFCC GGFFECCg";
int Durations[] = { 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};
int Value;
void setup() {
pinMode(buzzerPin, OUTPUT);
pinMode(potepin, INPUT);
}
void loop() {
Value = analogRead(potepin);
Value = map(Value, 0, 1023, 1, 6);
Value = constrain(Value, 1, 6);
int i, duration;
if (Value == 1) {
for (i = 0; i < songLength1; i++) {
duration = beats1[i] * tempo1;
if (notes1[i] == ' ') {
delay(duration);
} else {
tone(buzzerPin, frequency(notes1[i]), duration);
delay(duration);
}
delay(tempo1 / 10);
}
while(true){}
}
else if (Value == 2) {
for (i = 0; i < songLength2; i++) {
duration = beats2[i] * tempo2;
if (notes2[i] == ' ') {
delay(duration);
} else {
tone(buzzerPin, frequency(notes2[i]), duration);
delay(duration);
}
delay(tempo2 / 10);
}
while(true){}
}
else if (Value == 3) {
for(int i=0;i<2;i++){
for (int Note = 0; Note < 28; Note++) {
int Duration = 1000/Durations[Note];
tone(buzzerPin, melody[Note], Duration);
int pauseNotes = Duration * 1.30;
delay(pauseNotes);
noTone(buzzerPin);
}
delay(200);
}
delay(6000);
}
}
int frequency(char note) {
int i;
const int numNotes = 8;
char names[] = {'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C'};
int frequencies[] = {262, 294, 330, 349, 392, 440, 494, 523};
for (i = 0; i < numNotes; i++) {
if (names[i] == note) {
return frequencies[i];
}
}
return 0;
}