ポケコンのハードコピーについて

PC-G850VSだが、どうやら画面上の表示のハードコピーをとることができるようだ。
とりあえず確認できたのは、BASICの隠しコマンドでHDCOPYがあること。
引数に0と1が使えることだけで、実際プリンタをつないで試してみても印刷することはできなかった。

そこでナガイSCT株式会社に問い合わせてプリンタ・パソコンインターフェイス CT-431の在庫と一般販売の可否について問い合わせてみる。
そうしたら、在庫もあり一般向けにも売ってくれるとのことで、早速注文してみた。

届いたセットを早速試してみる。

まずは普通にBASICで印刷してみる。

OPEN ”LPRT:”コマンドでポートを開いて印刷するのは、本を参考に自作したインターフェースと同じである。

次にハードコピーを試してみる。
取説によると、以下の方法でハードコピーが取れるようだ。

表示済みの画面のハードコピー
[SHIFT]+[0] → ESC/P
[SHIFT]+[1] → PC-PR

BASICの画面のハードコピー
HDCOPY 0 → ESC/P
HDCOPY 1 → PC-PR

C言語の画面のハードコピー
void hdcopy (unsigned short printer);
printer = 0 → ESC/P
printer = 1 → PC-PR

試した結果は以下のとおり。
どうやらハードコピーをする際にはOPEN ”LPRT:”コマンドは必要がないみたいだ。

なんか三本線が大量に印刷されている。
やはりESC/PとESC/POSは別物なのだろうか。

それはともかく、CT-431だとハードコピーできるのはなぜだろうかと思い基板を見てみる。

なんかGALがのっている。
何かしら特別な処理を行って自作は不可なのだろうかと思いつつ、基板をひっくり返してみる。

・・・
・・・・・・
・・・・・・・・・
何だろう、この後付け感たっぷりな抵抗は。
もしやと思い自作のインターフェースの2番ピンと8番ピンを同じように10KΩでつないで確かめてみる。

早速ハードコピーを取ってみたら、三本線が大量に印刷された。
これでESC/Pに対応していたらちゃんと画像が印刷されるのだろうか。

とりあえずプリンタのダンプモードで印刷してみた。
ネットで拾ったESC/POSとESC/Pのコマンドと見比べて、ダンプされた内容を確認してみようと思う。
ESC-POSコマンド比較(ESC-POS.pdf)

ついでに、Arduinoを使って印刷用のインターフェースを作ってみようとしている。

使っているのは、秋月のAE-ATMEGA-328 MINI。
ネットで調べて分かったことだが、ポケコン用のプリンタCE-126Pがあるが、Sharp_PC-G850VS_Interface.pdfによると独自のプロトコルで動いているらしい。
更に調べていくと、Arduinoを使ってプリンタをエミュレートしている人もいた。
公開されているソースをベースにパラレルインターフェースに出力するプログラムを書き足して実際に印刷できることを確認した。
CE-126Pの場合、
・BASICでOPENコマンドでポートを開く必要がない。
・TEXTモードで印刷できる。(パラレル変換インターフェース経由では印刷できない)
・MONモードで印刷できる。(パラレル変換インターフェース経由では印刷できない)
と、パラレルインターフェースでは印刷できないモードでも印刷が可能。
現在、CE-126PモードとLPRT:モードを切り替えて印刷できるArduinoのスケッチを作っているところ。
とはいえ、すごい今更感があるんだよなぁ・・・

カテゴリー: PC-G850VS, ポケコン, 電子工作 | コメントする

ポケコンの電源とシステムバス

この前買ったポケコンPC-G850VSなのだが、ACアダプタ用のジャックがついている。
昔、高校の頃に使っていた機種(PC-G803/813)にはついてなかった。
さて対応しているACアダプタなのだが、今は珍しいセンターマイナス型。
折角なので、ポケコン用アダプタを作ってみた。

12VのACアダプタをつないで8.5Vに降圧させるためにAZ1117D-ADJを利用している。
電流に余裕があるのでTA48M05Fも追加して5Vの出力もできるようにした。

システムバスだが、こちらのコネクタはもはや入手不可。
いま、代替できる物はないか探しているところ。
高校か社会人になって間もないころに購入したコネクタとコネクタ付き基板が未使用なまま保管してあったので引っ張り出してみる。

せっかくポケコンを手に入れたので、貴重なこれらを使ってみることにした。

