aitendoの液晶YHY024006Aに付いてるタッチパネル使えるようになりました(^ω^)
とんすけぶろぐ-ぶた(小)



タッチパネルの操作方法はNXPのアプリケーションノートがとても参考になりました。
AN10675
http://ics.nxp.com/support/documents/microcontrollers/pdf/an10675.pdf

この液晶のタッチパネルは4線抵抗膜方式というものでタッチパネルに圧力を加えると抵抗値が変化するというものです。
ちょうど2組の可変抵抗器みたいなもので単なる分圧回路です。
等価回路は図のように4本の抵抗が並んでおりパネルに圧力を加えるとX軸とY軸のレイヤが接触します。
とんすけぶろぐ-4-wire touch screen x measurement
X軸の値を測定するにはX軸の端子の一方に電圧を加えて、もう一方のX軸の端子をGNDレベルにしてやると分圧されます。
パネルに圧力が加えられたとき、分圧点がY軸と接触しているのでその値をY軸の端子から読み取ればOKです。もう一方のY軸の端子はハイインピーダンス状態にして影響しないようにしておきます。

とんすけぶろぐ-4-wire touch screen y measurement
X軸の値を読み取るのと同様にしてY軸の値を測定します。

X軸とY軸の各分圧点の電圧の値をAD変換して読み取り、液晶パネルの座標に計算して当てはめればどこが押されたのか特定できます。
タッチパネルの上下左右4カ所に校正用のドットを表示して、それぞれを押したときの値を元に計算しました。


定期的にポーリングしてタッチパネルの値を読み取るのもいいですが、タッチパネルが押されたのを検出して外部入力割込みを発生させて読み取る方がスマートです。
とんすけぶろぐ-4-wire touch screen touch detect
図のようにY軸の一方の端子をグランドレベルにし、X軸の一方の端子をプルアップ入力に設定して立ち下がりエッジをトリガにすればタッチパネル入力を検出できます。関係のない端子はハイインピーダンスにしておきます。
タッチパネルが押されたとき普通のスイッチと同様チャタリングが発生します。
割込が入ったあと、タイマーで数十ミリ程度のディレイを作ってオーバーフロー割込みさせてからもういちど端子をチェックして判定させてます。それからX軸とY軸の値をAD変換してやります。



タッチパネル使ってUI操作したりするとおもしろいかも(^ω^)