Проигрывание мелодий на выходах, использ

Алгоритмы
Проигрывание мелодий на выходах, используя функцию tone()


В этом примере демонстрируется, как использовать команду tone(), чтобы играть различные ноты на выходах.

Команда tone() работает, занимая один из внутренних таймеров Atmega, устанавливая его в необходимую частоту, и используя таймер, чтобы пульсировать выходной пин. Так как используется только один таймер, Вы можете играть только одну ноту за раз. Вы можете, однако, играть ноты по нескольким пинам последовательно. Для этого Вы должны выключить таймер для одного пина перед переходом к следующему.

Спасибо Грегу Боренстеину (Greg Borenstein) за разъяснения.

Цепь:



Схема:



Код:

Нижеприведённый скетч проигрывает ноту на каждом из спикеров последовательно, выключая сначала предыдущий спикер. Заметьте, что продолжительность каждого тона такая же, как задержка, которая следует за ним.

Вот главный скетч:

/*
  Multiple tone player
 
 Plays multiple tones on multiple pins in sequence
 
 circuit:
 * 3 8-ohm speaker on digital pins 6, 7, and 11
 
 created 8 March 2010
 by Tom Igoe 
 based on a snippet from Greg Borenstein

This example code is in the public domain.
 
 http://arduino.cc/en/Tutorial/Tone4
 
 */

void setup() {

}

void loop() {
   // turn off tone function for pin 11:
   noTone(11);			
  // play a note on pin 6 for 200 ms:
  tone(6, 440, 200);
  delay(200);

  // turn off tone function for pin 6:
  noTone(6);
  // play a note on pin 7 for 500 ms:
  tone(7, 494, 500);
  delay(500);
  
  // turn off tone function for pin 7:
  noTone(7);  
  // play a note on pin 11 for 500 ms:
  tone(11, 523, 300);
  delay(300);

}



Оригинал
technik 23.04.2010 в 19.41 (обновлен 23.04.2010 в 19.42) комментарии 0 0

комментарии(0)

Комментировать

Для добавления комментария авторизируйтесь.
Последние комментарии:
© 2012 pobot.ru