ところでこの基板、ピンヘッダを取り付けようと思ったら1番ピンの位置に気を付ける必要がある。
ポケコンのシステムバスの1番ピンの位置が、上記写真の位置に来るので、フラットケーブルの1番ピンの位置と逆になる。

さて、コネクタの方だが、これを取り付けることができる基板がないものか探してみる。

1.27mmピッチの基板を使おうとしても細かすぎるし、基板に足が入らない。
ところがスイッチサイエンスで奇天烈(ジグザグ)ユニバーサル基板 Cタイプ(72×48mm)というものを見つけてもしかしたら使えそうかもと思い入手してみた。

思った通り、足の位置がちょうどぴったりだったので、基板をカットして取り付ける。


表面部分の足も延ばして、穴位置に合わせてまげて取り付ける。

ピンヘッダは、サンハヤトの基板に合わせたものにするか、フラットケーブルの1番ピンに合わせるかどっちにするか迷ったが、結局、シール基板の残りを見つけて両方に対応できるようにした。
これで、コネクタの心配をせずフラットケーブルを使ってシステムバスを使った工作を行うことができる。

さて、基板やコネクタだけあっても仕方ないので、貴重な最後の基板を使って82C55ボードを作ってみることにした。
高校時代にも作ったはずだが、どの本のどの回路をもとに作ったか思い出せない。
結局「ポケコン活用研究2」の3章に載っていた回路をアレンジして組み立てた。
最小のICの数で、アドレスデコードで手を抜いていないところがよいのだが、回路図に誤記があるので気を付ける必要がある。
他に見つけたものでは、74HC244,245でバスを切り分けているものがあって、最初はそっちで組み立てたかったが、ICの数が多く基板のサイズ上載せきれなさそうなので却下。
他にもICの数が少なくて済むものがあったが、そっちはA2,A3かつながってないものだったため却下した。

出来上がった82C55ボード。
I/Oアドレスは。ショートピンで選択できるようにしてある。
74HC32のOR回路が余っているので、/IORQが出ているときのみ82C55の/CSに信号が行くように手直ししたのと、割り込み用に利用。
/INTのところは単体で使う分にはいいけど、ちょっと手直しが必要かな。

ポケコンにつないでみたところ。

I/O確認ボードにつないで動作確認。

BASICでプログラムを組み、モード0でポートA,Bを出力、ポートCを入力に指定。
ポートA,Bに順次データを送りながらポートCの状態を読み込んでポケコンに値を表示するプログラムを組んで正しく動くことを確認。

先に 作ったコネクタ基板をフラットケーブルを使って延長してみる。

サンハヤト基板に合わせたほうのピンヘッダにフラットケーブルコネクタを接続し、反対側に82C55ボードに接続してみる。
延長した状態で正しく動くことを確認。

さて、次はなんとするかな。

カテゴリー: PC-G850VS, ポケコン, 電子工作 | コメントする

アンノカントク

テレビを見ていても、CMに入ると別のことをしていてテレビを見ていなかったりする。
ふと、テレビから何か聞き覚えのある声が。

 『!?』

しかしテレビの方を見てもすでに「HONDA」のロゴが。
あの独特の声は、でも、まさか。
2、3回同じことを繰り返していたら先日ようやく件のCMを見ることができた。

やっぱ庵野監督やんけ!

YouTubeでONE OK ROCK×庵野秀明 「Go, Vantage Point.」というタイトルでCM動画を見ることができる。

ついでにおおきなカブ(株)の動画も見ることができた。
原作についてもこちら。

そういえば、去年「シン・ゴジラ」を2,3回ぐらい見に行って、島本和彦「アンノ対ホノオ」も手に入れて、今年になってBDをてに入れたらなんか「アオイホノオ」や「監督不行届」も見たくなって、ネットでいろいろ記事を検索したりしてみた。

続きを読む →

カテゴリー: ひとりごと, マンガ・アニメ | コメントする

ポケコンにプリンタをつないでみた2

プリンタのコネクタについてピンアサインを眺めてみる。
アンフェノール14ピン、36ピン、Dサブ25ピンと種類があり、信号名を眺めていたら、もう一台作ってみたくなった。

今回作ったインターフェース基板・

コネクタはDサブ25ピンの物とした。
LEDバー2つ付けて、信号の状態を表示させている。
さらに、Init,AutoFeedのスイッチもつけてみた。

