pensandoci anche i varie if in quel modo sono sbagliati, infatti non premendo nessun pulsante l'else imposta la variabile sempre a zero, penso che si dovrebbe cambiare in questo modo:
if (digitalRead(pinB1)
{
if (var==0) {var=1} else {var=0}
}
ecc. ecc.
mentre dopo il delay
scrivere:
var=0;