Sistema di controllo zone audio

Salve, sono nuovo all'uso di Arduino e avrei bisogno di qualche consiglio: ho bisogno di realizzare un sistema di controllo per suddividere l'impianto audio per annunci in un mercatino in quattro zone. Il sistema dovrebbe funzionare in due modalità: 1) Annuncio: tutte le quattro zone sono attive, il segnale audio proviene da un amplificatore dedicato agli annunci; 2) Musica di sottofondo: ogni zona indipendentemente può essere attivata, il segnale audio proviene da un amplificatore dedicato alla musica. Per commutare fra una modalità e l'altra ho pensato di mettere un interruttore vicino al microfono per gli annunci e, allo stesso modo, ho pensato di comandare l'attivazione delle singole zone in modalità musicale attraverso altrettanti interruttori. Per la commutazione del segnale (a tensione costante 100V) ho pensato di utilizzare, per facilità, dei relé con stadio pilota (vedi scheda).

Dato, come già ho detto, che sono digiuno di programmazione, ho buttato giù questo programma, ma desidererei quanti più consigli possibile per rendere il sistema migliore (e funzionante):

int releV1 = 0; //rele voce-musica +
int releV2 = 1; //rele voce-musica -
int releZ1 = 2; //rele musica zona 1
int releZ2 = 3; //rele musica zona 2
int releZ3 = 4; //rele musica zona 3
int releZ4 = 5; //rele musica zona 4
int ampliV = 6; //contatto standby ampli voce
int ampliM = 7; //contatto standby ampli musica
int VM = 8; //interruttore voce-musica
int Z1 = 9; //selettore musica zona 1
int Z2 = 10; //selettore musica zona 2
int Z3 = 11; //selettore musica zona 3
int Z4 = 12; //selettore musica zona 4

void setup()
{
pinMode(releV1, OUTPUT);
pinMode(releV2, OUTPUT);
pinMode(releZ1, OUTPUT);
pinMode(releZ2, OUTPUT);
pinMode(releZ3, OUTPUT);
pinMode(releZ4, OUTPUT);
pinMode(ampliV, OUTPUT);
pinMode(ampliM, OUTPUT);
pinMode(VM, INPUT);
pinMode(Z1, INPUT);
pinMode(Z2, INPUT);
pinMode(Z3, INPUT);
pinMode(Z4, INPUT);
}

void loop()
{
if (digitalRead(VM) == HIGH)
{
digitalWrite(releV1, HIGH); //se l'interruttore voce-musica è chiuso tutti i relé vengono eccitati -> linea voce
digitalWrite(releV2, HIGH);
digitalWrite(releZ1, HIGH);
digitalWrite(releZ2, HIGH);
digitalWrite(releZ3, HIGH);
digitalWrite(releZ4, HIGH);

digitalWrite(ampliV, HIGH); //l'amplificatore della voce esce dallo standby
digitalWrite(ampliM, LOW); //l'amplificatore della musica entra in standby

}
else
{
digitalWrite(releV1, LOW); //se l'interruttore voce-musica è aperto i relé V1 e V2 non vengono eccitati -> linea musica
digitalWrite(releV2, LOW);

digitalWrite(ampliV, LOW); //l'amplificatore della voce entra in standby
digitalWrite(ampliM, HIGH); //l'amplificatore della musica esce dallo standby

if (digitalRead(Z1) == HIGH){ //se l'interruttore della zona è chiuso il relé relativo viene eccitato
digitalWrite(releZ1, HIGH);
}

if (digitalRead(Z2) == HIGH){
digitalWrite(releZ2, HIGH);
}

if (digitalRead(Z3) == HIGH){
digitalWrite(releZ3, HIGH);
}

if (digitalRead(Z4) == HIGH){
digitalWrite(releZ4, HIGH);
}

}

}

Nel codice si parla anche di amplificatori in standby perché gli amplificatori RCF che utilizzo hanno la possibilità, aprendo un circuito di comando, di entrare in modalità standby per ridurre i consumi.
Vi ringrazio da subito

Non capisco una cosa... come fai a convertire il suono vero e proprio in un segnale di tipo 1 o 0 ?
hai pensato ad un circuito di conversione ?