まずはポケコンに接続。
ポケコン本体の電源が切れていても、5V の電圧は出っ放しになっている。
昔使ってたやつは、電源と連動していたと思ったけど、どうだったけかな。

左のLEDはオプトサプライ10バーLEDアレイ 3色(赤4緑3青3)タイプのもの。
右のLEDは全色緑のものを使用。

プリンタをつないだところ。

順番に接続直後、プリンタ電源ON直後、プリンタ初期化終了。
電源ON直後に、SelectとBusyが出力。
初期化終了でBusyが消灯した。

印刷中、

右側のLEDはD0~D7、STROBE、Clockを表示させている。

プリンタの蓋を開けたところ。

BusyのLEDが点灯。

ついでに感熱紙ロールも取り外す。

Busyのほかに、PaperEnd、ErrorのLEDも点灯。

プリンタの電源を落としたところ。

Busy、PaperEnd、Errorのランプが一瞬ついて、ErrorのLEDだけ点灯状態となった。

前回作成したものと並べてみる。

コネクタから繋がっているケーブルと、UEWの配線で大変なことになっている。

LEDとタクトスイッチの部分。
テプラで信号名を書いたシールを作って貼った。

ちなみに、一番左のPOWはポケコンの電源で、次のDは、ポケコンから送信されるデータ(Dout)の状態を表示。
×印は未使用のところ。
左のLEDは、青、緑、赤の3色をうまく利用している。

Dサブコネクタの部分。

垂直取付用ブロック CB26-6
ジュラコン(R)スペーサー(2個入) M3用 4mm
ジュラコン(R)スペーサー(2個入) M3用 2mm
ジュラコン(R)スペーサー(2個入) M3用 3mm
スペーサー 六角両メネジ M3 (L=12mm)
これらを駆使して、基板、コネクタ、アクリル板を取り付けている。

印刷するときに各LEDがキラキラ点滅するだけの物だけど、見ているとそれなりに面白いので、ちょっとだけいい物ができたと思う。

カテゴリー: PC-G850VS, ポケコン, 電子工作 | コメントする

ポケコンのPIC開発環境

ポケコンのエミュレータをみつけたので、試してみることにした。
Linux/Windows/MacOSX用ソフトウェアから「g800win32.0.10.14.zip」(エミュレータ)と「copyrom.zip」(ROM吸出し)でPC上で動かすことに成功。

各ページのROMのアドレス0xC000-0xFFFF内容を0x1000-0x4FFFに転送して、それをHEXファイル(拡張子はTXT)として吸い出してエミュレータで動かすものだが、HEXファイルをバイナリにして中身をざっと覗いたところ、どうやら「rom14.txt」にPICのINIファイルが存在してるようなので、ちょっと調べてみた。

もう10年以上前のポケコンで、わざわざ制限付きのアセンブラ環境でPICのプログラムなんてする人なんてもういないだろうけど、ネットで調べてもあまり情報がなく、なんとなく気になったので調べてみる。

0x208DのところからINCファイルの一覧がある。

INCファイル定義部分

       00010203 04050607 08090A0B 0C0D0E0F  0123456789ABCDEF
02080                               075049               .PI
02090  432E494E 433ED10B 50313646 3632372E  C.INC>..P16F627.
020A0  494E43CB D10A5031 36463833 2E494E43  INC...P16F83.INC
020B0  F4D60A50 31364638 342E494E 43F4D60B  ...P16F84.INC...
020C0  50313646 3834412E 494E43F4 D60B5031  P16F84A.INC...P1
020D0  36463632 382E494E 43CBD10B 50313646  6F628.INC...P16F
020E0  3837302E 494E43CB D80B5031 36463837  870.INC...P16F87
020F0  312E494E 4394DE0B 50313646 3837322E  1.INC...P16F872.
02100  494E43DF E40B5031 36463837 332E494E  INC...P16F873.IN
02110  4334EB0B 50313646 3837342E 494E432D  C4..P16F874.INC-
02120  F30B5031 36463837 362E494E 4334EB0B  ..P16F876.INC4..
02130  50313646 3837372E 494E432D F3        P16F877.INC-.  

構成としては、
ファイル名長さ(1バイト)+ファイル名(可変長)+参照先ROMアドレス下上(2バイト)
となっているようなので、わかりやすく並べなおす。

