#define D1 5 #define D2 4 #define D3 0 #define D5 14 #define D6 12 #define D7 13 #define D8 15 int i; struct matriz{ int d5,d6,d7,d8,tone; String push; }matriz[8]; void setup() { Serial.begin(115200); pinMode(D1,INPUT); pinMode(D3,OUTPUT); pinMode(D5,OUTPUT); pinMode(D6,OUTPUT); pinMode(D7,OUTPUT); pinMode(D8,OUTPUT); Serial.println("Pronto"); matriz[0].d5=0; matriz[0].d6=0; matriz[0].d7=0; matriz[0].d8=0;matriz[0].push="Push 1";matriz[0].tone=4; matriz[1].d5=0; matriz[1].d6=0; matriz[1].d7=0; matriz[1].d8=1;matriz[1].push="Push 2";matriz[1].tone=6; matriz[2].d5=0; matriz[2].d6=0; matriz[2].d7=1; matriz[2].d8=0;matriz[2].push="Push 3";matriz[2].tone=8; matriz[3].d5=0; matriz[3].d6=0; matriz[3].d7=1; matriz[3].d8=1;matriz[3].push="Push 4";matriz[3].tone=10; } void loop() { Serial.println("Ready"); for (int i=0;i<4;i++){ digitalWrite(D5,matriz[i].d5); digitalWrite(D6,matriz[i].d6); digitalWrite(D7,matriz[i].d7); digitalWrite(D8,matriz[i].d8); delay(25); int sinal=0; sinal=digitalRead(D1); if (sinal>0){Serial.println(String(matriz[i].push));sinal=0;tone(D3, matriz[i].tone*100, 500);} } delay(25); }