Dado que se trata de un teclado matricial de 4x4, la solución más simple , aunque la más vaga y costosa , sería usar un PIC de gama media-alta que contenga unos 18 puertos I/O , los referentes a 16 puertos por el teclado matricial, y 2 más para la comunicación RS232. Lo demás sería, conectar estos dos puertos a un MAX232 y mediante un conector DB9 , al ordenador.
Ahí , con visual basic (por experiencia) yo usaría el control Mscomm para I/O de datos seriales. Lo demás tan solo sería crear,editar y manejar la base de datos con los datos que lleguen y/o insertemos desde el PC.
Llega una contraseña numérica via RS232, y la trata visual basic. Y si corresponde a un codigo valido, podrias usar otro puerto serie que llegue a un PIC conectado a varios relés, o de lo contrario un puerto paralelo provisto de opto-acopladores (no vayamos a freir el puerto). En lo que se refiere a manejo de puertos paralelos mediante visual basic, no tengo ni idea, pero en internet hay un monton de material disponible.
saludos!