Hola! Amigos.
Llevo algún tiempo realizando una práctica en Arduino con el I2Cbus, basado en el dispositivo de Philips PCF8574P. La verdad es que, no tenía idea de lo complicado que iba a resultar, en principio estoy tratando de realizar un teclado numérico de 4x3, tal cual el ejemplo que aparece en este enlace:
http://www.arduino.cc/playground/Main/I2CPortExpanderAndKeypads
El caso es que he cableado el teclado mediante 12 pulsadores sobre una placa de medidas adecuadas, según se desprende del esquema electrónico que acompaña al mentado ejemplo, he utilizado tres resistencias de 10k a positivo las RPA (Resistencias de Polarización a Alto, más conocido por el término anglosajón Pull-up), o sea, tal cual el ejemplo. He cableado todos los elementos implicados y he cargado el "i2ckeypad.pde" al Arduino, que ya tiene el resto de archivos en su carpeta correcta, supongo por que no me da errores de compilación.
Mi sorpresa es que, tan sólo ha presentado el mensaje: "Testing keypad/PCF8574 I2C port expander arduino lib" en el monitor.
Sin embargo, no consigo que me devuelva el número del pulsador presionado, pensé que se trataba de la patilla 13, que debe ir conectada a masa, pero sorpresa, tampoco es esto.
He leído las hojas de características del PCF8574 y aquí se presenta el primer escollo (no entiendo el inglés) y por consiguiente los detalles se me pierden. Llego a entender que:
Un bit de datos se transfiere en cada de pulso reloj. Los
datos en la línea SDA deben permanecer estables durante el
período de pulso ALTO del reloj, con cambios en la línea de
datos en este tiempo ha de ser interpretado como señales
de control.
Bueno, no se si está bien traducido. Siento haber tomado tanto tiempo, pero quería explicar lo mejor posible mi problema.
Puede ayudarme alguien del foro, por favor.
Un saludo.