Уф! Попробую ещё раз:следующий шаг такой (в моих обучалках программированию на Ардуине)собираю отдельные простые конструкции воедино на плату (поэтому экономия выводов), прописываю для каждой части свой скетч (хотя бы для loop()), соединяю в одно целое через управление, например кнопкой или таймером (отрабатываю команды goto и return)... возникнут "дурацкие вопросы" - спрошу.
Добавлено спустя 2 часа 31 минуту 32 секунды:Ну вот, подправил схему, чтобы исключить одновременное нажатие кнопок - нажали и ничего не звучит, отпустили лишние - звучит оставшиеся нота. Заодно попробовал и goto. Вывод - три вывода многовато для пищалки ЭМИ. Да и нот надо бы 25... хотя супруга сыграла и "в городе дождь" и "снова мы оторваны от дома" короче ясно к чему...
Код:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Arduino UNO
//
////////////////////////
//
//программа ЭМИ вариант 3 с запретом нажатия более 1 кнопки //
unsigned int n=0;
unsigned int x=0;
unsigned int x1=0;
int tabl [11] ={0,261,293,329,349,392,
440,494,523,587,659}; // зашифрованные данные нот – их частоты
void setup()
{
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
}
void loop()
{
metka:
x1=analogRead(A1);
if ( x1>=106) {goto metka;}// блокировка при нажатии более 1 кнопки
x=analogRead(A0); n=map(x, 0, 1025, 0, 11);
if ( n>0) {tone (13, tabl[n],10);} // исполнение вызванной ноты
else { noTone(13);}
}
//
// Конец /
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////