もうこれで最後にするだったんですが、ようやく格安Banggood液晶 2.4 Inch TFT LCD Shield Touch で動きました。これは前にも紹介したBanggoodで販売されている2.4 Inch TFT LCD Shield Touchです。なんと送料込みで6.49$です。前に作ったAdadruitのものと比較するとなんと1/10です。
これは表示速度もAdafruitとほとんど同じですごく早いです。ただ難点はこのShildはアナログポートのA0からA4までを使っていて、普通のUnoを使うとアナログポートは1個足らなくなることです。ではA0からA7があるNanoを使うと、せっかくのShildの意味がなくなってしまいます。
それで前回紹介した、Uno互換機を使いA6とA7を使うことによって完成させました。
タッチシールドの感度は若干鈍いようですが十分動きます。
ドライバは
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_TFTLCD.h>
#include <TouchScreen.h>
ピンの設定は
#define YP A3
#define XM A2
#define YM 9
#define XP 8
#define TS_MINX 150
#define TS_MINY 120
#define TS_MAXX 920
#define TS_MAXY 940
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);
#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A4
Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
ad9850のピン設定は
const int RESET=12;
const int SDAT=10;
const int FQ_UD=11;
const int SCLK=7;
にしました。
なおAdafruitのTFTLCDに表示する特殊文字はCP437で表示されるのがわかりました。
tft.println(char(16));のようにすると表示されます。
それとオリジナルのsetup()にあるanalogReference(INTERNAL);をコメントアウトしないとタッチパネルが動作しないようです。これコメントアウトしたらアナログの入力が変化するみたいですが、今のとこ影響ないみたいです。
なおこのアナライザの部品で苦労するのは50Ωと5KΩの抵抗ですが、Bispaというところで買えます。そのほかは649Ωは680Ωでいけます。ゲルマニュームダイオードはAA143ですが、1N60では使えなくはないですが、出力が低いです。ヤクオクで売られている日立の1N34AならばAA143とほとんど変わらないです。オペアンプMCP6002はLM358Nあたりで代用できます。もともとSWRの値自体は市販のアナライザに比較してあまり正確ではないので、最低のSWRを見つける目的で使用するのがいいでしょうね。なんといっても最大の利点は安いことです。
にゃん太郎さんの、このHPに刺激され、
このSWR計を作りたくなり、最近Ardinoの勉強をはじめております。
Banggoodから、にゃん太郎さんと同じ2,4"TFTを買い、試行錯誤して
サンプルスケッチは動作させることが出来ましたが、移植するまでの実力が無いので、再度2.2"SPI液晶を注文しました。
DG7EAOさんOrgrの"Ucglib.h"を使ったスケッチをDLして再挑戦しておりますがコンパイルでだんまりとなってしまい連日苦戦しております。
ご教授頂けたら幸いです。
手順としては以下の通りです。
①作成中のスケッチファイルと同じフォルダーにUcglib.hをコピーする。
②"ucg.h"ファイルを含む"utility"フォルダーをフォルダーごとコピー
③コンパイル実行時にてエラーとなる。
↓
In file included from sketch_jan15a.ino:23:0:
Ucglib.h:61:25: fatal error: utility/ucg.h: No such file or directory
#include "utility/ucg.h"
compilation terminated~コンパイル時にエラーが発生しました。
④そこで次に
"ucglib.h"の61行目付近 #include "utility/ucg.h"→ #include "ucg.h"に変更。
⑤utilityフォルダーから"ucg.h"を1つ上位のフォルダー(作成中のスケッチファイル、Ucglib.hと同じところ)へ全てのファイルをコピー。
再度コンパイル実施。
スケッチをコンパイルしています。表示後→プログレスバーが1/3付近で、止まってしまいます。
※PCハングアップにはなっていません。
次に、どこで止まってしまうのか、調べたところ、
Ucglib_ILI9341_18x240x320_SWSPI ucg(/*sclk=*/ 10, /*data=*/ 11, /*cd=*/ 6 , /*cs=*/ 5, /*reset=*/ 4);
をメモ化すると、コンパイルが通ります。
大変恐縮ですが、ご助言頂けたら幸いです。
併せて、#include <Adafruit_GFX.h>と <Adafruit_TFTLCD.h>
を使ったTFT液晶のスケッチを掲載、又は頂きたく
ぶしつけなお願いで申し訳ありませんが、何卒、よろしくお願いします。
YM