FT6336 em resumo
Item | Valor | Fonte |
|---|---|---|
Pontos de toque | 2, ou 1 mais gestos | Datasheet do FT6336G |
Endereço I2C (7 bits) | | Drivers da Adafruit e Espressif |
I2C SCL | 10 a 400 kHz | Datasheet do FT6336G |
Taxa de reporte | Até 100 Hz | Datasheet do FT6336G |
Tensão de operação | 2,8 V a 3,6 V | Datasheet do FT6336G |
IOVCC | Independente, 1,8 V a 3,6 V | Datasheet do FT6336G |
Temperatura de operação | −40 °C a 85 °C | Datasheet do FT6336G |
A lista de características do datasheet indica 2,8 V a 3,6 V, enquanto a tabela DC lista VDDA e VDD3 como 2,8 V a 3,3 V. Projete para a faixa mais estreita, a menos que seu fornecedor do módulo indique o contrário.
Qual FT6336 você tem?
Componente | Canais | Encapsulamento | Tamanho do painel |
|---|---|---|---|
FT6336G | 31 | QFN 5×5, 40 pinos | Até 4.0″ |
FT6336DMB | 36 | QFN 6×6, 48 pinos | Até 4.5″ |
Estes dados vêm de dois datasheets da FocalTech: o FT6336G v1.0 e a série FT6X36 v0.3. Não encontramos um datasheet para o FT6336U, portanto o que dizemos sobre ele vem do código-fonte do driver.
Lendo um toque
O código-fonte do FT63x6 do ESPHome lê estes registradores:
Registrador | Conteúdo |
|---|---|
| Modo do dispositivo (o ESPHome grava |
| Número de toques, 4 bits baixos |
| Evento nos bits 7:6, bits altos de X nos bits 3:0 |
| Byte baixo de X |
| Touch ID nos bits 7:4, bits altos de Y nos bits 3:0 |
| Byte baixo de Y |
| Peso do toque |
| Limiar de toque |
| Taxa de varredura no modo ativo (o ESPHome grava |
| Chip ID |
O segundo toque usa o mesmo layout, 6 bytes acima, começando em 0x09. O ESPHome ignora uma contagem de toques de 0x00 ou 0xFF.
Temporização de reset e energização
Do datasheet do FT6336G:
- Pulso de reset (Trst): pelo menos 5 ms em nível baixo no RSTN.
- Após o reset (Trsi): pelo menos 300 ms até começar a reportar pontos.
- Após a energização (Tpon): pelo menos 300 ms até começar a reportar pontos.
- Antes de energizar: mantenha o RSTN em nível baixo. Também é recomendável manter INT e as linhas I2C em nível baixo.
- Ciclo de energia: deixe a alimentação cair abaixo de 0,3 V por mais de 5 ms.
Os drivers diferem neste ponto. O driver edt-ft5x06 do Linux espera 300 ms após liberar o reset, o que corresponde ao datasheet. A rotina de reset do ESPHome mantém o reset em nível baixo por 10 ms e não adiciona nenhuma espera após liberá-lo. O driver FT5x06 da Espressif mantém o reset por 10 ms e, em seguida, espera 10 ms.
Modos de operação e I2C
O datasheet lista três modos:
- Ativo: varre a 60 quadros por segundo por padrão, e o host pode alterar esse valor.
- Monitor: varre a 25 quadros por segundo por padrão. Um toque faz retornar ao modo Ativo. O datasheet diz que "a porta serial é fechada" nesse modo.
- Hibernação: modo de desligamento que precisa de um reset ou sinal de despertar do host.
A observação sobre o modo Monitor pode ser relevante para varreduras I2C em um painel ocioso. Não medimos isso nós mesmos, portanto trate como algo a ser descartado: toque no painel enquanto faz a varredura.
Sintomas e soluções
Sintoma | Verificação |
|---|---|
Nada em | Confirme que o RSTN está em nível alto, aguarde 300 ms após o reset e toque no painel durante o scan. Em seguida, verifique SDA, SCL e os pull-ups. |
ESPHome registra "FT6336U touch driver failed to start" | O ESPHome leu |
A biblioteca rejeita o chip ID | Os IDs variam conforme o modelo: a Adafruit lista |
Touch sensível demais ou sensível demais | O registro |
Um terceiro toque não é reportado | Este é o limite do chip: tanto o datasheet quanto o driver do Linux indicam 2 pontos. Para mais pontos, consulte o GT911. |
Suporte a drivers
- ESPHome: use a plataforma
ft63x6comreset_pineinterrupt_pinopcionais. O I2C deve estar configurado. A documentação cita a placa WT32-SC01, e o código-fonte registra FT6336U. - Linux: não há entrada para o FT6336. O mais próximo é o
focaltech,ft6236no driver edt-ft5x06, com 2 pontos e as propriedades obrigatóriascompatible,regeinterrupts. Não testamos isso com um FT6336. - ESP-IDF: o driver
esp_lcd_touch_ft5x06usa o endereço0x38e 100 kHz por padrão. Seu código-fonte cobre até 5 pontos e não menciona o FT6336, por isso verifique seu componente antes de confiar nele. - Arduino: a biblioteca FT6206 da Adafruit define o chip ID do FT6336U e usa
0x38como padrão.
Controladores relacionados
Para touch de um dedo em displays redondos, consulte o CST816S. Para painéis maiores, consulte o GT911. O M5Stack Core2 é uma das placas que usa um FT6336U.
Guias e comparativos
FT6336: solução de problemas e perguntas frequentes
Qual é o endereço I2C do FT6336?
Os drivers da Adafruit e da Espressif usam 0x38 (7 bits), e o Linux usa o mesmo valor em seu exemplo de binding da família FT5x06. O datasheet do FT6336G que consultamos não informa o endereço, portanto confirme com um scan I2C na sua placa.
Por que meu FT6336 não responde no I2C?
Verifique que o RSTN está em nível alto e aguarde pelo menos 300 ms após o reset: esse é o mínimo do datasheet antes de ele reportar pontos. O datasheet também diz que a porta serial fica fechada no modo Monitor, então toque no painel e faça o scan novamente antes de suspeitar da fiação.
Qual é a diferença entre FT6336, FT6336G e FT6336U?
Os datasheets da FocalTech listam o FT6336G com 31 canais para painéis de até 4.0″, e o FT6336DMB com 36 canais para painéis de até 4.5″. Não encontramos um datasheet do FT6336U. A biblioteca da Adafruit atribui a ele o chip ID 0x64, o mesmo do FT6236U.
Fontes
- FocalTech: datasheet FT6336G v1.0
- FocalTech: datasheet da série FT6X36 v0.3
- ESPHome: touchscreen FT63X6
- ESPHome: código-fonte ft63x6.cpp
- Kernel Linux: drivers/input/touchscreen/edt-ft5x06.c
- Kernel Linux: binding de device-tree edt-ft5x06
- Espressif ESP-BSP: driver esp_lcd_touch_ft5x06
- Adafruit: cabeçalho da biblioteca FT6206