PU2CLR ATS-20 ファームウェアのアップデート方法
Arduino IDE プログラミング環境の構築
Arduino IDE プログラミング環境
[Arduino IDE] はパソコンでプログラム (C 言語) を開発し、それをターゲットの [Arduino] に転送する統合開発環境です。
Arduino をプログラミングは Arduino IDE という統合開発環境をパソコンにインストールする必要があります。
PU2CLR ATS-20
は [Arduino] で動作しているので、[Arduino IDE] 環境は必須です。
[Arduino IDE] と [Arduino] の通信には基本的にはシリアルインタフェースを使います。
[PU2CLR ATS-20] には USB/シリアル変換回路が搭載されているので、実際にはパソコンと USB 接続します。
Arduino IDE
をパソコンにインストールします。
筆者の場合、Windows10 パソコンにインストールするので、[Windows Win 7 and newer] をクリックします。
何も考えずにデフォールトのままインストールして大丈夫です。
ターゲットの [Arduino] 種別の設定をします。
画像のようにタグをたどり、ボード種別を [Arduino Nano] に設定します。
画像のようにタグをたどり、プロセッサ種別を [ATmega328P (Old Bootloader)] に設定します。
画像のようにタグをたどり、通信するシリアルポートを設定します。
この時、PU2CLR ATS-20 の電源 ON で、パソコンと USB 接続している必要があります。
なぜなら、USB-シリアル変換は PU2CLR ATS-20 に内蔵されているからです。
不幸にも PU2CLR ATS-20 のシリアルポートが見えなかったら、USB/シリアル変換ドライバが動いていないです。
筆者もそうでした。
デバイスマネージャで覗くと [USB/シリアル変換] に [!] マークが出ているはず。
PU2CLR ATS-20
の USB/シリアル変換 IC は [CH340C] なので、
CH340C ドライバ
をインストールしたら解決しました。
ちゃんと [パソコン]〜[PU2CLR ATS-20] 間で通信できるかチェックします。
左の画像のようにタグをたどり、[ボード情報を取得] クリックします。 右の画像のように表示されたら正常に通信できています。
[不明なボード] [SN が取得できない] となっていますが問題ないです。
PU2CLR ATS-20 内蔵の [Arduino Nano] は海賊版ですから・・・
以上で Arduino IDE プログラミング環境の構築が完了しました ・・・ お疲れ様です
PU2CLR ATS-20 ファームウェアのインストール
事前準備
SI473X Library for Arduino
を zip でダウンロードします。
[Code] をクリックすると [SI4735-master.zip] としてダウンロードできるので、デスクトップにでも保存します。
必要なライブラリを Arduino IDE にローディングします。
Arduino の世界では [ライブラリ]=[プログラムのソースコード] と思ってよいです。
トップライブラリから眺めたライブラリ全体を
sketch
と呼ぶようです。
正確な表現でないかもしれません。
画像のようにタグをたどり、[ライブラリを管理...] をクリックして [ライブラリマネージャ] を起動します。
[ライブラリマネージャ] の@に [Si4735] を入力すると[PU2CLR SI4735] が表示されるので、Aの [インストール] をクリックします。
[ライブラリマネージャ] の@に [Tiny4kOLED] を入力すると[Tiny4kOLED] [TinyOLED-Fonts] が表示されるので、ABで同様にインストールします。
画像のようにタグをたどり、[.ZIP形式のライブラリをインストール...] をクリックして、事前に用意した [SI4735-master.zip] をインストールします。
いよいよ PU2CLR ATS-20 ファームウェアを書き込む
画像のようにタグをたどり、[Si473X_ALL_IN_ONE_OLED_RDS_CHINESE_V7] をクリックします。
最後のタグに4種類表示されていますが、このどれでもインストール可能です。
一番新しいバージョンを指定しました。
スケッチが表示されるので、[→] をクリックするとプログラムがコンパイルされ、続いて [PU2CLR ATS-20] に書き込まれます。
書き込みが終わると [PU2CLR ATS-20] がリセットスタートします。 もう新しいファームウェアで動作しています。
プチ改造のしかた
[いよいよ PU2CLR ATS-20 ファームウェアを書き込む] の2番のところで、このスケッチに以下の記述があります。
これは受信バンドの設定で、ここを変更すれば受信範囲を自由に変更できます。
[@:開始周波数] [A:終了周波数] [B:デフォールト受信周波数] [C:ステップ周波数] [D:受信帯域幅] です。
@ABはリアルな周波数で、CDはコード化されています。
CDの定義はこの行の前のほうの記述を見ると解ります。
ここを書き換えれば、バンド設定は自由自在にできます。
以上は (素人でもできる) プチ改造ですが、筆者は以下の部分も直したいと思っています。
ロータリエンコーダが2クリックで1クリックと判断している。
チャタリング対策だろうと思いますが、素人っぽい作りのように思います。
移動予測アルゴリズムを入れて完璧にしたい。
移動速度ターボアルゴリズムを入れて [高速で回すと変化量を大きく] [低速で回すと変化量を小さく] したい。
ボタンを押した時のチャタリング対策が完璧ではない。
これも積分アルゴリズムを入れて完璧にしたい。