ハンブルソフト サポート掲示板

有限会社ハンブルソフトの製品関連の疑問に答える掲示板です。
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  

16 / 18 ページ    ←次へ | 前へ→

2.4インチTFTのタッチパネルについて色々...  nopnop2002 WEB  - 16/12/29(木) 8:11 -

こんにちは
2.4インチTFTのタッチパネルについて色々な事が分かりましたので報告します。
長文ご容赦ください

その1
2.4インチTFTにはタッチパネルコントローラとして
TSC2046が実装されているものと
XPT2046が実装されているものの2種類が有ります。

その2
タッチパネルライブラリには以下の2種類が有ります
XPT2046_Touchscreen.h //https://github.com/PaulStoffregen/XPT2046_Touchscreen
XPT2046.h // https://github.com/Links2004/XPT2046

その3
XPT2046_TouchscreenライブラリはCSだけを使う方法とCS+T_IRQを使う
2通りの方法が有ります。
XPT2046ライブラリでは必ずCS+T_IRQを使います。

そこで、これ以降、以下のように呼ぶことにします
XPT2046_TouchscreenライブラリでCS(=16)だけを使う方法をCS方式
XPT2046_TouchscreenライブラリでCS(=16)+T_IRQ(=0)を使う方法をIRQ方式
XPT2046ライブラリでCS(=16)+T_IRQ(=0)を使う方法をXPT方式

その4
大垣では2枚のHSES-LCD24を購入しましたが、
写真の様に基盤にはGPIO0のボタンからSP1にジャンパがあるものと
無いものが有りました。
これ以降、GPIO0のボタンからSP1にジャンパがあるものをジャンパあり基盤
無いものをジャンパー無し基盤と呼びます

2.4インチTFTにはタッチパネルコントローラとして
XPT2046が実装されている場合
ジャンパー無し基盤+CS方式:〇
ジャンパー無し基盤+IRQ方式:×
ジャンパー無し基盤+XPT方式:×
ジャンパー有り基盤+CS方式:〇
ジャンパー有り基盤+IRQ方式:〇
ジャンパー有り基盤+XPT方式:〇


2.4インチTFTにはタッチパネルコントローラとして
TSC2046が実装されている場合
ジャンパー無し基盤+CS方式:×
ジャンパー無し基盤+IRQ方式:×
ジャンパー無し基盤+XPT方式:×
ジャンパー有り基盤+CS方式:×
ジャンパー有り基盤+IRQ方式:×
ジャンパー有り基盤+XPT方式:〇

そこで確認ですが
基盤にはGPIO0のボタンからSP1にジャンパがあるものと
無いものが有りますがどちらが正解なのでしょうか??

引用なし

パスワード


[添付] :45_DSCN0039.JPG (127.5KB)


・ツリー全体表示

Re:22Ωです。  nopnop2002 WEB  - 16/12/14(水) 8:02 -

▼nariさん:
>LEDに接続されている抵抗は、22Ωです。

了解しました

引用なし

パスワード



・ツリー全体表示

22Ωです。  nari  - 16/12/14(水) 0:27 -

LEDに接続されている抵抗は、22Ωです。

引用なし

パスワード



・ツリー全体表示

Re:CN4のVCC  nopnop2002 WEB  - 16/12/13(火) 22:21 -

CN4のことでもう一つだけ確認させてください。

回路図によると、CN4の#8のLEDに繋がっている抵抗に「22」と
記載されていますが22オームでしょうか??

引用なし

パスワード



・ツリー全体表示

Re:タッチしたときだけ、表示されました。  nopnop2002 WEB  - 16/12/13(火) 22:19 -

▼nariさん:
>こちらのTFTでも、同じマーキングでした。
>
>タッチスクリーンの有無は、LCD側でもわかります。
>添付の写真をご覧ください。

色々とありがとうございます。
XPT2046_Touchscreen.cpp にデバッグ出力を入れて確認しましたが
TSC2046チップからZ1,Z2の値が正しく取れないみたいです。

SPI通信タイミングの問題かなとも考え
SPI.setClockDivider とか
SPI.setFrequency とか入れてみましたがダメでした。

2.8インチTFTでは正常動作するので、TFTモジュール(TSC2046チップ)の
問題だと思います。
タッチ動作はあきらめます。

お手数をおかけしました。

引用なし

パスワード



・ツリー全体表示


こちらのTFTでも、同じマーキングでした。

タッチスクリーンの有無は、LCD側でもわかります。
添付の写真をご覧ください。

引用なし

パスワード


[添付] :40_160622c2m.jpg (33.4KB)


・ツリー全体表示

Re:タッチしたときだけ、表示されました。  nopnop2002 WEB  - 16/12/13(火) 8:14 -

