Всем привет. После приобретения чудесной платы Freeduino, разные творческие мысли стали приходить в голову намного чаще. И вот, однажды я подумал, что раз ATmega является 8-битным микроконтроллером, да еще и имеет в наличии ШИМ выходы, то почему-бы не заставить играть трекерную музыку (в духе комондор, спектрум, денди), иначе ее еще называют chiptune или просто 8bit. Имеено так родилась идея данного проекта на Arduino.
Естественно, в данных приставках использовались продвинутые генераторы сигналов различной формы, но наша задача стоит не изобрести заново такой генератор (хотя я видел такую плату для ардуино в продаже), а добиться подобного штатными средствами.
Раз порты микроконтроллера имеют ШИМ модуляцию, то как вы помните, мы можем изменять на них значение напряжения от 0 до 5В, что нам и потребуется для генерации музыки.
Сперва я присматривался к функции tone() и использовал стандартный скетч PlayMelody, который проигрывает скушную и маленькую мелодию. Думаю вы тоже пробовали запускать ее, но это вам не особо понравилось.
Далее я обыскал пол-интернета в поисках более-менее разумного решения, но все упиралось в tone() и ничего толкового небыло. Но в один из дней мне улыбнулась удача, и на одном из американских сайтов нашел занятную ссылочку на блог, в котором чувак реализовал мою мечту. Правда у него был всего-навсего один пример, что несомненно печально, но зато я удовлетворил свое любопытство.
Вот оригинальная версия того архива - Скачать. Все, что нужно сделать, это расположить папку bassdll в arduino\hardware\libraries и залить предложенный в примерах скетч.
Далее втыкаете 3 маленьких динамика в 12,11,10 порты, и наслаждаетесь. В моем случае у меня нашлось 3 динамика, один из которых к сожалению не работал, пришлось заменить его дешевым пьезо-динамичком из валявшихся на полке часов-пейджера (если кто помнит такие :))
В общем эксперементы с Arduino (Freeduino) продолжаются, и скоро будет много всего интересного.
P.S. пора покупать макетную плату, ибо так жутко неудобно. И вам советую тоже
Если вам понравилась (или не понравилась) статья Chiptune на Arduino, пожалуйста выскажите свое мнение о ней. Вы можете обсудить эту статью на нашем форуме
Мы будем очень рады, если вы присоединитесь к нашему дружному сообществу! Ведь вместе мы сможем делиться разными советами, техниками и руководствами, и только объединившись мы сделаем этот мир чуточку светлее :)