Controle Servos (8) com push buttons (16)

Prezados!!
Sou novato no Fórum, novato em eletrônica, e mais ainda em programação.
Tenho uma dúvida com relação a programação do arduíno (Nano ou Uno), para controle de 08 servos, sendo 02 botões para cada servo.
Na verdade é um controle de desvios de linha de trem (8 desvios).
São dois botões push button para cada servo, um botão movimenta para direita(84°), outro para a esquerda(110°).
Consegui realizar um desvio com o arduíno Nano, mas a quantidade de portas é pouca. Ouvi falar que tem como fazer a leitura de vários botões com uma porta/pino, mas não estou conseguindo entender isso. Alguém pode me ajudar?!
Grato.

Uma sugestão é vc trabalhar mais na hr da programação por exemplo vc pode fazer uma função para os botoes
com a utilização de (WHILE,IF, ELSE) a ideia é a seguinte fazer os botoes temporizados por exemplo se vc precionar o botao 1 segundos ele vai escolher o servo 1 se vc apertar o botão 2 segundos ele vai selecionar o servo 2 e assim por diante isso é uma opção.
Outra opção é usar contadores incrementais na programação por exmplo vc preciona o botão 3 vezes e vc coloca um botão confirma ai fica selecionado o sevo 3 se vc precionar o botao 4 vezes e preciona o botao confirma ai vc seleciona o servo 4 e assim por diante para ficar mais legal vc pode colocar um display de 7 segmentos para vizualizar qual servo vc está selecionando.
Com essas sujestões vc vai pecisar de poucas portas.
Abç.