Neben dem, was schon geschrieben wurde, noch ein paar grundsätzliche Bemerkungen:
-
Die Pins A6 und A7 des Nano sind reine Analog-Eingänge. Die kannst Du nicht als Digitale Ausgänge nutzen.
-
Was bezweckst Du mit diesen Anweisungen:
digitalWrite(p1, LOW); //Startwert der Buzzer
...
Der Startwert ergibt sich aus der angeschlossenen Hardware.
-
Das hier ist sinnfrei:
if (l1 == HIGH || l2 == HIGH ...
Du vergleichst die Pinnummern mit HIGH/LOW. Aber du willst wohl eher den Status am Pin vergleichen. Ob ein Buzzer gedrückt wurde, machst Du aber besser mit einem Flag. -
Du solltest dich mal ganz dringend mit Arrays beschäftigen.
-
Wenn Du keine externen Widerstände hast, musst Du die Taster zwischen PIN und Gnd anschließen. Den Pin mit INPUT_PULLUP initiieren, und die die Taster als LOW-aktiv abfragen.
-
Um zu wissen, was das Programm macht, musst Du serielle Ausgaben einfügen, und das am ser. Monitor verfolgen.