長 P 1 6 F  x x x  . I N C  下上    ファイル名 参照先 転送後読み替え
+- +-+-+-+- +-+-+- +-+-+-+- +-+- ------------ ----    ----
07         504943 2E494E43 3ED1      PIC.INC D13E -> 213E
0B 50313646 363237 2E494E43 CBD1  P16F627.INC D1CB -> 21CB
0A 50313646 3833   2E494E43 F4D6   P16F83.INC D6F4 -> 26F4
0A 50313646 3834   2E494E43 F4D6   P16F84.INC D6F4 -> 26F4
0B 50313646 383441 2E494E43 F4D6  P16F84A.INC D6F4 -> 26F4
0B 50313646 363238 2E494E43 CBD1  P16F628.INC D1CB -> 21CB
0B 50313646 383730 2E494E43 CBD8  P16F870.INC D8CB -> 28CB
0B 50313646 383731 2E494E43 94DE  P16F871.INC DE94 -> 2E94
0B 50313646 383732 2E494E43 DFE4  P16F872.INC E4DF -> 34DF
0B 50313646 383733 2E494E43 34EB  P16F873.INC EB34 -> 3B34
0B 50313646 383734 2E494E43 2DF3  P16F874.INC F32D -> 432D
0B 50313646 383736 2E494E43 34EB  P16F876.INC EB34 -> 3B34
0B 50313646 383737 2E494E43 2DF3  P16F877.INC F32D -> 432D

マニュアルに書かれている以外にも対応しているPICがあるようだ。

ROMの内容が0xC000-0xFFFF内容を0x1000-0x4FFFに転送されているため、参照先のアドレスも読み替えてPIC.INCの参照先(0x213E )を見てみる。

PIC.INCファイル

       00010203 04050607 08090A0B 0C0D0E0F  0123456789ABCDEF
02130                                 0E57                .W
02140  00000000 00000000 00460000 00000000  .........F......
02150  00010049 4E444600 00000000 00544D52  ...INDF......TMR
02160  30000000 00010050 434C0000 00000002  0......PCL......
02170  00535441 54555300 00030046 53520000  .STATUS....FSR..
02180  00000004 00504F52 54410000 00050050  .....PORTA.....P
02190  4F525442 00000006 0050434C 41544800  ORTB.....PCLATH.
021A0  000A0049 4E54434F 4E00000B 004F5054  ...INTCON....OPT
021B0  494F4E5F 52810054 52495341 00000085  ION_R..TRISA....
021C0  00545249 53420000 008600             .TRISB.....     

どうやら、
1個目:定義数(1バイト)+定数名(8バイト)+値(1バイト)
2個目以降:0x00 or 0x01(1バイト)+定数名(8バイト)+値(1バイト)
と10バイトの固定長になっているようだ。

一つ一つ手作業で変換するのも面倒なので、ポケコンでBASICでプログラムを組んでみる。
前提条件としては、copyromでAレジスタで0x14を指定した後、ROMの内容を0xC000-0xFFFFから0x1000-0x4FFFに転送済みになっていること。
PCとポケコンを通信ケーブルでつないでTeraTermなどでデータを受信できる状態であること。

定数定義吸出しプログラム

 
100OPEN "COM1:"
110INPUT "ADDRESS: ";AD$
120IF AD$="END" OR AD$="EXIT" THEN PRINT "==END==":CLOSE :END
130DC= PEEK ( VAL ("&H"+AD$))
140PRINT #1,""
150PRINT #1,"ADD:"+AD$
160PRINT #1,"CNT:"+ STR$ DC
170PRINT #1,"     LABEL    VAL"
180PRINT #1,"---- -------- ----"
190FOR LC=1 TO DC
200PP$=""
210PB$=""
220PP$= RIGHT$ ("    "+ STR$ ( PEEK ( VAL ("&H"+AD$)+(LC-1)*10)),4)+" "
230FOR C=1 TO 8
240 DT= PEEK ( VAL ("&H"+AD$)+(LC-1)*10+C)
250 IF DT>=&H30 AND DT <&H7F THEN PP$=PP$+ CHR$ DT ELSE PP$=PP$+ " "
260NEXT
270PB$= " &H"+ RIGHT$ ("0"+ HEX$ ( PEEK ( VAL ("&H"+AD$)+9+(LC-1)*10)),2)
280PRINT #1,PP$;PB$
290NEXT
300PRINT #1,"==== ======== ===="
310PRINT #1,""
320GOTO 110


