Вот на днях хотел сделать проект, но не хватает одной изюминки. Хотел, чтобы зуммер проигрывал какую-нибудь простую мелодию, но не знаю как это сделать на JavaScript. Помогите пожалуйста!
Эксперимент 2. Восьмибитный аудиоплеер - http://wiki.amperka.ru/iot И вот прям пример http://wiki.amperka.ru/js:ringtone Мелодии можно в инете найти, видел сборник на 10000 мелодий в формате RTTTL в файлах.
Ну или открываем тему: http://forum.amperka.ru/threads/Мелодии-для-пьезопищалки.272/ Смотрим, как люди делали на Arduino, затем делаем под JS. У Arduino функция tone берет три параметра: pin, frequency, duration, где pin — пин, к которому подключен зуммер, frequency — частота в герцах, а duration — время звучания в миллисекундах. Что у JS? В библиотеке @amperka/buzzer есть несколько методов, которые помогут сделать подобное: frequency() — та самая частота в герцах, beep(onTime [,offTime]) — функция заставляет баззер издавать периодический прерывистый звуковой сигнал с указанным временем включенного и выключенного состояния, в секундах. Опускаем второй параметр — получаем одиночный сигнал. Тогда, функция tone(9, 700, 300); в JS будет выглядеть так: Код (Text): myBuzzer.frequency(700); myBuzzer.beep(300/1000); //У Arduino миллисекунды, а тут секунды, не забываем. Ну или делаем дуиновскую функцию: Код (Javascript): function tone(obj, frequency, frequency) { obj.frequency(frequency); obj.beep(duration/1000); } А потом используем ее как дуиновскую, только вместо пина, первым параметром указываем объект Buzzer, тобишь если библиотеку подключили так: Код (Javascript): var myBuzzer = require('@amperka/buzzer').connect(P6); То вызываем так: Код (Javascript): tone(myBuzzer, 700, 300); // Все равно, что tone(6, 700, 300); в Arduino