Paso 3: código
El código implementa el teclado estándar de análisis de rutina de leer y escribir en el chip I2C. Se escanea el teclado seleccionando una columna y luego leyendo las filas para ver cual de los botones es presionado.Primero se pone el chip I2C en modo escritura y todas las clavijas de salida (filas y columnas) son altas, excepto la columna que vamos a analizar, esta se encuentra baja. Después fijar el chip I2C en modo de lectura y leer los pins. Si se presiona uno de los botones de la columna seleccionada, el pin de la fila que está conectado está tirado bajo porque el botón conecta el pin de la fila y columna. Ahora podemos determinar el valor del botón porque tenemos el valor de fila y columna. Si ninguna de las filas es baja, seleccionamos la columna siguiente y volver a leer.
El valor del botón es entonces enviado sobre I2C y UART a la salida, en este caso el display de 7 segmentos (I2C) y un terminal serie (UART) ejecutando en mi equipo.