riproduzione tastiera sonora

Salve a tutti sono nuovo da queste parti , e stavo realizzando un progetto che aveva come obbiettivo riprodurre attraverso un telecomando la combinazione dei tasti che venivano premuti cioè una tastiera con 4 bottoni che suonano le note do re mi fa, e successivamente attraverso un telecomando riprodurre la sequenza, spero di essermi spiegato bene :stuck_out_tongue:
il problema nel quelle mi sono imbattuto e nella realizzazione del ciclo che riconosca quale tra i 4 bottoni e stato premuto per primo,secondo,terzo,quarto ho provato diverse volte.
questo e il codice normale che fa funziona i 4 bottoni

int notes[] = {262, 294, 330, 349};
int buttonPin = 2; 
int buttonPin2 = 3;
int buttonPin3 = 4;
int buttonPin4 = 5;
int buz = 8;
int buttonState = 0;
int buttonState2 = 0; 
int buttonState3 = 0; 
int buttonState4 = 0; 
void setup()
{
  pinMode(buz, OUTPUT);   
  pinMode(buttonPin, INPUT); 
  Serial.begin(9600);
}

void loop() {
 
   buttonState = digitalRead(buttonPin);
    if(buttonState == HIGH){
    tone(buz, notes[0]);
    delay(500);
    ordine[t] = primo;
    a++;
  }
     buttonState2=digitalRead(buttonPin2);
    if(buttonState2 == HIGH){
     ordine[t] = secondo;
    tone(buz, notes[1]);
    delay(500);
  
  }
     buttonState3 = digitalRead(buttonPin3);
    if(buttonState3 == HIGH){
     ordine[t] = terzo;
    tone(buz, notes[2]);
    delay(500);
    
  
  }
     buttonState4 = digitalRead(buttonPin4);
    if(buttonState4 == HIGH){
    ordine[t] = quarto;
    tone(buz, notes[3]);
    delay(500);
  
  }
 

     noTone(buz);

}

questo un altro contenete le combinazione e il ciclo ma privo della libreria tone

const int puls1 = 2;
const int puls2 = 3;
const int puls3 = 4;
const int puls4 = 5;

int stato1;
int stato2;
int stato3;
int stato4;
int primo;
int secondo;
int terzo;
int quarto;


void setup() {
pinMode(puls1, INPUT);
pinMode(puls2, INPUT);
pinMode(puls3, INPUT);
pinMode(puls4, INPUT);
Serial.begin(9600);
}

void loop()
{
   stato1=digitalRead(puls1);//100
   Serial.println(stato1);
   stato2=digitalRead(puls2);//200
  Serial.println(stato2);
   stato3=digitalRead(puls3);//300
  Serial.println(stato3);
   stato4=digitalRead(puls4);//400
  Serial.println(stato4);
   primo=pos1();
   secondo=pos2();
   terzo=pos3();
   quarto=pos4();
   int prova[]={primo,secondo,terzo,quarto};
   for(int i=0; i<4; i++)
   Serial.println(prova[i]);
}

int pos1()
{
  if(stato1==HIGH && stato2==LOW && stato3==LOW && stato4==LOW)
     return stato1;
  if(stato1==LOW && stato2==HIGH && stato3==LOW && stato4==LOW)
     return stato2;
  if(stato1==LOW && stato2==LOW && stato3==HIGH && stato4==LOW)
     return stato3;
  if(stato1==LOW && stato2==LOW && stato3==LOW && stato4==HIGH)
     return stato4;
}

int pos2()
{
  if(primo==stato1)
  {
    if(stato2==HIGH && stato3==LOW && stato4==LOW)
     return stato2;
    if(stato2==LOW && stato3==HIGH && stato4==LOW)
     return stato3;
    if(stato2==LOW && stato3==LOW && stato4==HIGH)
     return stato4;
  }
   if(primo==stato2)
  {
    if(stato1==HIGH && stato3==LOW && stato4==LOW)
     return stato1;
    if(stato1==LOW && stato3==HIGH && stato4==LOW)
     return stato3;
    if(stato1==LOW && stato3==LOW && stato4==HIGH)
     return stato4;
  }
   if(primo==stato3)
  {
    if(stato1==HIGH && stato2==LOW && stato4==LOW)
     return stato1;
    if(stato1==LOW && stato2==HIGH && stato4==LOW)
     return stato2;
    if(stato1==LOW && stato2==LOW && stato4==HIGH)
     return stato4;
  }
   if(primo==stato4)
  {
    if(stato1==HIGH && stato2==LOW && stato3==LOW)
     return stato1;
    if(stato2==LOW && stato3==HIGH && stato4==LOW)
     return stato2;
    if(stato2==LOW && stato3==LOW && stato4==HIGH)
     return stato3;
  }
}

