Arduino Mega

Aha, habe dazu z.B. hier was gefunden.

Aber könnte ich einen Ausgang auch als integer-Variable definieren, und dann mit digitalWrite arbeiten?
Wie ich jetzt gesehen habe, brauch der 74HC164 drei Eingänge und hat acht Ausgänge, also sozusagen 5 Pins zusätzlich.
Könnte man dann die acht Ausgänge z.B. 31,32,33,34,35,36,37,38 nennen und dann z.B. mit pinMode(33, OUTPUT) ihn als Ausgang definieren?
Und kann der Schieberegister genauso als digitaler Aus- wie Eingang benutzt werden?
Und gibt es auch die Möglichkeit, analoge Signale zu senden (PWM) oder zu lesen?