カテゴリー「Arduino, ESP32」の5件の記事

2025年2月27日 (木)

1.8inch TFTを使ったGPS時計

時計の製作はもういい...といいつつも1.8inch TFTを多数仕入れたので実用的なGPS時計を作ってみました。

配線図はこれです。

20250227-231407
処理が遅くぬるぬると動く感じですが、これはこれで味があります。Arduino NANOにすればもうすこし早く表示されるでしょうけど、TFT LCDとの間にレベルコンバータを入れる必要があります。

もし、作ってみたい方がいらっしゃるようでしたらArduino のスケッチ配布は可能なので連絡ください、バグはあるかもしれません。フォントを変えたり、色を変えたり、年や日時の位置を変えたり遊べると思います。

エラーが出たので対応方法をイチから教えて君が登場するのでスケッチの配布はやめます。Arduinoのインクルードの意味がわからない、エラーの内容が理解できない、自分で解決できない人はお断りです。

| | コメント (7)

2025年2月 9日 (日)

リベンジ: 1.8inch TFT液晶を用いたシンプルVFO

壊した1.8inch TFTがもう一枚あったのでリベンジがてら、以前に作ったOLED VFOを移植してみました。

スケッチの作成においては、当然Chat GPT センセのお世話に。TFTなのでカラーが使える分、色の使い方などはセンスを求められ、自作の特徴を出すことができますね。Arudino Pro Mini 3.3V (8MHz) を使っていますが、ロータリーエンコーダーを早く回してもちゃんと追従してくれます。

" By JF3DRI " のところに何を表示させるか画面が広いのでいろいろと楽しませてくれそうです。Sメータというのもありきたりだし、FFTしてスペクトラム表示なんて難しいし...

という訳でスケッチがある程度触ることができるようになったので、最近はこんなことばかりして遊んでいます。 

| | コメント (3)

2025年2月 5日 (水)

5Vか3.3Vか間違えないように!

マイコン関係をいじる際に注意することがあります...
それは動作電圧GPIO

         「5Vであるか3.3Vであるか」

やらかしてしまいました。

St7735

一瞬でこのように真っ白になってしまい、お亡くなりになりました。
1.8inch 128x160 ST7735を使ったTFT LCDモジュール、GPIOの電圧は3.3Vと承知していたものの、ネット では

St7735_03

※図のとおりにやると壊れました。

この図のとおり、Arduino (GPIO=5V) を直接加える記事が多く「5Vでも使えるだろう」と信じてしまったことが原因、これ罠のようです。これらの製作記事がなぜ正常に使えるのか?? 不思議でなりません... ST7735の仕様が変わったのでしょうかね??

各マイコンの仕様比較をChat GPTセンセに尋ねたところ...
20250205-202116

Arduinoのみ5V なので使うに当たっては注意が必要です。
(Arduino Pro Mini 8MHz (3.3V)は大丈夫)

よって5V <-> 3.3V レベル変換は必ずLCDとの間に入れる必要がありそうです。

・3.3Vしかダメなもの
・5Vしかダメなもの
・3.3V, 5VどちらでもOKなもの

接続するデバイスはこの3つがあるのでよく調べ確認することね。

レベル変換付き、無しのこれとかも。

Si5351a_module


| | コメント (0)

2025年1月29日 (水)

GPSモジュール NEO-7Mからの10MHz基準は使えるのか??

Gps_neo7m

時計としてのGPSモジュールは有用であることがわかりました。もう一つの用途として高精度なリファレンス周波数を出力できるのでスペアナとJTDXのWFを使って見てみました。今さら感があるかもしれません。

20250129-120551

GPSモジュール、NEO-6M, NEO-7M, NEO-8Mは u-blox 社が製造しており、Webからu-centerという設定ソフトが無料でダウンロードできます。そこから、デフオルトでは1pps出力端子に任意の周波数を取り出す設定があり、ここをいろいろと弄って出力される信号純度を調べてみようということです。

1.10MHzを出力してみた。

Gps_sp1mhz

スパンを1MHzにして見てみました。1MHzと広い幅で見る限りは近傍の大きなスプリアスであっても-50dB以上で、一見問題なさそうです。

Gps_sp20khz