実行した結果は以下の通り。
長いので、実行結果は次のページで。
続きを読む →

カテゴリー: PC-G850VS, PIC, ポケコン | コメントする

ポケコンにプリンタをつないでみた

ポケコンを買って今度はプリンタを買って印刷をしてみることをした。
今回Amazonで買ったプリンタはエプソンのTM-T88IVというものだ。
中古で2,980円+送料手数料740円で合計3,720円と手ごろな値段。
当初の考えていたArduinoのプリンタシールドよりもはるかに安い。
しかし、ちょっとでかいしちょっと重い。
ACアダプタの大きさも半端ない。
これに感熱紙ロールを追加で買って印刷を行う準備をする。

『ポケコン・エレクトロニクス』に掲載されているセントロニクス・インターフェイスの回路図をもとに基板を組む。

たしか高校生の頃にも作ったはずだが、もう残ってないはず。
あの頃よりも配線はきれいにできているはずだ。

次に、ポケコンとプリンタをつなぐ。
アンフェノールコネクタなんてかなり久々に見た気がする。
14ピン-36ピンのケーブルなんて見かけないので自作する。
製作費の半分以上がこのコネクタに掛かってんじゃないだろうか。

実際につないで印刷してみたところ。

左は文字コードを印刷するプログラムを実行したところで、右はLLISTでプログラムを印刷しているところ。
BASICなんて何年ぶりだろうか。
ちなみにLLISTで印刷するためには、まずOPEN ”LPRT:”コマンドでプリンタポートを開く必要がある。

ちなみにインターフェース基板にLEDを追加している。
一番上にポケコンの電源表示の赤LED
二番目以降はオレンジのLEDで、ポケコンのXOUT(クロック)
三番目にポケコン側のBUSY~プリンタ側の/STROBE
四番目にプリンタ側のBUSY~ポケコン側のACK
ところが、二番目のBUSYは基本点灯しっぱなし(実際は点滅しているはず)
三番目のBUSYは消灯(一瞬だけついているのだろうけど視認できない)
唯一わかりやすいのは4番目のプリンタ側のBUSYだけだった。

印刷中に一瞬点灯することがあるし、プリンタ側でエラーなどが発生すると点灯する。
上の写真は、ロール紙のカバーを開けてプリンタ側でエラー状態にしている状態で、インターフェース基板上のLEDが点灯しているところ。

印刷した内容の前に、ポケコンの文字コードを表示させてみる。

次に、印刷したものを並べてみる。

なぜ2種類あるかというと、プリンタの文字コードセットがデフォルトではポケコンのコードとは異なっているのである。
プリンタの制御コードでESC/Pというものがあるが、このプリンタはESC/POSというもので制御している。
どうやらPOS用に特化した制御コードらしいが、基本的に使い方は似たようなもののようだ。
ただ、エプソンのサイトに登録しないとESC/POSの資料はもらえないようだが、ググってみたら資料はそれなりに見つかる。
ググった結果、シチズンの「モデル:CMP-20/30」用のコマンドリファレンスが見つかったので、それをもとに設定を変えてみる。

左がデフォルトの状態、右が国際文字セットとページ1を指定したもの。

&HF8(0xF8)以降の文字が異なっているが、まあ特に大きな問題ではなかろう。

デフォルト設定のまま

10:OPEN "LPRT:"
20:LPRINT "     0123456789ABCDEF"
30:LPRINT "---------------------"
40:FOR H=&H20 TO &HF0 STEP &H10
50: CC$=""
60: FOR L=0 TO 15
70:  CC$=CC$+ CHR$ (H+L)
80: NEXT
90: LPRINT HEX$ H;" : ";CC$
100:NEXT
110:FOR I=1 TO 10
120: LPRINT
130:NEXT
140:CLOSE
150:END

 

文字コードの初期化をして日本語の文字コードに設定。
20行目でESC tで文字コードテーブルの選択(ページ1カタカナ)
30行目でESC Rで国際文字セットの選択(日本)

