Информационный портал MSEVM






Главная > Arduino > Учебник для MEGA2560 > Урок 07. Passive buzzer (Пассивный зуммер).


На этом уроке вы узнаете, как использовать пассивный зуммер. Цель эксперимента - создать восемь разных звуков, каждый звук длительность 0,5 секунды: от Alto Do (523 Гц), Re (587 Гц), Mi (659 Гц), Fa (698 Гц), So (784 Гц), La (880 Гц), Si (988 Гц) до высоких частот

Необходимые компоненты:

  • Lafvin Mega2560 R3 - 1шт.
  • Пассивный зуммер - 1шт.
  • F-М провода - 2шт.


Описание компонентов

Пассивный зуммер:

Принцип работы пассивного зуммера заключается в использовании PWM для генерации звуковых колебаний. Например, отправляя импульс 523 Гц, он может генерировать Alto Do, импульс с частотой 587 Гц, он может генерировать среднечастотный Re, импульс с частотой 659 Гц, он может издать среднечастотные ми и т.д. Зуммером, вы можете играть мелодию. Нельзя использовать аналоговую функцию Write () - плата MEGA2560 R3 генерирует импульс на зуммер, импульсный выход аналогового Write () фиксированный (500 Гц).



Принципиальная схема:



Монтажная схема:



Подключите зуммер к плате MEGA2560 R3, красный (положительный) к контакту 8, черный провод (отрицательный) к общему проводу.

Код:

После подключения, пожалуйста, откройте программу из папки с кодом - Урок 7 "Пассивный зуммер" и нажмите ЗАГРУЗИТЬ, чтобы загрузить программу. См. Урок 2 для получения подробной информации о процессе загрузки, если есть какие-либо ошибки. Прежде чем вы сможете запустить скетч, убедитесь, что вы установили библиотеку pitches или переустановите её, если необходимо. В противном случае ваш код не будет работать. Подробнее о загрузке файла библиотеки см. Урок 1

#include "pitches.h"
 
// notes in the melody:
int melody[] = {
  NOTE_C5, NOTE_D5, NOTE_E5, NOTE_F5, NOTE_G5, NOTE_A5, NOTE_B5, NOTE_C6};
int duration = 500;  // 500 miliseconds
 
void setup() {
 
}
 
void loop() {  
  for (int thisNote = 0; thisNote < 8; thisNote++) {
    // pin8 output the voice, every scale is 0.5 sencond
    tone(8, melody[thisNote], duration);
     
    // Output the voice after several minutes
    delay(1000);
  }
   
  // restart after two seconds 
  delay(2000);
}


Пример:





Тема форума: http://msevm.com/forum/index.php?topic=9893





e-mail рассылки
Радиолюбитель
Подписаться письмом

















afb44aa5




Яндекс цитирования Rambler's Top100