タッチスクリーン TSC2046
 2.8" TFTインチ液晶ディスプレイ タッチパネル MSP2807 のタッチスクリーン部分 TSC2046 です。
2.8" TFTインチ液晶ディスプレイ タッチパネル MSP2807 のタッチスクリーン部分 TSC2046 です。このTFT液晶は電源電圧は3.3~5V対応ですが、信号レベルは3.3Vなので
ArduinoUNOなどの5V系のマイコンで使用する場合にはレベルシフタが必要です。
私は 8Bit双方向ロジックレベルコンバータ を使用しました。
ロジックレベルを3.3Vに変更できるArduinoUNO互換機(KEYSTUDIO PLUS)や、M5Stamp、RaspberryPi PICOでは直接接続できます。
ArduinoUNOとの接続
信号名がシルク印刷されていますので分かり易いと思います。ハードウエアSPIを使用するために、ArduinoUNO側では13,12,11番ピンは固定ですが、それ以外は任意のピンに割り当てできます。
| タッチスクリーン | LCDモジュール | ArduinoUNO | 
|---|---|---|
| VCC | 3.3V | |
| GND | GND | |
| CS | D10 | |
| RESET | D9 | |
| DC | D8 | |
| T_CS | D7 | |
| T_DIN | SDI(MOSI) | D11 | 
| T_CLK | CSK | D13 | 
| LED | 3.3V | |
| T_DO | SDO(MISO) | D12 | 

TSC2046のコマンド
| 動作 | COMAND | 
|---|---|
| 12Bit X座標読み取り | 0xd0 | 
| 8Bit X座標読み取り | 0xd8 | 
| 12Bit Y座標読み取り | 0x90 | 
| 8Bit Y座標読み取り | 0x98 | 
| 12Bit Z1座標読み取り | 0xb0 | 
| 8Bit Z1座標読み取り | 0xb8 | 
| 12Bit Z2座標読み取り | 0xc0 | 
| 8Bit Z2座標読み取り | 0xc8 | 
タッチスクリーンの座標系
タッチスクリーンの座標系は左下原点で変更できない。座標は8Bit or 12Bitで取得できるが、読み取り範囲は読み取りデータの範囲とは一致しない。
※ 8Bit(0~255)、12Bit(0~4096)の範囲とは一致しない
実際の有効範囲は読み取って確認する。

最小構成のスケッチ
 touch-SmollSet : 動作確認用の最小セット
touch-SmollSet : 動作確認用の最小セット touch-SmollSet2 : TFT液晶とタッチスクリーンを併用する最小セット
touch-SmollSet2 : TFT液晶とタッチスクリーンを併用する最小セット touch-DEMO : TFT液晶に表示したボタンをクリックするデモ
touch-DEMO : TFT液晶に表示したボタンをクリックするデモの 3つのスケッチを公開しています。
 YuruPuro/MSP2807
 YuruPuro/MSP2807