10:OPEN "LPRT:"
20:LPRINT CHR$ &H1B;"t"; CHR$ 1
30:LPRINT CHR$ &H1B;"R"; CHR$ 8
40:LPRINT "     0123456789ABCDEF"
50:LPRINT "---------------------"
60:FOR H=&H20 TO &HF0 STEP &H10
70: CC$=""
80: FOR L=0 TO 15
90: CC$=CC$+ CHR$ (H+L)
100: NEXT
110: LPRINT HEX$ H;" : ";CC$
120:NEXT
130:FOR I=1 TO 10
140: LPRINT
150:NEXT
160:CLOSE
170:END

プリンタインターフェースのほかに、カセットインターフェースも作った。

こちらも高校時代に作ったが、実装密度は2倍近くになってサイズは約半分ぐらいになっているはず。
一応、ステレオプラグを使うかアナログプラグを使うかでジャンパーピンで選択できるようにしている。
時間がなかったので、手書きなのはご愛敬、


追記 2017/07/20
ESC/POSのコマンドリファレンスで、他にもいいものがあったので忘備もかねて記載しておく。
三栄電機プリンターコマンドリファレンス
ESC/POS – Epson
FAQ for ESC/POS

カテゴリー: PC-G850VS, ポケコン, 電子工作 | コメントする

思わずポチってしまった。後悔はしていない(ポケコンを買った)

Amazonで何気なくポケコンで検索してみたら、いくつか商品が出てきた。
新品だと2万円以上、中古だと数千円から。
本当なら新品が良かったけどちょっと高すぎなので、中古で状態のいいものということで14,000円のものを買った(それでも高いほうだが)
買ったのはSHARPのPC-G850VS。

工作するためにいろいろ計算することが多いのだが、電卓とメモ用紙に筆算では限界がある。
関数電卓でも良さそうだけど、昔使ったことがあったが何か使い慣れなかった。
ポケコンだと入力した式がそのまま見えるし、表示されていれば、数字を修正して式を使いまわせる。
Excelを使うまでもないけど、いろいろ数字を変えて何度も繰り返したいときはプログラムを組めばいい。
せっかくポケコンを買ったので周辺機器も作ってみた。
写真左下のは、高校生の頃に買った『ポケコン・エレクトロニクス』という本をもとに手持ちのパーツで作ったレベル変換器。
新規で買ったパーツは1μFの電解コンデンサ5つだけ。
右下のは「PC-G850用USB通信ケーブルを作ろう!」をもとに秋月のFT-232RQ USBシリアル変換キットを使って作ったUSB通信ケーブル。
元のページを見てもらえばわかるけど、USBシリアル変換キットのピン配置がポケコンのピン配置と酷似しているため多少の工夫だけですぐにつなぐことができる。
しかし、元ネタのままだと未使用ピンが不格好なので、ちょっと工夫して、ついでにLEDをつけてみた。
つけたのはポケコン側の電源LEDと、TxD,RxD,CTS,RTSのLED。
FT-232RQのCBUS0~4の端子が出ていないので、TxD,RxD,CTS,RTSに直接LEDをつけた。

次はプリンターをつないでみたいところだけど、プリンタは微妙なところだ。
シリアルポートは今のところサーバーやネットワーク装置のコンソールポートなどでかろうじて生き残っているが、パラレルポートのプリンタなんてそれこそ絶滅種である。
Arduinoのプリンタシールドで、ポケコンと直結してArduinoの内部で変換して印刷するスケッチでも組んでみるかと思ったが、AS-289R2プリンタシールドの値段を見て断念。
今回買った中古のポケコンより高いじゃねぇか。
Amazonで何とか3,000円弱の中古品のプリンタがあったのでそれをゲット。
あとはパラレル変換器を作るだけの状態。

ポケコンといえば、高校時代に配布されたのがPC-G803という機種。
そのころ『ポケコンジャーナル』(だったかな?)っていう雑誌があって毎回買っていた思い出がある。
そこでPC-G813という上位後継機種についての記事があったので、高校の先生に頼んでPC-G813をゲット。
しばらく2台持ちだったのだが、昔あった『ラジオの製作』(電波新聞社)の電子工作コンテストに出品した際にポケコンを紛失されてしまった。
以降はPC-G813が高校時代のメインマシンとなる。

社会人になってもポケコンは会社で大活躍。
ある数字の変換のためだけにパソコン1台占有していたのを、ポケコンで同じことができるものを作った。
他にも便利ツールを作ったら、自分のポケコンはいつの間にか職場の共有ポケコンになって便利に使われてしまった。
同じ高校の先輩後輩がいたので、そのポケコンにもプログラムをコピーしてやって複数のポケコンが職場の共有物となってしまった。
東京に転勤になる際に職場に置いてきてしまったわけだが、今頃どうなってしまったんだろうなぁ・・・