Non ho intenzione si convertire il suono in segnale digitale, non devo essermi spiegato. I comandi per selezionare la modalità e l'eccitazione dei relé dovrebbero venire da interruttori, non direttamente dal segnale audio.

hai da quello che ho capito 5 ingressi e 4 uscite, ad ogni ingresso poò corrispondere una o tutte le uscite no?

cioè non capisco se la musica andasse in sottofondo uguale per tutti ti basterebbe un mixer 2 canali, li trovi da 5 canali a 50€ su internet.
colleghi così:
microfono------------->
sorgente musica-----> mixer------>amplificatore finale------->casse

Credo che Elia voglia realizzare una specie di "matrice" audio. Nelle matrici vere e proprie è possibile accendere e spegnere l'audio di ogni singola zona ed assegnare ad ogni zona un audio proveniente da una fonte diversa. Nel caso di Elia, se ho ben capito, sarebbe sufficiente poter attivare o disattivare le singole zone con una musica di sottofondo e nel caso si utilizzi il microfono commutare il segnale dalla musica al microfono ed attivare tutte e 4 le zone indipendentemente che siano spente per l'audio di sottofondo.
Il tutto gestito da dei relè collegati alle uscite dell'Arduino che si occupano di commutare i segnali provenienti da due amplificatori distinti ( uno per la musica e l'altro per il microfono ). In più deve gestire lo stand-by degli amplificatori e "risvegliarli" in caso di necessità. I comandi dovrebbero essere dei semplici interruttori per le 4 zone audio ed un pulsante per il microfono. Spero di aver spiegato bene la situazione.
Non ti so' aiutare molto per il codice anche se mi sembra che dovrebbe essere funzionante, però ti faccio due osservazioni :
La prima è perchè non utilizzi direttamente gli interruttori e il pulsante per comandare i vari relè ?
La seconda, commutare con dei relè tra l'uscita due amplificatori a tensione costante non credo sia una buona soluzione e potrebbe creare dei danni agli amplificatori stessi. Ma l'amplificatore RCF, non ha un comando per commutare sull'ingresso microfonico ? Di solito su questo tipo di amplificatori è presente un apposito contatto e questo ti eviterebbe l'utilizzo di due amplificatori.

Credo che Elia voglia realizzare una specie di "matrice" audio. Nelle matrici vere e proprie è possibile accendere e spegnere l'audio di ogni singola zona ed assegnare ad ogni zona un audio proveniente da una fonte diversa. Nel caso di Elia, se ho ben capito, sarebbe sufficiente poter attivare o disattivare le singole zone con una musica di sottofondo e nel caso si utilizzi il microfono commutare il segnale dalla musica al microfono ed attivare tutte e 4 le zone indipendentemente che siano spente per l'audio di sottofondo.
Il tutto gestito da dei relè collegati alle uscite dell'Arduino che si occupano di commutare i segnali provenienti da due amplificatori distinti ( uno per la musica e l'altro per il microfono ). In più deve gestire lo stand-by degli amplificatori e "risvegliarli" in caso di necessità. I comandi dovrebbero essere dei semplici interruttori per le 4 zone audio ed un pulsante per il microfono. Spero di aver spiegato bene la situazione.

È esattamente ciò che vorrei fare, la parte per il controllo degli amplificatori eventualmente si potrebbe tralasciare e comandare attraverso l'interruttore "voce-musica".

Due questioni: La prima è perché non utilizzi direttamente gli interruttori e il pulsante per comandare i vari relè?

Mi pareva più semplice come gestione, per rendere più semplice possibile il sistema, ma effettivamente potrebbe essere più semplice.

La seconda, commutare con dei relè tra l'uscita due amplificatori a tensione costante non credo sia una buona soluzione e potrebbe creare dei danni agli amplificatori stessi. Ma l'amplificatore RCF, non ha un comando per commutare sull'ingresso microfonico ? Di solito su questo tipo di amplificatori è presente un apposito contatto e questo ti eviterebbe l'utilizzo di due amplificatori.

Non capisco dove starebbe il danno: l'amplificatore non in uso verrebbe messo in standby, quanto al numero di amplificatori non sarebbe un problema (ce li hanno regalati), mentre come pro ci sarebbe la possibilità di regolare in maniera differente il volume nelle due modalità.