▼nariさん:
>はい、そうです。
>
>タッチした時だけ、シリアルモニターに表示されました。

おはようございます。

お手元のTFTの裏面のタッチコントローラーICのマーキングを教えていただけないでしょうか??
当方のTFTには
HR2046
1542
のマーキングがあります。

引用なし

パスワード



・ツリー全体表示

Re:CN4のVCC  nopnop2002 WEB  - 16/12/12(月) 22:16 -

▼nariさん:
>回路図を見ますと、J1は 5V->3.3Vのレギュレータの
>出力と入力をショートするパターンですので、
>シルクの表示が正しくて、HSES-LCD24で、
>LCDモジュールのVCCに3.3Vを印加しているのが
>間違いです。
>
>製造後、気が付きましたが、特に問題なく動作しているようなので
>そのまま販売しています。気になる場合は、 J1をショートしてください。

了解です。
私のところでもタッチパネル以外は問題ないです。

引用なし

パスワード



・ツリー全体表示

Re:タッチしたときだけ、表示されました。  nopnop2002 WEB  - 16/12/12(月) 20:40 -

▼nariさん:
>はい、そうです。
>
>タッチした時だけ、シリアルモニターに表示されました。

そうですか....
正しい動作ですね....
私の持っているTFTモジュールの不具合のようです。
ありがとうございました。

引用なし

パスワード



・ツリー全体表示

ESP-WROOM-32に期待しています。  nari  - 16/12/12(月) 10:04 -

TOUTを出力に使えるという意味ではないとのこと
了解いたしました。ありがとうございました。

バックライトのOn/Off機能付きも試作していますが、
端子が足りないので、どうしても何処かの機能との
切り替えになり、その辺の説明も面倒です。

技適も通ったようですし、ESP-WROOM-32モジュールに
期待しています。

引用なし

パスワード



・ツリー全体表示

Re:CN4のVCC  nari  - 16/12/12(月) 9:59 -

回路図を見ますと、J1は 5V->3.3Vのレギュレータの
出力と入力をショートするパターンですので、
シルクの表示が正しくて、HSES-LCD24で、
LCDモジュールのVCCに3.3Vを印加しているのが
間違いです。

製造後、気が付きましたが、特に問題なく動作しているようなので
そのまま販売しています。気になる場合は、 J1をショートしてください。

引用なし

パスワード


[添付] :35_160622c3m.jpg (57.7KB)


・ツリー全体表示


はい、そうです。

タッチした時だけ、シリアルモニターに表示されました。

引用なし

パスワード



・ツリー全体表示

Re:こちらでは、動きました。  nopnop2002 WEB  - 16/12/12(月) 0:08 -

▼nopnop2002さん:
>▼nariさん:
>>同じプログラムを入力してみましたところ、
>>こちらでは動きました。
>>画面コピーを添付します。
>>
>>念のため、ヘッダーピンあたりの半田付けを確認してみてください。
>>
>>あと、ライブラリーのソースコードに Serial.printf()等を挿入し、
>>値を確認することもできます。

ILI9341のTFTについていろいろ調べてみたら同じ製品でも
With Touch というページと
Without Touch というページの両方が有ることが分かりました。
もしかしたら2.4インチのTFTには
タッチパネルコントローラは実装されていないのかもしれません。
現在2.8インチTFTを発注しています。
届くのは来年でしょうね

引用なし

パスワード



・ツリー全体表示

CN4のVCC  nopnop2002 WEB  - 16/12/11(日) 23:03 -

色々すいません。

CN4のVCCは3.3Vですが、TFTの裏面に以下のシルク印刷が有りました。
VCC=5V J1=OPEN
VCC=3.3V J1=CLOSED

でもパターンを見る限り
VCC=3.3V J1=OPEN
VCC=5V J1=CLOSED
のような気がしますが、いかがでしょう??

引用なし

パスワード



・ツリー全体表示

Re:こちらでは、動きました。  nopnop2002 WEB  - 16/12/11(日) 14:01 -

▼nariさん:
>同じプログラムを入力してみましたところ、
>こちらでは動きました。
>画面コピーを添付します。
>
>念のため、ヘッダーピンあたりの半田付けを確認してみてください。
>
>あと、ライブラリーのソースコードに Serial.printf()等を挿入し、
>値を確認することもできます。

ご確認、ありがとうございます。
画面コピーを拝見しましたが、これは画面をタッチした時だけ、コンソールに出力される(画面をタッチしなければ何も表示されない)
という理解でよろしいでしょうか??

引用なし

パスワード



・ツリー全体表示

こちらでは、動きました。  nari  - 16/12/10(土) 21:29 -

同じプログラムを入力してみましたところ、
こちらでは動きました。
画面コピーを添付します。

念のため、ヘッダーピンあたりの半田付けを確認してみてください。

