BUZZER

Katse 1

BUZZER на arduino выглядит так

const int buzzerPin = 9;

// Мы создали массив с нотами, которые хотим воспроизвести, измените эти значения, чтобы создать свои мелодии!

// Длина должна равняться общему количеству нот и пауз

const int songLength = 18;

// Обозначение нот представляет собой массив из текстовых символов,

// соответствующим нотам в песне. Пробел означает паузу (пустую ноту)

char notes[] = “cdfda ag cdfdg gf “; // пробелы означают паузы

// Ритм задается массивом из длительности нот и пауз между ними.

// “1” – четвертная нота, “2” – половинная, и т.д.

// Не забывайте, что пробелы должны быть тоже определенной длинны.

int beats[] = {1,1,1,1,1,1,4,4,2,1,1,1,1,1,1,4,4,2};

// “tempo” это скорость проигрывания мелодии.

// Для того, чтобы мелодия проигрывалась быстрее, вы

// должны уменьшить следующее значение.

int tempo = 150;

void setup()

{

pinMode(buzzerPin, OUTPUT);

}

void loop()

{

int i, duration;

for (i = 0; i < songLength; i++) // пошаговое воспроизведение из массива

{

duration = beats[i] * tempo;  // длительность нот/пауз в ms    

if (notes[i] == ' ')          // если нота отсутствует? 

{

  delay(duration);            // тогда не большая пауза

}

else                          // в противном случае играть

{

  tone(buzzerPin, frequency(notes[i]), duration);

  delay(duration);            // ждать пока проигрывается

}

delay(tempo/10);              // маленькая пауза между нотами

}

// Мы хотим, чтобы мелодия проиграла всего один раз, так что здесь остановимся окончательно:

while(true){}

// Если же вы хотите, чтобы мелодия играть снова и снова, Удалить вышеуказанное заявление

}

int frequency(char note)

{

// Эта функция принимает символ ноты (a-g), и возвращает

// частоту в Гц для функции tone().

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); // Поиск символа не дал результата? Но, необходимо вернуть какое-то значение, так вернем 0.

}

BUZZER

Pianino

Ma kasutasin:
Arendusplaat
Arduino Uno
Juhtmed
1 Piezo
3 nuppu
3 resistorid

BUZZER на arduino выглядит так
    #define BUZZER_PIN 13 
    #define FIRST_KEY_PIN 7  
    #define second_KEY_PIN 8
    #define third_KEY_PIN 9
     
    void setup()
    {
      pinMode(BUZZER_PIN, OUTPUT);
    }
     
    void loop()
    {
        boolean keyUp1 = digitalRead(FIRST_KEY_PIN);
     	boolean keyUp2 = digitalRead(second_KEY_PIN);
        boolean keyUp3 = digitalRead(third_KEY_PIN);
        if (!keyUp1) {
          int frequency = 226;
        	tone(BUZZER_PIN, frequency, 20);
        }
     	if (!keyUp2) {
          int frequency = 330; 
        	tone(BUZZER_PIN, frequency, 20);
        }
        if (!keyUp3) {
          int frequency = 392;
        	tone(BUZZER_PIN, frequency, 20);
        }
      }
   


   
https://www.tinkercad.com/things/eKf4c2VzPRO

Video:

Kasutamisvõimalused tavaelus:

Используется в повседневности, например: динамики телефонов, колонки, электронные муз инструменты. Подходит практически для всего.

Katse BUZZER