intmyPins[]={2,3,4,5};// Definisce i pin di uscitaintt=1000;// Durata di un evento in millisecondiinti,j,k;// Variabili di appoggiointn_bit=4;// numero di bitvoidsetup(){for(i=0;i<n_bit;i++)pinMode(myPins[i],OUTPUT);// Assegna la funzione di uscita a ogni pin}voidloop(){for(i=0;i<pow(2,n_bit);i++){// i definisce il generico bitj=i;// j serve per non modificare ifor(k=0;k<n_bit;k++){// scorre i vari bitdigitalWrite(myPins[k],j%2);// estrae il bit meno significativo (LSB)j=j>>1;// sposta i bit a destra perdendo il LSB}delay(t);// attende un tempo pari a t millisecondi }}