FT6336 の概要
項目 | 値 | 出典 |
|---|---|---|
タッチポイント数 | 2点、または1点+ジェスチャ | FT6336G データシート |
I2Cアドレス(7ビット) | | Adafruit および Espressif ドライバ |
I2C SCL | 10〜400 kHz | FT6336G データシート |
レポートレート | 最大100 Hz | FT6336G データシート |
動作電圧 | 2.8 V〜3.6 V | FT6336G データシート |
IOVCC | 独立電源、1.8 V〜3.6 V | FT6336G データシート |
動作温度 | −40 °C〜85 °C | FT6336G データシート |
データシートの特長一覧では 2.8 V〜3.6 V と記載されていますが、DC特性表では VDDA および VDD3 が 2.8 V〜3.3 V とされています。モジュールサプライヤーから別の指示がない限り、狭い方の範囲を前提に設計してください。
どの FT6336 をお使いですか?
品番 | チャンネル数 | パッケージ | パネルサイズ |
|---|---|---|---|
FT6336G | 31 | QFN 5×5、40ピン | 最大4.0″ |
FT6336DMB | 36 | QFN 6×6、48ピン | 最大4.5″ |
これらの数値は、FocalTechの2つのデータシート(FT6336G v1.0 および FT6X36シリーズ v0.3)に基づいています。FT6336Uのデータシートは見つからなかったため、同チップに関する記述はドライバーのソースコードに基づくものです。
タッチ情報の読み取り
ESPHomeのFT63x6ソースコードが読み取るレジスタは以下のとおりです:
レジスタ | 内容 |
|---|---|
| デバイスモード(ESPHomeは |
| タッチ数(下位4ビット) |
| ビット7:6にイベント、ビット3:0にX上位ビット |
| X下位バイト |
| ビット7:4にタッチID、ビット3:0にY上位ビット |
| Y下位バイト |
| タッチウェイト |
| タッチしきい値 |
| アクティブ時のタッチ検出レート(ESPHomeは |
| チップID |
2点目のタッチは、6バイト上位(0x09から開始)に同じレイアウトで格納されます。ESPHomeは、タッチ数が0x00または0xFFの場合は無視します。
リセットおよび電源投入時のタイミング
FT6336Gのデータシートより:
- リセットパルス(Trst): RSTNを最低5 ms間Lowにします。
- リセット後(Trsi): 座標の報告開始まで最低300 ms必要です。
- 電源投入後(Tpon): 座標の報告開始まで最低300 ms必要です。
- 電源投入前: RSTNをLowに保持してください。INTおよびI2Cの各ラインもLowに保つことが推奨されます。
- 電源再投入時: 電源電圧を0.3 V未満に5 ms以上保ってください。
この点はドライバーによって異なります。Linuxのedt-ft5x06ドライバーはリセット解除後に300 ms待機し、これはデータシートの記載と一致しています。ESPHomeのリセットルーチンはリセットを10 ms間Lowに保持しますが、解除後の待機は行いません。EspressifのFT5x06ドライバーはリセットを10 ms間保持した後、10 ms待機します。
動作モードとI2C
データシートには3つのモードが記載されています:
- Active: デフォルトで毎秒60フレームでスキャンし、ホストからこのレートを変更できます。
- Monitor: デフォルトで毎秒25フレームでスキャンします。タッチされるとActiveモードに戻ります。データシートには、このモードでは「シリアルポートはクローズされる」と記載されています。
- Hibernation: パワーダウンモードであり、リセットまたはホストからのウェイクアップ信号が必要です。
Monitorモードに関するこの注意事項は、アイドル状態のパネルでのI2Cスキャンに影響する可能性があります。当社自身での実測は行っていないため、排除すべき要因として捉えてください。スキャン中はパネルにタッチしてください。
症状と対処法
症状 | 確認項目 |
|---|---|
| RSTN が High になっていること、リセット後 300 ms の待機を確認したうえで、スキャン中にパネルをタッチしてください。その上で SDA、SCL およびプルアップ抵抗を確認します。 |
ESPHome に "FT6336U touch driver failed to start" とログが出る | ESPHome が |
ライブラリがチップ ID を弾く | ID は型番ごとに異なります。Adafruit は FT6206 を |
タッチの感度が高すぎる、または低すぎる | レジスタ |
3 本目の指が検出されない | これはチップの仕様上の制限です。データシートも Linux ドライバも 2 点までとしています。それ以上の多点検出については GT911 を参照してください。 |
ドライバ対応状況
- ESPHome:
ft63x6プラットフォームを使用し、オプションでreset_pinとinterrupt_pinを指定できます。I2C の設定が必要です。ドキュメントでは WT32-SC01 ボードが言及されており、ソースコードのログには FT6336U と出力されます。 - Linux: FT6336 固有のエントリはありません。最も近いのは edt-ft5x06 ドライバの
focaltech,ft6236で、2 点検出、および必須プロパティとしてcompatible、reg、interruptsが必要です。FT6336 での動作検証は当社では行っていません。 - ESP-IDF:
esp_lcd_touch_ft5x06ドライバはデフォルトでアドレス0x38、100 kHz を使用します。ソースコード上は最大 5 点まで対応していますが、FT6336 は明記されていないため、採用前にご自身の型番を確認してください。 - Arduino: Adafruit の FT6206 ライブラリは FT6336U のチップ ID を定義しており、デフォルトアドレスは
0x38です。
関連コントローラ
丸型ディスプレイでの 1 点タッチには CST816S を、大型パネルには GT911 を参照してください。M5Stack Core2 は FT6336U を搭載しているボードの一例です。
ガイドと比較
FT6336 トラブルシューティングと FAQ
FT6336 の I2C アドレスは何ですか?
Adafruit および Espressif のドライバは 0x38(7 ビット)を使用し、Linux も FT5x06 ファミリのバインディング例で同じ値を使っています。当社が参照した FT6336G のデータシートにはアドレスの記載がないため、お使いのボードで I2C スキャンにより確認してください。
FT6336 が I2C で応答しないのはなぜですか?
まず RSTN が High になっていることを確認し、リセット後は少なくとも 300 ms 待ってください。これはデータシート上、タッチ点の報告が始まるまでの最短時間です。またデータシートには Monitor モードではシリアルポートがクローズされると記載されているため、配線を疑う前にパネルをタッチして再度スキャンしてください。
FT6336、FT6336G、FT6336U の違いは何ですか?
FocalTech のデータシートでは、FT6336G は 4.0″ までのパネル向けに 31 チャネル、FT6336DMB は 4.5″ までのパネル向けに 36 チャネルと記載されています。FT6336U のデータシートは見つかりませんでしたが、Adafruit のライブラリでは FT6236U と同じチップ ID 0x64 が割り当てられています。