Arduino. Как сделать мелодию для двух и более пьезоизлучателей?
"Воспроизводиться одновременно может только один сигнал. Если сигнал уже воспроизводится на одном порту, то вызов Tone() с номером другого порта в качестве параметра ни к чему не приведет, если же Tone() будет вызвана с тем же номером порта, то будет установлена новая частота сигнала."
Походу средствами Arduino никак."Генерирует на порту вход/выхода сигнал — прямоугольную "волну", заданной частоты и с 50% рабочим циклом. Длительность может быть задана параметром, в противном случае сигнал генерируется пока не будет вызвана функция noTone(). К порту вход/выхода может быть подключен к  пьезо или другой динамик для воспроизведения сигнала.
Использование функции Tone() помешает использовать ШИМ на портах вход/выхода 3 и 11 (кроме платы Arduino Mega)."
Из этого следует, что реализован он на таймере.
А таймеров на Уне 3шт, на меге 4шт, если не ошибаюсь. Нулевой затронет задержку (delay), его лучше не трогать.
Так что вам надо идти к тем, кто программирует Atmel'ы, а не ардуины и спросить, как сделать меандр на x Герц на Си/Ассемблере на несколько пинов с разной частотой.
Либо если функционал минимален, попробовать просто включать выключать порт с задержками в миллисекунды, впихнуть в это функцию и радоваться жизни. Но это будет сильно нагружать МК, если делать в лоб.
Ну или найти что-то, что будет генерировать меандр заданной частоты и управляться от МК.
Чтобы с помощью Arduino управлять генерацией сигналов, потребуется изучить генерацию сигналов в режиме быстрого ШИМ (широтно-умпульсная модуляция). Я думаю, данная статья о генерации сигналов с помощью Arduino окажется не бесполезной.Arduino. Генератор сигналов