Este es el problema por el que "la matriz cambia aleatoriamente", mira lo que programaste
//piso -1
if(digitalRead(A) == HIGH && digitalRead(B) == LOW && digitalRead(C) == LOW && digitalRead(D) == LOW ) {
//piso 1
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
//piso 2
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
//piso 3
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
//piso 4
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
//piso 5
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
//piso 6
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
//piso 7
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
//piso 8
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
//piso 9
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
//piso 10
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
//piso 11
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
//piso 12
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
//piso 13
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
// piso 14
if(digitalRead(2) == HIGH && digitalRead(3) == LOW && digitalRead(4) == LOW && digitalRead(5) == LOW ) {
Solo hiciste la combinación de entradas para el "-1" y se repite para todos los pisos, por eso muestra... todos los pisos.
Lo hace tan rápido que parecen números aleatorios pero en realidad es toda la secuencia en un ciclo continuo.
Deberías haber hecho así
//piso -1
if(digitalRead(A) == HIGH && digitalRead(B) == LOW && digitalRead(C) == LOW && digitalRead(D) == LOW ) {
//piso 1
if(digitalRead(A) == HIGH && digitalRead(B) == HIGH && digitalRead(4c) == LOW && digitalRead(D) == LOW ) {
//piso 2
if(digitalRead(A) == LOW && digitalRead(B) == HIGH && digitalRead(4c) == LOW && digitalRead(D) == LOW ) {
//piso 3
if(digitalRead(A) == LOW && digitalRead(B) == HIGH && digitalRead(4c) == HIGH && digitalRead(D) == LOW ) {
...etc.