Пока надо просто выводить сигнал как у спикера, но чего-то звук получается весьма странным, похожим на звукоряд Шепарда. Т.е. не ясно - повышается ли тон или нет.
Можно ли добиться более чистого звучания?
Схему пока сделал на ATtiny13.
Код:
- Код: Выделить всё • Развернуть
#include <delay.h>
int c=0, d=0;
void signal(int d){
PORTB.2=1;
delay_ms(d);
PORTB.2=0;
delay_us(10-d);
}
while (1)
{
if (d==0) c++; else c--;
if ((c > 1000)||(c < 1)){
if (d==0) d=1; else d=0;
}
signal(c/100);
};
}
Результат:
MP3
График