あと、ライブラリーのソースコードに Serial.printf()等を挿入し、
値を確認することもできます。

引用なし

パスワード


[添付] :30_sc161210a1.png (278.5KB)


・ツリー全体表示

タッチパネル機能について  nopnop2002 WEB  - 16/12/10(土) 12:00 -

タッチパネル機能について教えてください

公開されているcalibrationSaveLoadを参考に
以下のコードを書きました。

先日大垣でピンコンパチの2.8インチTFTに換装したものをお見せしましたが
これだと以下のコードであっさりタッチパネルが動きますが、
標準の2.4インチTFTだと同じコードが動かず、ずっとパネルが押された状態として認識します。

タッチパネルのライブラリはこれを使っています。
https://github.com/PaulStoffregen/XPT2046_Touchscreen

何が問題なのか教えていただけますでしょうか??

/*
* Simple Touch Screen Test
*/


#include <SPI.h>
#include "XPT2046_Touchscreen.h"

#define CS_PIN 16

XPT2046_Touchscreen ts(CS_PIN);
#define TIRQ_PIN 4
//XPT2046_Touchscreen ts(CS_PIN); // Param 2 - NULL - No interrupts
//XPT2046_Touchscreen ts(CS_PIN, 255); // Param 2 - 255 - No interrupts
//XPT2046_Touchscreen ts(CS_PIN, TIRQ_PIN); // Param 2 - Touch IRQ Pin - interrupt enabled polling

void setup() {
Serial.begin(9600);
delay(500);
Serial.println();
Serial.println("Start");
ts.begin();
while (!Serial && (millis() <= 1000));
}

void loopB() {
TS_Point p = ts.getPoint();
Serial.print("Pressure = ");
Serial.print(p.z);
if (ts.touched()) {
Serial.print(", x = ");
Serial.print(p.x);
Serial.print(", y = ");
Serial.print(p.y);
}
Serial.println();
// delay(100);
delay(30);
}

void loop() {
if (ts.touched()) {
TS_Point p = ts.getPoint();
Serial.print("Pressure = ");
Serial.print(p.z);
Serial.print(", x = ");
Serial.print(p.x);
Serial.print(", y = ");
Serial.print(p.y);
Serial.println();
delay(100);
}
}

引用なし

パスワード



・ツリー全体表示

Re:リセット時に内部でプルアップされてい...  nopnop2002 WEB  - 16/12/10(土) 0:31 -

▼nariさん:
>オープンでもスケッチの書き込みができるということは、
>リセット時に内部でプルアップの設定になっているという
>ことですかね?
>
>情報ありがとうございました。

と、思いますが、あくまでも経験値だけで、
論理的な証拠となるドキュメントなどは有りません。

引用なし

パスワード



・ツリー全体表示

Re:TOUTは出力に使えるのでしょうか?  nopnop2002 WEB  - 16/12/10(土) 0:29 -

▼nariさん:
>▼nopnop2002さん:
>>>近日発売予定の、別のESP-WROOM-02搭載基板では、TOUTも含めて
>>>全ての端子を利用可能になっております。
>>
>>LEDバックライトのON/OFFができると嬉しいです。
>
>TOUTは出力に使えるのでしょうか?
>使えるのであれば、私も嬉しいのですが。

ダメだと思います。

誤解を招いたようですが、
TOUTが使いたい
というのと
LEDバックライトのON/OFFがしたい
というのは全く関係ありません。

イメージとしてはTOUTにCDSを繋げて明るさを判定し、
部屋が暗かったら(つまり夜なら)GPIO_?でLEDをOFFにする
...みたいな感じを考えていますが、GPIOがきつそうですね。

引用なし

パスワード



・ツリー全体表示


Arduinoの使用を誤解していたようです。 ライブラリのexamplesの各ディレクトリの内容は、 Auduinoのスケッチの例で呼び出した時、 すべてコピーされるものだと思っていたのですが、 そうではないようです。  ここにfontxファイルを置いていたのですが、コピー されません。 この辺の事情を説明するのが面倒なので、 fontxファイルをheaderファイルに変換したものを Fontxライブラリに置きました。 これで、今後は #include <fontx/ILGH16XB.h> #include <fontx/ILGZ16XB.h> とかしてやると、  tft.setFontx(ILGH16XB,ILGZ16XB); いうような感じで使えるようになりました。 fontxファイルを変換せずに使うのに便利なので、 従来のIMPORT_BINも残してあります。 具体的には、更新されたサンプルプログラム kanjiDisp.ino をご覧ください。 https://github.com/h-nari/Humblesoft_ILI9341/blob/master/examples/kanjiDisp/kanjiDisp.ino
引用なし

パスワード



・ツリー全体表示

16 / 18 ページ    ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  

 7116
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b3