■回路図
以下は今回作成したボードの接続図です。
※電源確認用LEDは含まれていません
※抵抗は全て
10KΩです
ここではポケコン側の出力全てにプルダウン抵抗を入れていますが、機種によっては無くても動作はするようです。
逆に、Bluetoothモジュール側はレベル変換回路で既にプルアップされているようなので、特に何もしていません。
結果的には反転だけしてそのままポケコンに接続すれば問題無く動作するようなので、パーツ的にはBluetoothモジュールとインバーターICのみがあれば問題無さそうですが、前のUSB通信ケーブル時にポケコン側の出力が浮いていたことがあったため、ここでは念のため抵抗を入れています。
■パーツリスト
以下はボードを作成するのに使用したパーツです。
これ以外にジャンパ用の銅線やスズメッキ線などが必要で、さらにブレッドボードがあると一部はんだ付けが楽になります。
■通信ボードの作成
①Bluetoothモジュールのピンのはんだ付け
まずはL字ではないまっすぐのピンヘッダを6ピンと1ピンにカットし、以下のようにBluetoothモジュールにはんだ付けします。
なお、うまくはんだ付け出来ない場合は、ブレッドボードを利用するのも手です。
この場合は先にブレッドボードにピンを指して置き、その上にこのBluetoothモジュールを乗せてはんだ付けすることで、ブレッドボードの穴の位置ぴったりに固定出来るので、ブレッドボードでモジュールのテストをしたい場合にも便利です。
なお、実はPIO4に取り付ける1ピンは他の穴と若干ズレていますが、ブレッドボード上ではんだ付けすることでこのズレを補正することが出来ます。
これ以降のユニバーサル基板に取り付ける際も若干ズレた状態になるため、このピンはなるべくブレッドボードを使ってはんだ付けすることをおススメします。
②ユニバーサル基板のカット
ここでは基板をカットすることでなるべくコンパクトに仕上げるつもりですが、見栄えを気にしないのであれば特にカットしなくても以降の作業は可能です。この場合はカット後の位置に合わせてパーツを配置するようにしてください。
まずは以下のように穴のある部分をカットします。
カットすると以下のようになります。
※カット後は手をケガしないようにフチを紙やすりなどで削っておいてください
③部品のはんだ付け
以下は表面の部品図です。
※2021/6/17 プルダウン抵抗を1K→10KΩに変更(PC-G850無印での転送エラー対策)
まずはL字型のピンヘッダを11ピンにカットして取り付けますが、実は今回使用した基板は穴 のサイズが若干小さいようで、すんなりと刺さりませんでした。このためピンを左右に動かしながら穴を広げる感じで徐々に押し込んでいくことで、ようやく差し込むことが出来ました。
次に抵抗やジャンパ線などの背の低い部品を取り付けます。なお、ジャンパ線は銅線かスズメッキ線を使いますが、スズメッキ線を使う場合はジャンパごとにカットせず、裏面の配線も一緒に行うことで基板へのはんだ付けを省略することも出来ます。
※太くて固いスズメッキ線だと思い通りに配線するのが結構大変なので、初心者は別々に作業した方が楽だと思います
ICは直接取り付けるのではなくICソケットを使用してください。また接続確認用のLEDは好きな色のものを使用することが出来ますが、電流制限用の抵抗値が小さいほどまぶしくて目に悪いので、ある程度抵抗値の多いものを使用することをおススメします。
(そもそも超高輝度LEDを使うのが間違っているともw)
最後に下側のピンソケットですが、そのまま取り付けようとするとグラグラしてうまくはんだ付け出来ないことがあるので、この場合はまずピンソケットを6ピンと1ピンにカットしてBluetoothモジュールに刺し、その状態で基板に固定することでうまくはんだ付けすることが出来ます。
④裏面の配線
以下は裏面の配線図です。
部品の足やスズメッキ線を使って配線を行います。
なお、表面の部品の取り付け時に部品の足を切らず、そのまま足を配線として使うことも出来ます。
⑤ドッキング
基板が完成したらICを取り付け、最後にBluetoothモジュールをドッキングさせて完了です。
■Bluetoothモジュールのペアリング
ここではPCからこのモジュールにアクセス出来るようペアリングを行います。
今回作成したボードをポケコンに接続してBluetoothモジュールに給電してください。
給電されるとモジュール上の赤いLEDが点滅するので、この時にPC側からペアリング操作を行います。
※ペアリングしてもCOMをオープンしない限りは赤LEDは点滅したままとなります
ペアリング方法を知っている場合はこの項目はスキップしてかまいません。
デバイス名は「RNBT-****」という形で、後方はデバイスIDの先頭2バイトが16進数で表示されたものになっています。
Windows10でのペアリング方法
まずはBluetoothが使えるようにPCにUSBアダプタを接続したり、ノートPCの場合はキーボード操作などでBluetoothを有効にしてください。
なお、Bluetoothはハードウェア側のON/OFFの他にOS側にもON/OFF設定があります。
もしデバイスを正しく接続にしているにも関わらず認識しない場合は、OS側で無効となっている可能性があるので、その場合は「スタート」→「設定(歯車アイコン)」→「デバイス」→「Bluetoothとその他のデバイス」を開け、Bluetoothが「オン」になっているかを確認してください。
Windows上でBluetoothが使用可能になると、タスクバーの右側にBluetoothのアイコンが現れます。
もし表示が隠れている場合は上三角アイコンを押してください。
※このBluetoothのアイコンをダブルクリックすると、上記のBluetoothの設定画面を直接開くことが出来ます
Bluetoothが使用出来る状態であればペアリングが可能なので、Bluetoothの設定画面を出し「+Bluetoothまたはその他のデバイスを追加する」をクリックします。
するとどのデバイスを追加するか選択ウィンドウが出るので、ここで「Bluetooth」をクリックします。
デバイスが見つかったらそのデバイス名をクリックします。
接続時にピンコードの確認が表示されますが、ここでは確認しようが無いので気にせず接続ボタンをクリックします。
接続が成功すると確認画面が表示されるので、完了ボタンを押してダイアログを閉じます。
正しくペアリングが出来たかは、この設定画面をスクロールして「その他のデバイス」に含まれるかを確認してください。
※ちなみにここをクリックすると「デバイスの削除」が表示されるので、これでペアリングを解除することが可能です
■通信設定の変更
モジュールを購入した直後は通信速度がデフォルトの115,200bpsとなっており、このままではポケコンと通信することが出来ないため、まずはこのモジュールの設定を変更する必要があります。
モジュールの設定はBluetoothによる接続か端子に接続した機器から行えますが、ポケコンの速度は最大でも9600bps(PC-G850の場合)しか出せないため、今回はPC上からBluetooth経由で行うことにします。
ここでは既にペアリングが完了している状態で作業を行います。まだペアリングを行っていない場合は、上記のペアリングの項目を確認してください。
まずはシリアル通信を行うためのソフトとして「
Tera Term」を使用するので、このソフトをDLしてインストールしてください。
※exe版はインストーラー付き、zip版はインストール無しのスタンドアロンで、よく分からなければexe版をDLしてください
※この記事を書いた時の最新版は「
v4.105」です
インストールしたらTera Termを起動します。
標準ではデスクトップにTera Termのアイコンが表示されるので、これをダブルクリックします。
デスクトップに存在しない場合はスタートボタンを押し、アプリリストからTera Termを探して実行してください。
(zip版の場合はttermpro.exeを実行してください)
起動すると新しい接続のダイアログが表示されますが、ここではまだ通信設定を行っていないのでいったんキャンセルします。
上のメニューから「設定」→「シリアルポート」をクリックします。
シリアルポートの接続設定ダイアログが表示されるので、ここで接続するCOMポートとスピードを指定します。
ちなみにBluetoothで使用可能なCOMポートは1つだけとは限らず、複数存在させることが出来ます。
今回使用したUSBアダプタはCOM6とCOM7の2つが認識されており、そのうちCOM6の方で接続出来ましたが、これは環境により変わるので、もし接続出来なかった場合は他のポートも試してみてください。
設定をしたら「新規オープン」ボタンをクリックすると、実際にBluetooth経由でモジュールと通信が始まります。
そして接続が完了するとモジュール上の緑色のLEDが光るので、これでCOMポートのオープンが完了したことになります。
ポートがオープン出来たらコンソール上で「$$$」(エンター無し)と入力します。
※入力した文字は画面に表示されないので間違えないでください
正しくコマンドモードに入れた場合は「CMD」と表示され、モジュール上の赤色LEDが高速に点滅します。
次に「SU,96」(エンター無し)と入力します。
※同じく画面に何も表示されません
これで設定は完了なので、「ファイル」→「接続断」をクリックします。
モジュールの緑LEDが消灯し、再び赤LEDが点滅したら切断完了です。
ちなみに再度Tera Termにて設定を行いたい場合は、次から通信速度を9600bpsに設定する必要があります。
また標準ではTera Termは最後に設定した情報を保存してくれないため、上記の流れをもう一度行う必要があります。
※現在の設定を保存するには「設定」→「設定の保存」を選択し、exe直下にある「TERATERM.INI」に上書きします
■データ通信
Bluetooth経由でデータの送受信を行う場合、純正のPCGLinkではうまく通信出来なかったため、
ここでは自作の通信ソフト「PCGTool」を使用してデータの送受信を行います。
まずは
トップサイトの「SOFTWARE」→「ポケコンの部屋」にある「PCGTool」をDLしてください。
※PCGTool v1.02以下はBluetooth接続時のみ、転送完了後にCOMポートを閉じるタイミングが速いと
最後の終端メッセージが送られないのか、完了したことにならずにずっと待機状態となったままだったので、
v1.03以降では閉じる時間を指定するための機能が実装されています
PCGToolが起動したら以下のように設定を行ってください。
まずはCOMポート番号と通信速度を指定し、フロー制御のチェックを外してください。
※現状Bluetoothモジュールのフロー制御を変更する方法が見当たらなかったため、ここでは無しに設定しています
ポケコン側もこれと同じ設定にしてください。
ポケコンの通信設定はBASICモードの状態で以下の操作を行います。
①「TEXT」ボタンを押します
②「S」キーを押してSio(Serial I/O)画面に入ります
③「F」キーを押してSio設定画面に入ります
④操作説明が表示されるのでここで何かキーを押すか、7秒ほど待つと設定画面に入ります
⑤「baud rate」をカーソルキーで「9600」に設定しEnterキーを押します
⑥下にスクロールして「flow」を「none」に設定しEnterキーを押します
これで設定は終わりなので、「BASIC」キーを押してBASICモードに戻ります。
PCからポケコンに送信する場合(BASICなどのテキストデータの場合)
まずはポケコンを受信状態にします。
①「TEXT」ボタンを押します
②「S」キーを押してSio画面に入ります
③「L」キーを押して受信待機状態にします
この状態でPCGToolから「送信」を選び、送信したいファイルを選択すると通信が開始されます。
※送信開始時にBluetoothモジュールとの接続に1、2秒の待ち時間が発生します
受信したデータをBASICとして実行したい場合は、「TEXT」→「Basic」→「Basic←text」を押して、テキストデータをBASICに変換する必要があります。
PCからポケコンに送信する場合(IHXファイルの場合)
まずはポケコンを受信状態にします。
①「MON」と入力してEnterキーを押します
②必要なユーザーメモリを「USER」コマンドで確保します
※1000H分の領域を確保する場合は「USER1000」と入力しEnterキーを押します(常に16進数)
③「R」キーを押して受信待機状態にします
この状態でPCGToolから「送信」を選び、送信したいIHXファイルを選択すると通信が開始されます。
※送信開始時にBluetoothモジュールとの接続に1、2秒の待ち時間が発生します
ポケコンからPCに送信する場合(BASICなどのテキストデータの場合)
BASICの場合は先にテキストデータに変換しておく必要があります。
「TEXT」→「Basic」→「Text←Basic」と入力するとBASICのコードがテキストにコピーされます。
まずはPCGToolにて「受信」を選び、受信したデータを保存するファイルを指定します。ここでファイルを指定すると受信待ち状態になりますが、Bluetoothの接続前にポケコンからデータを送信してしまうと、それまでのデータが破棄されてしまうため、送信操作は必ずBluetoothモジュールの緑LEDが点灯してから行ってください。
緑色のLEDが点灯したらあとはポケコンから送信操作を行います。
①「TEXT」ボタンを押します
②「S」キーを押してSio画面に入ります
③「S」キーを押して送信を開始します
通信が完了するとTEXTメニューに戻ります。
ポケコンからPCに送信する場合(IHXファイルの場合)
まずはPCGToolにて「受信」を選び、受信したデータを保存するファイルを指定します。ここでファイルを指定すると受信待ち状態になりますが、Bluetoothの接続前にポケコンからデータを送信してしまうと、それまでのデータが破棄されてしまうため、送信操作は必ずBluetoothモジュールの緑LEDが点灯してから行ってください。
緑色のLEDが点灯したらあとはポケコンから送信操作を行います。
①「MON」と入力してEnteキーを押します
②送信したいメモリエリアを「W」コマンドで指定します
※100H~FFFHまでを転送する場合は「W100,FFF」と入力しEnterキーを押します(常に16進数)
通信が完了するとMONの状態に戻ります。
■BlueSMiRF Silverのハードウェアリセット
ここではおまけとして、このモジュールのハードウェアリセットの方法について説明します。
ポケコンと通信が出来なくなったり、コマンドを間違えたなどでモジュールの設定がおかしくなった場合は、ハードウェアリセットの操作を行うことで初期状態に戻すことが出来ます。
ちなみにリセットの方法を調べると、英語の説明やYouTubeでの解説は見つかりますが、日本語での解説を見つけることは出来なかったので、参考としてこれまで調べた内容をまとめてみました。
必要なのは5Vの電源とPIO4の端子に接続するためのケーブルのみですが、今回作成したモジュールはそのままブレッドボードに刺すことが出来るので、一緒に
ブレッドボードとワイヤーのセットを用意しておくと作業が簡単になります。また、端子へのON/OFFを繰り返す必要があるため、
ブレッドボード用のケーブルも用意しておいてください。
まずは全ての通電を切った状態にしておきます。
①PIO4の端子に電源の+を接続します。(この状態ではまだ電源には繋がないでください)
ポケコンとブレッドボードを使う場合は以下のように配線します。
②次にこの状態で5V電源に接続します。
すると一瞬だけ赤色LEDが高速に点滅し、そのあとはゆっくりと点滅します。
③最後にオレンジ色のジャンパワイヤーを、1秒くらいの間隔で抜き差しを3回ほど行います。
すると赤色LEDが一瞬高速に点滅しますが、これでハードウェアリセットが完了となります。
終わったら電源から外し、再度初期設定からやり直してください。
※115,200bpsに戻っているのでTera Termもそのように設定してください