Приветствую уважаемые аноны и не очень, хочу сделать примитивный синтезатор. Код: Код (C++): int val = 0; //сюда считываем сигнал void setup() { Serial.begin(9600); // setup serial pinMode(7, OUTPUT); // выход на светодиод digitalWrite(7, LOW); pinMode(11, OUTPUT); // выход на динамик } void loop() { val = analogRead(0); //принмаем сигнал с нулевого аналогового входа и т.д. if(val==0) { digitalWrite(7, HIGH); tone (11, 659); delay(100); } else { digitalWrite(7, LOW); noTone(11); } //ми val = analogRead(1); if(val==0) { digitalWrite(7, HIGH); tone (11, 987); delay(100); } else { digitalWrite(7, LOW); noTone(11); } //си val = analogRead(2); if(val==0) { digitalWrite(7, HIGH); tone (11, 880); delay(100); } else { digitalWrite(7, LOW); noTone(11); } //ля val = analogRead(3); if(val==0) { digitalWrite(7, HIGH); tone (11, 1318); delay(100); } else { digitalWrite(7, LOW); noTone(11); } //ми val = analogRead(4); if(val==0) { digitalWrite(7, HIGH); tone (11, 1046); delay(100); } else { digitalWrite(7, LOW); noTone(11); } //до val = analogRead(5); if(val==0) { digitalWrite(7, HIGH); tone (11, 784); delay(100); } else { digitalWrite(7, LOW); noTone(11); } //соль } Вопрос. Как цифры 659, 987, 880... относятся к ноте или как сделать нужную ноту просто вписав цифру в код.
Находите таблицу частот нот, и вписываете соответствующую цифру. Но таким методом точной звукопередачи в принципе не добиться, и всегда будут присутствовать вторичные и троичные гармоники.
Читаем описание и всё становится понятным Синтаксис tone(pin, frequency) tone(pin, frequency, duration) Параметры pin: вывод, на котором будет генерироваться сигнал frequency: частота сигнала в Герцах - unsigned int duration: длительность сигнала в миллисекундах (опционально) - unsigned long И так как tone() Генерирует на выводе прямоугольный сигнал заданной частоты (с коэффициентом заполнения 50%) Прислушайтесь к предупреждению дяди Вити на счёт гармоник.
Если хочется сделать синтезатор, то надо брать малину, поставить на нее MIDI секвенсор и уже через нее выводить нормальный звук. У ТС получился генератор меандра, а вовсе не синтезатор.