疑似JJYで電波時計を合わせよう!
「JJYアンテナ基板」の使い方の説明です。
Arduino-IDEでM5Stack製品を使ってみるチャンスです。
https://scrapbox.io/files/66050747750fb400247ae050.png
hr.icon
必要なもの
スイッチサイエンス扱い
M5Atom Lite/Matrix用JJYアンテナ基板
ATOMS3 Lite, ATOM Lite, ATOM Matrix のいずれか(以降、M5Atom と記述)
自分で用意するもの
USB-C ケーブル
PC と M5Atom を接続し、実行ロードモジュールを書き込むのに必要
電源供給に必要
PC
Windows, MacOS, Linux のいずれか
Arduino-IDEやソースコードのダウンロードのためにインターネット接続が必要
Wi-Fi
時刻の取得(NTP)のためにインターネット接続が必要
組み立て方
GitHub「JJY Simulator for M5Atom」
ソースコード
参考情報:回路図など
動作の説明
Qiita「標準電波 JJY もどきを M5StickC / M5Atom の Ticker で生成する」
hr.icon
補足
以下は、Arduino-IDE に慣れていない人のための操作の一例です。これ以外のやり方もあります。
Arduino-IDEでM5Stack製品を使うには?
以前はもう少しまともでしたが、翻訳の日本語が変で、しかも余計な説明が多すぎます。これは困った。
(1) Arduino-IDE のインストール
次のサイトの DOWNLOAD OPTIONS から自分の環境を選択してクリックします。
https://scrapbox.io/files/6605efce2b745c0024497baa.png
JUST DOWNLOAD をクリック、その先で JUST DOWNLOAD をクリックしてダウンロードが始まります。
https://scrapbox.io/files/6605f020639263002528cb59.png https://scrapbox.io/files/6605f0e6e83a990027e22a38.png
ダウンロードしたモジュールをインストールします。
以下、Windows の場合です。Linux や MacOS については誰かわかる人にお尋ねください。
画面イメージは英語ですが、日本語等で表示される場合は読み替えてください。
ダウンロードした以下を実行します。インストール中の選択肢は、特に気にしなければデフォルトで。
arduino-ide_2.3.2_Windows_64bit.exe
Arduino-IDE を起動します。インストール完了時に起動する設定のままであれば、自動的に起動します。
起動中、dpinst-amd64.exe をインストールするか否か尋ねられますが、OK で問題ない様です。
起動完了(以下の画面)まで待ちます。インターネットの混雑状況によってはかなり時間がかかります。
https://scrapbox.io/files/6606020bd2a7160023b8d583.png
(2) M5Stack 環境の設定
画面上段の File メニューから Preferences... を選択します。
Additional boards manager URLs に以下を入力して OK をクリックします。
https://scrapbox.io/files/66060bef4dd4aa0024649b13.png
BOARDS MANAGER を開きます。左端の上から2番目のアイコンをクリックすると開きます。
やはり、インターネットのレスポンスが悪いと待たされます。表示まで 30分かかったこともあります。
Filter your search.. に M5Stack を入力し、表示された M5Stack by M5Stack official の INSTALL をクリックします。
https://scrapbox.io/files/66060ca2711399002458d9e5.png
LIBRARY MANAGER を開きます。左端の上から3番目のアイコンをクリックすると開きます。
Filter your search.. に M5Unified を入力し、表示された M5Unified by M5Stack の INSTALL をクリックします。
M5GFX をインストールするか否かについては INSTALL ALL をクリックします。
https://scrapbox.io/files/66060e96e37fb80024fd6806.png
同様に、FastLED by Daniel Garcia と WiFiManager by tzapu を INSTALL します。
https://scrapbox.io/files/66060f3a031c0f0027e1c2b7.png https://scrapbox.io/files/66060fe842f28600253f4d42.png
(3) M5Atom (ATOM Lite, ATOM Matrix, ATOMS3) の接続
各自で用意いただいた USBケーブルで PC と M5Atom を接続します。
JJYアンテナ基板は予め取り付けても大丈夫です。電源オフの状態で取り付けるのが基本で安全です。
上から2段目の Select Board をクリックし、Select other board and port... をクリックします。
Search board に atom と入力し、ATOM Lite, ATOM Matrix の場合は M5Atom、ATOMS3 の場合は M5AtomS3 を選択します。PORTS もそれらしいものを選択し、OK をクリックします。
https://scrapbox.io/files/6606169287b8d40024de0486.png https://scrapbox.io/files/660616dd0fbefd002345cbbf.png
(4) JJY シミュレータの書き込み
ソースコードを GitHub からダウンロードし、ドキュメントフォルダの中の Arduino フォルダの中に置きます。
以下のURLで、Code をクリックし、Download ZIP をクリックします。
https://scrapbox.io/files/66061a8d9656d90025adcc71.png
ZIP ファイルを解凍します。BF-018A-main.ZIP で右クリックして 全て展開... を選択すると解凍できます。
BF-018ARev3 フォルダを、ドキュメントフォルダの中の Arduino フォルダの中にコピーまたは移動します。
ZIP ファイルや解凍フォルダは削除してもかまいません。
https://scrapbox.io/files/66061e77870ac40023f40bcd.png
Arduino-IDE で BF-018ARev3 フォルダの中にある BF-018ARev3.ino を開きます。
File メニューから Open... で選びます。BF-018ARev3.ino をダブルクリックしても開くことができます。
元の Arduino-IDE ウィンドウは閉じてください。
https://scrapbox.io/files/6606229c67255d00248f55ae.png
コンパイルして M5Atom に書き込みます。
上から2段目にある右矢印アイコンをクリックします。
最初のコンパイルにはものすごく時間がかかります。
赤色メッセージ "No hardware SPI pins defined. ..." は無視してください。
コンパイルが終わると、実行モジュールが M5Atom にアップロードされ、処理が完了します。
https://scrapbox.io/files/660623349656d90025aea108.png https://scrapbox.io/files/6606241789d8510023dcac25.png https://scrapbox.io/files/66062434db249b0025356d56.png
シリアルモニタを起動します。JJY シミュレータの動作状況を観察できます。
Tools メニューから Serial Monitor をクリックします。
9600 baud(初期値)をクリックして、115200 baud を選択します。
https://scrapbox.io/files/6606250eba8d210026abe093.png https://scrapbox.io/files/660625611a9faf002546843f.png
(5) JJY シミュレータの動作
M5Atom を WiFi に接続します。
以前に接続した SSID, Password が有効な場合、自動的に接続します。
SSID, Password が有効でない場合、スマホ等を使って SSID, Password を設定します。
LED が緑色の場合、M5Atom 自身がアクセスポイントとなってスマホ等の接続を待っています。
スマホ等の Wi-Fi 設定を開いて、ESP32_xxxxxxxx とあるアクセスポイントに接続します。
WiFIManager 画面が自動的に表示されます。
表示されない場合はブラウザで 192.168.4.1 を開きます。
Configure WiFi をタップします。
接続したい SSID を選択し、Password を入力し、Save をタップします。
しばらくして LED が青色の点滅を始めたら、WiFi 接続成功です。
https://scrapbox.io/files/660634a2088d3f0023e69f65.PNG https://scrapbox.io/files/660634a87761dd00240d27c4.PNG
SSID, Password をクリアしたい場合は、前面ボタンを押しながら再起動(リセット)してください。
M5Atom の側面にあるボタンを押すとリセットできます。
M5Atom は、PC なしで動作できます。USBケーブルを充電器など 5V 電源に接続して動作させることができます。
JJY アンテナ基板面を電波時計内部のバーアンテナと直角になる様に配置して、コイルパターンとバーアンテナのコイルが同じ方向になる様に配置すると磁界方向が一致するので良いと思います。
JJY 信号は、1分間かかって時刻や日付の情報を送ります。時刻の反映には、電波時計により3-5分かかります。
hr.icon
動きました!/動きません!
問題なく動作したでしょうか?引っかかったところは何ですか?改良したい点を書き込んでください。
形式は自由です。記入した日付とニックネーム(コールサイン等)を書き添えてください。
2024/04/07 JJ1MZP
https://scrapbox.io/files/66126db6d16ab60026aa11c1.jpg
手順に沿ってやってみるだけでできたぽいです。写真を添付したとおり、LEDが青く光りました。
JJYの周波数は数十kHzなので手元のSDRでは測定できませんでした。腕時計は電波時計ですが時間に狂いは無かったようで動作チェックはできませんでした。
4月5日にM5stackS3のセミナーに参加してUIFlow2.0を用いたブロックプログラミングなるものをやってきました。私のGITHUBは情報学専攻の友人に言われて作っただけで回路シュミレーション用のモデルがおいてあるだけですし、プログラミングもC言語でファイル操作する程度しかやってなかったのですが、なかなか簡単に感じました。プログラミングの世界は特に最新の環境で最新の教育を受けた世代があとから育ってくるわけで、もう大学生になってしまった自分はとても恐ろしく感じます。JJY基盤ではブロックプログラミングではなく、(たぶん)C言語で書かれてると思いますが、「本に乗ってるプログラムを打ち込んで動かす!」というようなことはなくプログラムを読まなくてもポンポンできてしまいました、便利になりましたね。
このプロダクトが目指しているのがアルディーノlikeな環境に触れてみよう!という事ならちょっと簡単すぎるかなと思います。(もっともM5stackは進化が早いと思うので紙媒体にプログラムを乗っけて打ち込め、というスタイルは現実的ではないかもしれないですが)もうちょっと難しくても良いかなと思います。
一応補足しておけば丁寧な説明で躓くポイントは全然ないのでキットとしてはとても良いと思います。以前、直動機構のキットを作ってスイッチサイエンスで売っているという人の同人誌を読みました。正直な話、何に活用できる機構なのか全くわからなかったですがめちゃくちゃ楽しそうに話をされるんですよね。たしかそれもM5stackを使っていたと思います。同人ハードはお金がかかりますし、その人のモチベーションで保たれてるところが大きいと思います。設計した当人が楽しいなら良いですし、そういう人の同人ハードって組み立てて動かしてみるだけで面白いなと思っています。
hr.icon