a dinx4 would also help (for the encoder) - could be solved with the pins onboard too but easer to implementate with a Digital-In-Shiftregister
& if you decide to make that project then you could start a "name"list...Labels.ods i can later copy paste this into the code... (my labels in there are not really usefull for you project, but the structure is already for copy paste...)
i hide some tabs in there:
{ ' 3 ' , ' 0 ' , ' 3 ' , ' ' , ' ' , ' ' , ' ' , ' ' },
so dont overwrite this ’, and }{