スパン20kHzと狭くしてみると... あらら、近傍に何やらいろいろと連れていてキレイではありません。

Gps_sp5khz

更にスパン5kHzまで狭くすると...純度はかなり悪いですね。

Gps_jtdx

スペアナDSA815ではRBW=10Hzまでしか絞れないのでFT8 JTDXのWFで見てみました。近傍ノイズだらけです。受信音を耳で聞いても濁っていてNGなことがわかります。

10MHzを確かに出力できますが、超高精度だといってこれを無線機(例えばIC-9700)のリファレンスとして使ってはまず、ダメでしょう。

2. 6MHzを出力してみた。

20250129-6mhz

48で割り切れる周波数だとジッタの少ないものが出てくると先人様の記述があったので6MHzに設定してみたところ...耳で聞くとブチブチ音が酷くWFでもキレイではありません。

3. 4MHzを出力してみた。

20250129-4mhz

6MHzと同じ傾向で良くないです。

4. 5MHzを出力してみた。

20250129-5mhz

10MHzと同じ傾向、48で割り切れる/割り切れないは関係ありそうです。PLLには IntegerFractional があってどうやらその関係のようです。NEO-7Mの内部がどのような回路になっているかまでは調べていませんが。

5. 1MHzを出力してみた。

20250129-1mhz

1MHz Integer になるため6, 4MHzと同じ傾向です。低くした方が良くなるという訳ではなさそうです。


結論としてGPSモジュールからそのままの出力だと信号純度は良くなくOCXOをロックさせるGPS-DOとして使う必要がありそうです。設定する周波数はどこが良いかはよくわかりません。40kHzで行っているのもあれば、もっと高いところでやっている記事もありました。

| | コメント (0)

2025年1月27日 (月)

Chat GPTを使ってスケッチの作るのを覚えた

20241221-145619

Arduino なり ESP32 なりプログラム(スケッチ)を作ることが難関になっていましたが、完全に覚えなくともAI のChat GPTを使いこなすことでそれなりに突破できることがわかってきました。

時計が多いですが、Arduinoを使っていろいろと作ってみました。

1.デジットで安価に購入した4桁7セグメントLEDに時計を表示する。

4digit_pcb
7seg_clk

TB62709という聞き慣れないドライバーICが使われていたのですが、ネットで探すとありがたいことに先人さんが使えそうなライブラリーを作ってくれていました。Chat GPTにこのライブラリーとサンブルスケッチ、そして使うRTCモジュールを指定して時計として動作するスケッチを作って! と指示するとコードを作ってくれました。分や時間の表示位置が異なるなど間違ったスケッチも吐き出してきますが、都度その修正したいところを指示することで完璧なものとなりました。

これが出来た時は、これは使える!! と眼の前にあった大きな壁が取り除かれたような開放感を得ました。

2.240x240ドット1.3インチIPS液晶にアナログ時計を表示する。

Ips_clock01

Youtubeで検索すると簡単に見つかるスケッチです。Arduino Pro Mini とDS1307 RTCモジュールを背面に貼り付けています。これも、スンナリと動いた訳ではなく、液晶が3.3V系であることに気づかずハマりました。(Youtubeではそんな説明なかった) クロックが8MHzのArduino Pro Mini(3.3V) を使うことでばっちり動作。

3. GPSモジュールを使った時計

Ali_4

Aliexpressで液晶パネルとGPSモジュール NEO-6MとNEO-7Mを仕入れました。
時計合わせと10MHz リファレンスとして使えるかの検証用です。

IPS液晶と合わせて動画を撮ってみました。

GPS時計はChat GPT と2日間格闘してようやくできました。Chat GPTと言えど、エラー吐きまくるスケッチを提示したり、Arduinoなのに突然Pysonを使ってきたりでなかなか思い通りにはなりませんでした。参考となるスケッチを教えてあげると言う事聞いてくれるようで、使いこなしにテクニックがいるようです。

4.おまけ

面白そうなので、ネットで見つけたスケッチを書き込んで動かしてみただけです。ただしオリジナルはライブラリーSSD1306を使った0.96インチOLEDだったので1.3インチで使われているSH1106に変更しています。

| | コメント (0)