ゆるく楽しむプログラミング

タッチスクリーン 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-SmollSet2 : TFT液晶とタッチスクリーンを併用する最小セット
touch-DEMO : TFT液晶に表示したボタンをクリックするデモ
の 3つのスケッチを公開しています。

YuruPuro/MSP2807


解説動画