Entradas y salidas.

Hola Surbay:
Agradecerte la información, me ha aclarado muchos nuevos conceptos, a la vez que me has dado ideas de como solventarlo de otra manera más asequible a mis conocimientos.
La idea es tener un variable decimal, extrayendo la información de los 4 pines más significativos del PORT D. algo ási como tener el valor decimal de una entrada BCD, en los pines 7,6,5 y 4.

byte bcddata;                          
byte extrae = 0B11110000;               
                                 

void setup() {
  DDRD = B00000000;                   
}                     
  
void loop() {
  bcddata = PIND;                    
  bcddata = bcddata & extrae;    
   bcddata = bcddata/16;                                     
              
 }

En general es usar un decodificador de teclado, para introducir la información mediante interrupción e utilizar esos mismos pines para testear sensores.....
Agradeciendo tu ayuda y tu tiempo, recibe un cordial saludo.....