Создание мелодии с использованием функции tone()

Интернет-магазин

Новости Arduino

16 декабря 2013г.
Flutter - платформа разработки, основанная на Arduino
01 марта 2013г.
TV-выход на Arduino
08 февраля 2013г.
Raspberry Pi медиацентр своими руками
08 ноября 2012г.
Пополнение в библиотеке - Bionic Arduino на русском языке
04 июля 2012г.
Сонар для слепых на базе Arduino Mini Pro
30 мая 2012г.
Новости Raspberry Pi или шесть мучительных недель
16 мая 2012г.
Подключение датчика движения к Ардуино
14 февраля 2012г.
Arduino Pong - игровая платформа

Контактные данные

Телефон:
(093) 503-26-13
Электронная почта:

 

Главная Библиотека Arduino Arduino проекты Создание мелодии с использованием функции tone()

Создание мелодии с использованием функции tone()

Библиотека Arduino Arduino проекты

Этот пример показывает, как использовать команду tone () для создания звуковых эффектов. Она воспроизводит некоторые мелодии, которые вы могли слышать раньше.

Требования к аппаратному обеспечению:
  • Arduino плата
  • маленький динамик с сопротивлением 8 Ом 
  • резистор 100 Ом резистор
  • соединительные провода

Подключение

 

Подключите один контакт динамика к цифровому выводу 8 через резистор 100 Ом. Подключите другой контакт на землю.

Схема


 

 

 

Код


Приведенный ниже код использует дополнительный файл, pitches.h. Этот файл содержит все значения шага для простых звуков. Например, NOTE_C4 является нотой Си. NOTE_FS 4, фа-диез, и так далее. Эта таблица нот была первоначально написана Бреттом Хагманом, на чьей работе команда tone () была основана. Она может быть полезна, когда вы хотите сделать музыкальные эффекты.

Основная программа выглядит следующим образом:

 


#include «pitches.h»

 

// ноты в мелодии:

int melody[] = {

NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};

 

// продолжительность ноты: 4 = четверть ноты, 8 = восьмая часть, и т.д.:

int noteDurations[] = {

4, 8, 8, 4,4,4,4,4 };

 

void setup () {

//перебор нот мелодии:

for (int thisNote = 0; thisNote < 8; thisNote++) {

 

// для расчета продолжительности мелодии взята одна секунда
//разделенная на тип ноты.
//e.g. четверть ноты= 1000 / 4, восьмая часть = 1000/8, etc.
int noteDuration = 1000/noteDurations[thisNote];

tone (8, melody[thisNote],noteDuration);

 

//чтоб разделить ноты установим минимальную паузу между ними.
// длительност ноты + 30% вполне подойдет:

int pauseBetweenNotes = noteDuration * 1.30;

delay (pauseBetweenNotes);

// stop the tone playing:

noTone (8);

}

}

 

void loop () {

// не нужно повторять мелодию.

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Создание мелодии с использованием функции tone()

13.05.2011, 6331 просмотр.

Корзина пуста

Перейдите в каталог, выберите требуемый товар и добавьте его в корзину.

Метки