カテゴリー: PC-G850VS, ひとりごと, ポケコン, 電子工作 | コメントする

おもちゃのマイクを本物のマイクにしてみた

この前買ったおもちゃのマイクだが、別の構想中の物で実験のためにマイクが必要になったので、なんとなくマイクを作ってみることにした。

マイクのサイズに合わせて基板を加工して、スライドスイッチを基板に取り付けたところ。


スライドスイッチで基板を固定してみたところ。
スライドスイッチの取り付けがまずかったのか、ちょっと斜めっている。
底面の方は、ほぼマイクの中心部分に基板が来ている。


基板をさらに加工してジャックを取り付けたところ。
ほぼ底面の中心付近にジャックが来るようにした。
このままだと丈夫さに不安があるので、アルミのLアングルの残材を利用して固定用の金具を作る。
ハンドニブラとやすりを駆使して日曜の午前中はこれの加工に費やしてしまった。


コンデンサマイクを取り付けたところ。
ジャックはモノラルプラグでもステレオプラグでも使えるようのスイッチで切り替えられるようになっている。


最終的に取り付けたところ。
コンデンサマイクが、ほぼ中心に来るように取り付けている。
その近くに、モノラル・ステレオの切り替えスイッチがある。
回路を見ればわかるけど、プラグの対応のためでスイッチをステレオにしたところで左右に音が分かれるだけで、音声がステレオになるわけではない。


マイクの頭もつけてケーブルもつけたところ。
スライドスイッチにはDYNAMICと書いてあるけど、実際はコンデンサマイクなわけで。
とりあえず、マイクとして使えることは確認した。

この程度なら空中配線でもよかったのだろうけど、今後の参考のために基板のサイズや固定をどうするかの確認も兼ねていたので基板での工作にした。
これでマイクも確保したし、次は構想中の物に戻って実験かな。
おもちゃのマイクの方も何かほかにも作れないかな。

ちなみに件のコネクタだが、半田ごてを当ててみたが熱で溶けるようなことはなかったが、半田がのることもなかった。
ニッパで切断しようとしたが、結構硬かったので、おそらくアルミなのだろう。
よく見ると台座にはピン番号が刻印されていて、裏面にもピン番号が刻印されている。
ググってみたら実際に本物のコネクタが繋がるようなので、おもちゃにしては随分と凝った作りをしている。スライドスイッチは本物だったし一体なんなのだろうな。

カテゴリー: 電子工作 | コメントする

おもちゃのマイクのスライドスイッチが本物だった件

ダイソーでおもちゃのマイクを買った。

これで何か作れないかなと思い、サンプルで買ってみた。
スイッチやコネクタはどうせイミテーションだろうと思って、スライドスイッチのところはどう加工して本物のスライドスイッチにしようか、ちょうどいいサイズの物ってあるのかなと思って、ばらしてみたところ・・・

本物のスライドスイッチだった(笑)
さすがにコネクタはイミテーションだと思うけど、一応確認してみたら導通はあるんだよね。
プラスチックにアルミの塗装をしてるっぽいけど。

これ使ってワイヤレスマイクを作ってみるもよし、どうしようかな。

カテゴリー: ひとりごと, 電子工作 | コメントする

最近作った物 その2

2~3月にかけて作った物

エレキジャック No.2に載っていた『PICデュアル・ライタ』を作った。
2007年発行で10年前の物だが、必要なファームやソフトが手に入るか、使えるのかと心配だったが、割と問題なく製作できた。

基板と雑誌に載っている回路図のパーツナンバーが入れ替わっているところが何か所かあっるけど、番号が入れ替わっているけど抵抗は同値なので、組み立てる分には問題なし。

基板に印字されているパーツナンバーに合わせて、誤記も修正された回路図と最新ファーム(とはいっても当時の)はでんし研の『PICデュアルライター』から入手可能。

また、『PICデュアルの応用』に書かれてあるVpp切り替えにも対応。

USB-シリアル変換にはcoregaの変換ケーブル(CG-USBRS232R)(販売終了)を使用。

