Vorrei realizzare un simulatore di guida, ma mi manca un lampo di genio

Provo a spiegarti in modo semplice:

Un pulsante semplicemente chiude un contatto, in genere però si collega l'ingresso di Arduino a VCC (l'alimentazione) e al pulsante collegato a GND (il riferimento 0v) in modo che alla pressione del pulsante la corrente, dovendo scegliere tra andare nell'ingresso o al riferimento, vada al riferimento con la conseguenza che l'ingresso si ritroverà senza corrente (e quindi tensione 0v).

Semplicemente quando leggerai l'ingresso leggerai 1 se il pulsante NON è premuto mentre 0 se E' premuto.

Questa configurazione si chiama pull-up e serve per evitare che interferenze falsino la lettura, se si collegasse l'ingresso direttamente al pulsante collegato a VCC, quando il pulsante non è premuto l'ingresso è scollegato e capta interferenze che potrebbero essere lette come un 1, quindi il programma penserebbe che il pulsante è stato premuto.

Un altra cosa da sapere quando si utilizzano pulsanti è il "deboucing" ovvero quando si preme il pulsante non si ha un passaggio netto dall'1 allo 0 (quindi da VCC a GND) ma qualcosa come questo:

Che quindi va gestito o via hw o via sw, la cosa più semplice è gestirlo via sw con una pausa di 250ms quando si rileva una pressione, per evitare di leggere falsi rilasci del pulsante

Se qualche utente che usa Arduino viene a fare la patente mi raccomando fagli lo sconto
Ciao

PS: al codice di Simoneaudi93 mancano i delay, basta aggiungerli ed è fatta