GMC-4の動画がMAKEに紹介されていた ― 2009/08/26 18:24:31
工エエエエェ(゜Д゜;) ェエエエエ工
いつのまにか紹介されている。驚いたよw 紹介されたページはコチラ。
確かに4ビットマイコンを14ビットコアのRISCマイコンで動かしているのは滑稽ではある。GMC-4も中身は純粋な4ビットではなくて、エミュレーションで動いているのも面白いね。
今までのGMC-4関連ブログはコチラ
[PR] Make: Technology on Your Time Volume 01 02 03 04 05 06 07
学研の大人の科学Vol.24 4ビットマイコン(GMC-4) プログラムメドレー ― 2009/08/23 00:04:43
裏もきれいに纏まった。電池をつけたままでもUSBを抜き差しもできる。これで使い勝手としては最強だぜ。本の26ページの光のデコレーションを動かすにも、プログラムを流してからUSBを抜いて単独で使える。
USB化すればこのように、複数のプログラムをこのように連続して動作させる事が可能だ。PICに0.5秒待ちのコマンドpを設けたので、それを利用している。
・乱数音楽再生(学研の本)
・シーケンス音楽(学研の本)
・数字LEDのアナログ点灯(学研の本)
・LEDが左右に動く
・ロイツマの音楽の一部(リアルタイム転送)
・ゼビウスのオープニング
・15秒カウンタ(学研の本)
GMC-4で先人がエミュレータなりCコンパイラなどを作っているので、そこで動いたものをUSBから流して動作確認だ。
その他に、素数を求めるプログラムを作った人もいる。このGMC-4ってやつは、ハノイの塔のようなパズル的要素が中々おもしろいじゃないか。
[PR]大人の科学マガジン Vol.24 (4ビットマイコン) (Gakken Mook)
学研の大人の科学Vol.24 4ビットマイコン(GMC-4) ずっと俺のターン ― 2009/08/21 23:59:59
ピンを外したら、中々基板が薄くて小型だ。この製品、このピン無しで基板だけ販売した方が売れるんじゃないのかと思ってしまった。 USBは、あのでっかいUSBコネクターは使いたくない。ゼッタイこれはPICkit2などに使っているmini-Bの大きさを使う。それなので、今まで以上に慎重に配線。まずはUSBを配線してから、USBシリアルモジュールが使える事を確認。 おお、普通に認識してくれた。ドライバーはメーカサイトから取ってこれるから問題なし。 動いたら、デリケートな部分をエポキシ接着剤で完全に固定だ。今回の基板はサンハヤトのシール基板を使い、2メッシュ分のパターンを剥離させて使用した。 ちなみに、mini-Bは5ピンあるが、4ピン目は使用しない。配線は右から+、-D、+D、接続なし、GNDだ。一つおきに足を持ち上げると配線が楽だ。4ピン目はニッパーでカットしている。 電線の引き回しを色々検討。 こんなものか・・・・・ 何とか収まりがついた。固定方法はまだ考えていないが、適当なプラスチックの廃材などを利用しようと思っている。 これでUSBを差し込めばすぐに使えて便利だ。配線時に注意する部分として、USB電源から電池への逆流防止回路は取り付けたほうが良い。ダイオード1本を電池のプラス側に直列に挿入すればOK。
また、電池からPIC系統に行かない様にする回路を付けると電池を無駄に消費しなくて済む。尤も、シリアル転送をしない時でもPICマイコンにGMC-4のプログラムを最初から内蔵させておいて、それを電池で動かす場合は、これに限ったわけではない。PICマイコンとUSB変換で約3mAくらいだったので大した消費電力でもないだろう。
USB使用時の電源供給時、電源スイッチが無いのは、この方が回路が単純化されるので、このようにしている。GMC-4にはハードウェアリセットがあるので問題にはならないだろう。
ダイオードは電圧降下(Vf)の低いショットキーバリアダイオードが理想であるが、実際このGMC-4は2.1V位でも動き、消費電流は4.7V(新品電池使用時)約11mA以下、ブザー出力時約78mAであると言う事から1N4148等の汎用ダイオードでも十分と思われる。 私の場合はショットキーバリアダイオードは無く、その代わり手持ちに1SS319というVf=0.54V程度の部品があったので、それを利用した。また、この回路にすれば、USBでデータを転送した後にUSBケーブルを抜いても、本体にプログラムが残るようになる。
最新ファームはこちらで公開している。
[PR]大人の科学マガジン Vol.24 (4ビットマイコン) (Gakken Mook)
[PR] タミヤ 精密ピンバイスS(クラフトツール:74051)【タミヤ・工作】
[PR] ピンバイス用ドリル
[PR] 接着剤ボンド #15113 ハイスピードエポ 6g コニシ
[PR] USB2.0対応 USBシリアルケーブル !シリアルRS232変換ケーブル USBポートからRS232シリアルポ...
[PR] Sunhayato(サンハヤト)[AWG30-100M-BU]青ジュンフロンETFE電線
学研の大人の科学Vol.24 4ビットマイコン(GMC-4) キーアクセスの改良 ― 2009/08/20 23:06:32
コマンドキーの統一 → 対応済み
フロー制御 → 対応済み
バージョン1.01としてホームページ上に公開
ここまでやる気を出したのは、昨日のコメント欄に、まりすさんから大変参考になるコメントを頂いたからである。
そこでソフトウェアフロー制御のXON/XOFFコントロールを使われてはどうでしょう? バッファの8割程度たまったら、XOFF(0x13)を発行、バッファが2割程度をきったらXON(0x11)を発行で、送り出し側の制御をします。
なるほど、これは試してみるしかない。バッファの件はとりあえず保留にして、XON/XOFFのフローシーケンスを実装してみた。
そこでちょっとした問題が。。。。実はXONを送ってもターミナルから自動で送信されてこない。それでRTS-CTSのハードウェア制御も行ってみたが同じであった。XOFFしてから、バッファが空になってからPICがパソコンにXONを送ったり、もしくはCTSを落として送信可能にしているのだが、イマイチ原因がつかめず。こういうふるまいだったっけ?
とりあえず、ブレーク信号か何かキーを押せば通信が再開すると言う事は分った。秀termを使っているので、スプリクトでベルコードが来たらESCを送って回避している。
USBシリアルモジュールの特性
目標の物が完成したので、GMC-4は一旦クローズしてもいいかなと思っている。まとめはホームページで時間が取れたら徐々に整理していく予定である。この装置は大変便利なので、GMC-4を使う人に是非使って貰いたいものである。他にも他のPICやAVR等で製作されているので是非参考にして頂ければと思う。
[PR]RS232C インターフェイスの使い方
[PR] シリアル伝送完全マスタ―RS‐232‐CからRS‐422/423までの詳細 (I・Fエッセンス・シリーズ)
学研のGMC-4改造記を振り返る ― 2009/08/19 18:35:30
所で、学研のGMC-4ネタを周りを見ないで突っ走ってここまで来てしまったが、色々と改めて一呼吸置いてみた。改めて見渡すと既に色々な方々が似たようなプロジェクトでやられている。ここは一つ小休止
まず、打ち込みの仕様なのだが、構想100年のサイトで既に仕様を提唱している。まずこのフォーマットに修正する予定。データの次の0x0d受信時のInc処理もフラグを用意すれば殆ど修正は手間が掛からないはずだ。
次に、通信の取りこぼし対策。構想100年のサイトでは、CTS-RTSのフロー制御で行っている。私も真似ようと思ったのだが、私のシステムではバッファがあと50バイト程あれば300ボーという条件付で80ステップ全て使ったプログラムのデータ転送を無手順で行えると見ている。
しかし、通信のバッファの問題。PIC16F648はRAMエリアが256バイト(16F628は224バイト)使えるわけなのだが、unsigned charでバッファを確保するにしても
unsigned char Buffer_FIFO[160];←これはだめで
バンクというPICの変態アーキテクチャーのおかげで、連続した領域を確保できないわけである。(その変態に付き合っている自分もどうかと思うが・・・・・)
それなので、これを2つに分けて確保すると、
unsigned char Buffer_FIFO[80];
unsigned char Buffer_FIFO2[80];←こうすれば良い
これなら領域を取れるわけである。但し、それなりのアルゴリズムにも工夫が必要となる。「電子ブロック工房」のサイトでも同じような事に遭遇した様だ。
あと、某巨大掲示板でUSB付きのPICでやらないかという事だが、あいにくそこまでのスキルがないorz むしろ課題とさせてくれ orz
というわけで、まずは出来るところから修正して、ダブルリングバッファについては頭を加熱させてみようと思っている。これが出来れば他のPICのプログラムでも応用が利きそうだ。それにしても、今回はGMC-4から色々収穫が多いな。
学研の大人の科学Vol.24 4ビットマイコン(GMC-4) キーアクセス回路を最適化した ― 2009/08/18 22:48:57
やっぱり安い部品で出来るだけ簡単に回路を製作して、GMC-4を楽しみたいよね。というわけで今回は
●特殊な部品など使用せず安い部品を使う
●回路が最低限の部品で動作するようにする
ということを目標に考察してみた。
----------実験開始
キーの部分の電流を測ってみた。パルス性の電流をこのテスターで測れるとは思わないが、目安にはなるだろう。測って見た所、2マイクロアンペア程度。デューティ1/5なので、10マイクロアンペア程度。どう見積もってもミリアンペアも流れてないよな。更に4本のストローブラインとグラウンドへの電流も調べて、そのポートの吐き出せる電流もみたら、テスターで3ミリアンペア。5倍で15ミリアンペアか。それなら、抵抗とか大幅に省略してもいけるんじゃないか?
という事で安いトランジスタで回路ができるかを検証してみた。これが成功すれば、よく分らないデジトラを使わなくても良いし、作りやすい。何といってもお財布に優しいよねっ!(´ー`)y-~~ まずは回路図をかく。随分とすっきりした回路だ。ホビーだからできる回路図だなw さて、早速作るとするか。 ブレッドボードでチマチマジャンパーワイヤーを挿していく。慣れたら15分くらいでできるよ。このジャンパーワイヤーはストロベリーリナックスで色々買った記事で紹介している。 回路はすっきりしているが、ブレッドボードのため混雑しているように見える。 これをPICKit2で書き込んで、 ちょっとコネクター部分を補強したが、できたーーーーーーーー ( ´Д`)
キーシートへの配線はこちらを参照するとよい。
電源はUSBの5Vを使っている。定格を0.5Vオーバーだが(゚ε゚)キニシナイ!!
※電源については自己責任でお願いします。
おおーーーーちゃんと使えるじゃないか!!!!!! と言うわけで、貴方も一つどうですか? (σ´∀`)σ
追記:
部品については、大体この位の予算である。
秋葉原相場
トランジスタ2SC1815GR (YランクOK) 5個 100~150円
トランジスタ2SA1015GR (YランクOK) 5個 100~150円
抵抗1KΩ 1/6W(1/32~1/4W) 4個 20~50円
抵抗10KΩ 1/6W(1/32~1/4W) 1個 5~10円
積層セラミックコンデンサ 0.1μF 1個 5~10円
PIC16F648-I/P 1個 160円~300円
LED(好きな色) 1個 10円~50円
ここまでの合計 400~720円
※基板、ヘッダーピン類、ICソケット、配線材料、コネクター、USBシリアルモジュールは別です。
10KΩの抵抗は、PICkit2とのインターフェース仕様書には記載されているものの、 無くても書き込みは出来る模様。私はUSBシリアル変換モジュールを持ち合わせていたのでそれを利用したが、ADM3202などの シリアルをRS232レベルに変換するICなどを使用して作って、市販のUSBシリアル変換ケーブルを利用しても良いだろう。電源については、電池を外しUSBより5Vを使用して動かしている。回路図中には表記されていないが、GMC-4と、このインターフェースの電源の配線(GNDとVDD)も必要となる。
PICは購入時何もプログラムされていないので、何らかの形でプログラムをPICマイコンに書き込む必要がある。 私が公開しているファイルの中に*.hexという拡張子があるので、これをPICプログラマでPICに書き込めば済むわけだ。
PICプログラマについては自作も出来る。こちらに紹介しているので自分に合った方法で用意しよう。学校や職場などでPICプログラマを所有していたら、先生や上司などにお願いして借りるのも良いかもしれない。
今回採用しているトランジスタの回路はnshさんの亜種である。この巧みな回路を拝見できたからこそ、ここまで完成することが出来たようなものである。
プログラムと回路図はエアーバリアブルホームページのここで公開している。
今までのGMC-4記事
[PR]大人の科学マガジン Vol.24 (4ビットマイコン) (Gakken Mook)
学研の大人の科学Vol.24 4ビットマイコン(GMC-4)キー入力インターフェースが完成!! 回路図、プログラム公開中 ― 2009/08/18 08:24:00
動画は、本のサンプルプログラムのサクラをテキストで打ち込み、それをペースト。その後は、キー操作でリセットを掛けて、ナイトライダーのプログラムを流し込んでみた。
これは、便利だ。コピーアンドペーストしなくても手打ちで打ち込みができる。コマンドは
A-SET→s or S
INCR→i or I or ,
RUN→r or R
RESET→x or X
と言うように対応した。たとえばサクラサクラは、
xa,8,3,8,3,9,7,f,0,xar
とテキストで書いて、コピーしたものをターミナルソフト(私は秀termを使用)でペーストすればデータが転送され、すぐに実行される。
パソコンから入力できるのは本当に楽チンだ。プログラムの保存もパソコンで管理できるし、GMC-4のパソコンエミュレータのデータをちょっと加工すれば手軽に使えるようになる。シリアル通信はストロベリーリナックスのUSBシリアル変換モジュールを使った。ボーレートは300bpsと遅いが、キーの反応が40ms以下に出来ないので遅くしないとバッファがすぐにいっぱいになってしまい、取りこぼしてしまう。 一応PICマイコン側で80バイトの通信バッファがあるので、100文字程度なら一気に流し込んでも大丈夫だろう。
本体キーが使えないのはどうかと思ったので、トランジスタを追加して対応した。これでパソコンからでも、本体からでもどちらのキーでも打ち込みができる。このトランジスタは2SC2712と面実装品を使ったが、汎用のトランジスターでよいだろう。但しデジトラは不可。私は手持ちを使ったが、新規で作る場合は全部普通のトランジスタで作ったほうが安上がりかもしれない。 プログラムと回路図はエアーバリアブルホームページのここで公開している。
[PR]大人の科学マガジン Vol.24 (4ビットマイコン) (Gakken Mook)
学研の大人の科学Vol.24 4ビットマイコン(GMC-4) キーアクセスが自動にできるようになった ― 2009/08/16 23:43:04
キー入力の模索をしていたが、Web上でみると3種類の方式で行っている模様である。1つ目はニコニコ動画にアップされていたリレー式 、2つ目がトランジスター式、3つ目がアナログスイッチ式である。3種類とも原理としては大きな違いはない。結局トランジスター式の方法をもう少しアレンジして作ることにした。
学研 大人の科学マガジン Vol.24 4ビットマイコン GMC-4 @ wiki 最初は汎用のトランジスタで組む予定であったが、 在庫が底を尽きていた。なにか代替でつかえるものは。。。。。 あった、デジトラ、しかし面実装 (´・ω・`) 厳密にいうと、PNP側の内蔵抵抗が。。。。でも、先に進まねば!!! これでやってやる!!
というわけでデジトラ版に回路を変更。 補足:デジトラ=デジタルトランジスター 汎用トランジスターに抵抗を内蔵したもので、デジタル出力にそのまま接続してLEDなどに使用できる便利なものである。
今回は手元にあったRN1402(NPNタイプ)と RN2402(PNPタイプ)という一般的に使用されるデジトラを使った関係で、それに影響されない抵抗値(1kΩ)でプルアップして回避する事にしたが、上記回路右の構成のデジトラを使用する事を推奨する。
入手性を考えるとロームDTA114TSA、東芝RN2007辺りが候補だ。いずれもマルツ電波で手に入る。なお、NPN側はベースに10KΩ位の抵抗が入っていれば何でもよい。もちろん、2SA1015や2SC1815を使って上記の右の等価回路になるようにしても良い。
3時間後・・・・・
表面は何も無いよ。すっきりだねー。裏は?
ぐちゃー (´・ω・`)
配線するのが精一杯だったよ。このレベルで間違えると、目も当てられないので、石橋を叩いて渡る様に確実に配線したよ。 半田もこの1年ほど前から鉛ハンダ止めてスズ-銀系のハンダにしたのでハンダ付けが難しくなったよ (´・ω・`)
それでも、意外とコンパクトに収まったかな (´・ω・`) さてと、まずはテストプログラム。
※PICkit2の裏に張ってあるシールはホームページで公開しています。 こちらへどうぞ。 まあ今は試作だし、とにかく機能を確認していくぜw まずは、行と列を制御し、思ったキーを入力できるかテストするプログラムを書いてみた。 それをPICkit2で書き込んで実行!成功だ!!!(`・ω・´)
PICの波形は意図した通り出力されている。 赤=PICの制御 黄色=キーの波形。押されている間は、何度もストローブがGMC-4からやってくる。 立ち上がり部分と、 立下り部分も問題がない。 キーストローブも思った波形で出ている。ハードも出来上がったわけだし、ここからは机上でデバッグがガンガンできる。
次はキー関数と通信系だ。 続く・・・・・
[PR]大人の科学マガジン Vol.24 (4ビットマイコン) (Gakken Mook)
[PR送料無料新製品想定外究極の100Msサンプリング25MHzカラーポータブルデジタルオシロスコープフルセットPDS5022セール品: ¥ 32,800
【動画紹介】【大人の科学】4ビットマイコンで Don't say “lazy” 【けいおん!】 ― 2009/08/15 23:02:03
おいwwwwwwちょwwwwおまwwwww
全部学研の4ビットマイコンGMC-4だけで多重録音しているわけだ。全部で16パート。こんな音が出せたのかよw いやー恐れ入ったよ。俺のGMC-4、まだ全然進んでいないや orz
ちなみにこのGMC-4は正確には4ビットマイコンをエミュレーションしているという事だ。
ところで、多重録音と言えば、エレキギターの生みの親でもあり、多重録音の先駆者でもあったレス・ポールさんが94歳でお亡くなりになったんだよな。心からご冥福をお祈りする。
[PR]大人の科学マガジン Vol.24 (4ビットマイコン) (Gakken Mook)
学研の大人の科学Vol.24 4ビットマイコン(GMC-4) キーへのアクセス実験 ― 2009/08/07 08:40:31
(`・ω・´) ずっと手付かずだったキーボードへのアクセスを検討するよ。
ストローブ信号が"H"レベルになったら、それに応答する様な簡単なプログラムを作成して、動作を確認する。
counter=10000;
while(counter){
if(RB2) {
RA0 = 1;
counter--;
}else RA0 =0;
}
その結果が、こちら。
(´・ω・`) ・・・・・間に合っていない orz
応答に10μ秒、リリースで20μ秒も掛かっている。そして新たに分かった事は、キーが押されている時は連続したストローブが入ってくるという事。当然ながら、キー入力は誤動作しまくりなので、使い物にならない。
ストローブに応答した方法は使えないな。この方のハードウェアが大変よく出来ているので、こちらを検討しようかと思っている。これが使えるようになれば、あとの通信系はこれを応用すれば時間も掛からないであろう。
(´・ω・`) ファイトだ 俺
最近のコメント