ただ、これを使ってシリアルポートを利用したファームウエアの書き込みを行おうとしたが、うまくいかず、結局PICへのファーム書き込みは秋月のPICライターを使用した。
PICライターを作るためにPICライターが必要になる矛盾。
シリアルポートの仕様としては送信側は±5~15Vとなっているので、範囲内で低めの電圧しか出力されていないために、PICに書き込めるだけの電圧が供給できなかったのであろう。

このライターの電源は5Vあれば動いてくれるので、USB機器をつなぎながら同時に5Vも確保できるアダプタを作成。

もとは100円ショップで売っていたiPhone充電用の変換アダプタをばらしたもの。
iPhone側で充電器と認識させるためのチップ抵抗を取り外し、信号線を配線して電源用のケーブルを取り付けたもの。

さて、USB-シリアル変換ケーブルとの接続なのだが、どちらも固定用のネジ止めが邪魔をしてこのままでは直接つなげられない。

これは秋月のPICライターでも同じことで、別途ストレートケーブルを使って接続していたのだが、いちいちストレートケーブル準備するのも面倒になってきたので、この機会に直結できるアダプタを作成。

どちらか片方のネジ止めを外せば済むことなのだが、今後の別の機器でも使うことを考えて、このアダプタを作った。

電源用のアダプタとコネクタ接続アダプタを使って接続したところ。

これだと別途電源を用意する必要がなくなるので準備が多少楽になる。
今後は、18ピンまでの対応PICはこの小型のPICデュアル・ライタを使って、それ以上の多ピンの物やPICデュアル・ライタに非対応の物はこれまで同様に秋月の比較的大きめで別電源(15V)が必要なPICライターを使うというように使い分けすることになるだろう。

ちなみに制御ソフトはオレンジ電子の『Writer509』を使用。
こちらもだいぶ前から更新が止まっているけど、すでに数年以上も前の物なので仕方がないだろう。

続いて、こちらもエレキジャック No.2に載っていた『DTMFと無線機で遠隔操作をしてみよう』の記事を見て作った物。
デコーダーの方は基板がついていたが、ジェネレーターの方は別途自作する必要がある。
ジェネレーターに使った基板は共立エレショップの『PIC16C84テストボード(基板のみ)』を使用。

今時PIC16C84ではなくIC16F84が主流だし、DTMFジェネレータではPIC16F628A-IPが使われているが、ピンアサインは同じなのでそのまま流用した。
この基板は3端子レギュレータ用のパターンがあるし、ある程度配線が引き回されているので、製作はかなり楽に行うことができた。多少アレンジはしているが。
無線で使うわけではないので、DTMFジェネレーターは元記事の回路をそのまま使って、電源リセットのところだけエレキジャックの記事に合わせてある。
DTMFデコーダーICは記事の中にあるCM8870PIではなく、同等品のLC7385を使用。
デコーダーの信号をモニタするため、ピンヘッダを無理やり装着している。
ちなみにどちらのPICも上記PICデュアル・ライタの動作確認も兼ねてデュアル・ライタで書き込みをしているが、うまく書き込めたので一安心。

動作確認用に使った386アンプ。
実は何年か前に作ったMP3プレーヤーを作るときに作った、386アンプ検証用の試作基板。

低音ブースターの効果やMP3モジュールとの相性確認のために作ったが、その後もほかの試験に使うことも考えて入出力や電源にジャックとヘッダピンを併用した作るになっている。

DTMFジェネレータ、デコーダー、386アンプをつないでの動作確認試験。

DTMFジェネレータの出力をアンプにつないで、アンプの出力側をデコーダーのIN端子に接続。デコーダーのMIC出力端子をアンプのもう一方のチャンネルに接続。
ジェネレーターの出力に合わせてDTMFトーンが出ていること、それに合わせてデコーダーが動作し、応答トーンが出ていることを確認。

こちらもだいぶ昔に作ったI/O確認ボードを使ってDTMFデコーダーICの出力とPTTの出力を確認しているところ。

左の写真はDTMFデコーダーICは「#」を押された直後で0xC(0b1100)が出力されている状態。音に反応した時点でDTMFデコーダーから対応するコードとStD、デコーダーとエンコーダのPTT端子の出力をモニタしているところ。
PTT端子の出力は、それぞれオープンコネクタだったりオープンドレインだったりするので、I/O確認ボード上でプルアップ抵抗をつけている。

カテゴリー: 電子工作 | コメントする