boolean flag[8]={0,0,0,0,0,0,0,0}; boolean bloq=0; void setup() { // initialize serial communications at 19200 bps: Serial.begin(19200); for (int i=2; i <= 9; i++){ pinMode(i, INPUT); digitalWrite(i,HIGH); } } void loop() { if (bloq==0) { if (!digitalRead(2)) {bloq=1; flag[0]=1; Serial.print(1,BYTE);} else if (!digitalRead(3)) {bloq=1; flag[1]=1; Serial.print(2,BYTE);} else if (!digitalRead(4)) {bloq=1; flag[2]=1; Serial.print(3,BYTE);} else if (!digitalRead(5)) {bloq=1; flag[3]=1; Serial.print(4,BYTE);} else if (!digitalRead(6)) {bloq=1; flag[4]=1; Serial.print(5,BYTE);} else if (!digitalRead(7)) {bloq=1; flag[5]=1; Serial.print(6,BYTE);} else if (!digitalRead(8)) {bloq=1; flag[6]=1; Serial.print(7,BYTE);} else if (!digitalRead(9)) {bloq=1; flag[7]=1; Serial.print(8,BYTE);} } else { for (int i=2; i <= 9; i++){ if ((flag[i-2]==1)&&(digitalRead(i))) {bloq=0; flag[i-2]=0; Serial.print(0,BYTE);} } } delay(500); }