Autor Tema: teclado capacitivo ttp229 i2c mikroc  (Leído 371 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado yerolandin

  • PIC10
  • *
  • Mensajes: 3
teclado capacitivo ttp229 i2c mikroc
« en: 29 de Diciembre de 2016, 10:43:09 »
hola foreros, compre un teclado capacitivo i2c ttp229 , para usarlo con un pic18f4550 por i2c, pero les confieso que no doy una con este teclado por i2c  :5], por favor alguin me puede dar algun ejemplo por i2c en mikroc , graciaaaaaaaaas

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 6215
Re:teclado capacitivo ttp229 i2c mikroc
« Respuesta #1 en: 29 de Diciembre de 2016, 11:00:03 »
Acabo de ver el datasheet y no es I2C, es un SPI. El cual lo mas seguro es que tengas que realizarlo por software por la cantidad de bits. Pero se podria hacer por hardware.

Ademas no se como estan las entradas que determinan si se usa 8 o 16 bits y si esta invertido o no. Esto se realiza con las entradas TP0 y TP1.
Luego la forma de envio y los tiempos de TODOS los casos estan explicados claramente en el datasheet, y los cuales tenes que respetar.

http://www.tontek.com.tw/download.asp?sn=726

Pagina 8.

Desconectado yerolandin

  • PIC10
  • *
  • Mensajes: 3
Re:teclado capacitivo ttp229 i2c mikroc
« Respuesta #2 en: 29 de Diciembre de 2016, 11:25:11 »
hola, gracias por su pronta respuesta,  en el datasheet dice que los pines 12 y 13 son SDO y SCL, parece que confundi SDO con SDA, gracias :(

Desconectado mastercel

  • PIC10
  • *
  • Mensajes: 5
Re:teclado capacitivo ttp229 i2c mikroc
« Respuesta #3 en: 04 de Julio de 2017, 22:12:21 »
pues creo creer que este intergado es muy parecido al pcb8574 y el protocolo si es i2c , el problema alomejor es la testeada de cada tecla pulsada

Desconectado mastercel

  • PIC10
  • *
  • Mensajes: 5
Re:teclado capacitivo ttp229 i2c mikroc
« Respuesta #4 en: 10 de Enero de 2018, 01:40:10 »
Cabe mencionar que el dstasheet si menciona que es i2c, https://www.openimpulse.com/blog/wp-content/uploads/wpsc/downloadables/TTP229-Capacitive-Touch-Sensor-Module-16-channels-Datasheet.pdf  lo que pasa es que en las placas que venden no viene habilitado el pin 14 y ese es el sda , por lo que se tiene que eliminar un pin para poder hacer un puente hacia los conectores de la pcb , asi el sda queda y el scl, y la interrupcion por tecla presionada quedaria en sdo , voy a hacer pruebas y posteare un video, por que lo estoy implementando en pic16f1827 .

Desconectado mastercel

  • PIC10
  • *
  • Mensajes: 5
Re:teclado capacitivo ttp229 i2c mikroc
« Respuesta #5 en: 12 de Enero de 2018, 00:01:15 »
me respondo a mi mismo, el integrado que tiene esta PCB , es ttp229-bsf y el que tiene i2c es ttp229-Lsf asi que el que estamos usando(ttp229-bsf) tiene protocolo 2wire serial , mas no i2c ni spi , por que el spi recordemos que tiene 4 o mas pines, ya sea pata reloj y para llamar a cada uno de los dispositivos. No he leido como funciona bien este modulo, pero creo que seria mejor cambiar de ic o  ver el protocolo i2c a ver si se puede implementar algo aqui.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 6215
Re:teclado capacitivo ttp229 i2c mikroc
« Respuesta #6 en: 12 de Enero de 2018, 09:54:16 »
Es un SPI, en el SPI tenes 2 lineas como minimo, CLK, salida serial ( MOSI ) , entrada serial (MISO) y seleccion de Chip (CS)

Lo minimo que podes tener es leer, que seria CLK y MISO en tu integrado o en como lo clasifica PIC es SDI (serial data input) y CLK. Lo feo es que la salida tambien quedaria sin utilizar en el PIC

El procedimiento para leer es leer el pin de datos de entrada hasta que exista un 0 y esperar un minimo de 100us, luego de alli usar el SPI , enviar cualquier cosa por ejemplo 0x00 y con eso el reloj empieza a correr lo cual te envia los datos que queres leer, lo repetis si es que configuraste el modulo en 16bits.

Desconectado elreypic2

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 771
Re:teclado capacitivo ttp229 i2c mikroc
« Respuesta #7 en: 12 de Enero de 2018, 16:54:51 »
Que tal yerolandin,

Si estas usando ese módulo en particular, al ver el esquemático te darás cuenta que los pines de TP0 al TP7 (K0-K7) tienen unas resistencias de pull down de alto valor (1Mohm). Esos pines son para configurar el modo de operación del TTP229. Por lo tanto el modo de operación configurado es:

TP7 (SKSRT): Maximum key-on time ---> 60 segundos
TP6 (SLWPTM): Wake-up sampling rate --->64Hz
TP5 (WPSCT) : Sampling length at sleep ---> 2ms
TP4 (SKMS0) y TP3 (SKMS1): All Muti-keys ---> one group (16keys)
TP2 (KYSEL): 16 input keys mode (Modo de 16 "teclas")
TP1 (SAHL) TP0(OPDEN): 2-wires serial interface===> CMOS output active-high

Por lo tanto el TTP229 esta configurado para reportar el estado de las 16 "teclas" en forma serial con protocolo 2-wire active high y/o I2C, pero el pin de SDA no está disponible en tu módulo, por lo que tienes que usar la interface serial de 2-wire active high, la cula usa el pin SDO y el pin SCL.

La forma del protocolo está descrito en el diagrama de la figura 3-4-1 de la página 9 de la hoja de datos. Y básicamente lo que tienes que hacer es tener el pin del SCL del microcontrolador en bajo, entonces tienes que esperar a que se genere el pulso DV en el pin SDO del módulo (el cual tiene una duración de 93us) luego esperas otros 10us (Tw) y comienzas en enviar los pulsos de clock por la line SCL y en cada flanco de bajada lees el estado del SDO y ese será el estado de la "tecla". El numero de pulsos en el SCL es de 16 uno por cada tecla. No veo mayor problema de implementarlo.

Ojalá esto te sirva.

elreypic.


 

anything