int pos3()
{
  if(primo==stato2 && secondo==stato3)
  {
    if(stato1==HIGH && stato4==LOW)
     return stato1;
    if(stato1==LOW && stato4==HIGH)
     return stato4;
  }
 if(primo==stato2 && secondo==stato1)
  {
    if(stato3==HIGH && stato4==LOW)
     return stato3;
    if(stato3==LOW && stato4==HIGH)
     return stato4;
  }
 if(primo==stato3 && secondo==stato2)
  {
    if(stato1==HIGH && stato4==LOW)
     return stato1;
    if(stato1==LOW && stato4==HIGH)
     return stato4;
  }
 if(primo==stato3 && secondo==stato1)
  {
    if(stato2==HIGH && stato4==LOW)
     return stato2;
    if(stato2==LOW && stato4==HIGH)
     return stato4;
  }
 if(primo==stato1 && secondo==stato3)
  {
    if(stato2==HIGH && stato4==LOW)
     return stato2;
    if(stato2==LOW && stato4==HIGH)
     return stato4;
  }
   if(primo==stato1 && secondo==stato2)
  {
    if(stato3==HIGH && stato4==LOW)
     return stato3;
    if(stato3==LOW && stato4==HIGH)
     return stato4;
  } 
}

int pos4()
{
  if(primo==stato1 && secondo==stato2 && terzo==stato3)
    return stato4;
    
  if(primo==stato1 && secondo==stato2 && terzo==stato4)
    return stato3;
    
  if(primo==stato1 && secondo==stato3 && terzo==stato2)
    return stato4;
  
  if(primo==stato1 && secondo==stato3 && terzo==stato4)
    return stato2;
    
  if(primo==stato1 && secondo==stato4 && terzo==stato2)
    return stato3;
    
  if(primo==stato1 && secondo==stato4 && terzo==stato3)
    return stato2;
    
  if(primo==stato2 && secondo==stato1 && terzo==stato3)
    return stato4;
    
  if(primo==stato2 && secondo==stato1 && terzo==stato4)
    return stato3;
    
  if(primo==stato2 && secondo==stato3 && terzo==stato1)
    return stato4;
    
  if(primo==stato2 && secondo==stato3 && terzo==stato4)
    return stato1;
    
  if(primo==stato2 && secondo==stato4 && terzo==stato1)
    return stato3;
    
  if(primo==stato2 && secondo==stato4 && terzo==stato3)
    return stato1;
    
  if(primo==stato3 && secondo==stato1 && terzo==stato2)
    return stato4;
    
  if(primo==stato3 && secondo==stato1 && terzo==stato4)
    return stato2;
    
  if(primo==stato3 && secondo==stato2 && terzo==stato1)
    return stato4;
    
  if(primo==stato3 && secondo==stato2 && terzo==stato1)
    return stato2;
    
  if(primo==stato3 && secondo==stato4 && terzo==stato2)
    return stato1;
    
  if(primo==stato4 && secondo==stato1 && terzo==stato2)
    return stato3;
    
  if(primo==stato4 && secondo==stato1 && terzo==stato3)
    return stato2;
    
  if(primo==stato4 && secondo==stato2 && terzo==stato1)
    return stato3;
    
  if(primo==stato4 && secondo==stato2 && terzo==stato3)
    return stato1;
    
  if(primo==stato4 && secondo==stato3 && terzo==stato1)
    return stato2;
    
  if(primo==stato4 && secondo==stato3 && terzo==stato2)
    return stato1;
    
}

nei diversi sketch realizzati utilizzo un vettore e diversi if

Benvenuto. :) Ti invitiamo a presentarti qui: http://forum.arduino.cc/index.php?topic=113640.0 e a leggere il regolamento: http://forum.arduino.cc/index.php?topic=149082.0 - qui una serie di schede by xxxPighi per i collegamenti elettronici vari: http://forum.arduino.cc/index.php?topic=146152.0 - qui le pinout delle varie schede by xxxPighi: http://forum.arduino.cc/index.php?topic=151646.0 - qui una serie di link generici utili: http://forum.arduino.cc/index.php?topic=126861.0

Il codice che posti nel messaggio DEVE essere racchiuso nei TAG code. Vedi regolamento sezione 7 spiega bene come fare.
Altrimenti vedi che parte del codice viene interpretato come comandi html di formattazione ed il tuo codice ad un certo punto diventa in italico ed è sparita parte del codice.

Grazie mille per le informazione cmq per la parte del circuito non ho nessun problema

Fa nulla ho gia risolto e funziona grazie di tutto cmq viva Bangood!! ]:D