[][mobile][Homepage][BBS][Blog][YouTube][asablo]

過去の記事の検索が簡単にできるよ (・∀・) 例 ランチャー9
カスタム検索

GMC-4の動画がMAKEに紹介されていた2009/08/26 18:24:31

アクセスが多い。何故だ?
アサブロの順位をみたら昨日は20位!?何故??? 理由が分らなかったのだが、今日何気にMAKE JAPANのページを見ると、

GMC-4の動画がMAKEに紹介されていた

工エエエエェ(゜Д゜;) ェエエエエ工
いつのまにか紹介されている。驚いたよ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

改造した後は電線が全部隠れた
また学研GMC-4ネタか!と、聞こえてきそうだが、そうなんだ (´・ω・`) またなんだ。すまない。 

裏はコンパクトに纏まった。電池を入れながらでもUSB差込ok
裏もきれいに纏まった。電池をつけたままでも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付学研の大人の科学Vol.24 4ビットマイコン(GMC-4)
今週はずっとGMC-4ネタで突っ走ってきたが、そろそろ纏めようかと思う。やっぱりここまでやったら実用的に改造した方がいいよな。 まず、配線が美しくない。折角配線した部分は、プログラム開発の一過性なものだと割り切って、電線を全部外す。汚れ防止のため、マスキングテープで養生している。
キーシート配線をきれいにするため、ハンダビアに穴をあける
そしてその部分に0.8mmのピンバイスを使って中心に穴をあけていく。下敷きの板はカマボコ板だ。これはこういう工作に便利。このアイデアは構想100年の「GMC-4 小改造 キーマトリックス取り出し」を参考にした。
0.8mmのバイスで簡単に加工できた
なかなか綺麗に空くものだな。ここで気がついた事なのだが、行の配線部分で、縦のパターンが走っているのにどうやって隣のスイッチに接続してるのかと思ったら、縦のパターンの上に横から別の盛り上げパターンが走っているではないか。黄緑色した横のパターンがそうだ。 このパターンも抵抗にバラつきがあって、20Ω位のもあれば、100Ω位のもある。両面でやるより、片面でこの方法の方が安いと判断したんだろうな。
音量調節の半固定抵抗も穴をあけて固定
音量調節の半固定抵抗も穴をあけて固定してみた。これで表から調節ができる。
電線を通してハンダ付けする
ジュンフロン電線を使って電線を通しハンダ付け。結構これが難しくて、リードを出しすぎると、キーシートを押す時チクチクするので、手に刺さらないか確認しながらのハンダ付けである。
前回作った基板は、強引に割ったりピンを曲げたりwww
前回作ったデジトラタイプの基板は心持ち大きい。なので、端をちょっとニッパーで切ったり、ピンを曲げたりしてみた。これでここにコネクターをつければ良い訳だ。
そういや西日本常盤商行のUM02-RS/Dを持っていたのでこれを使う
所で、前回XOFF/XONやハードウェアフローがうまくいかないとか話していたが、実は旧式のCP2101のバグっぽい。ドライバーも古いのしか動かないのでこれは諦めて、手持ちの西日本常盤商行のUM02-RS/Dを使う事にした。このままだと大きすぎるので、ピンを全部外そう。ピンが中々抜けないなと思ったら、
何だこのスルホールはwww
ちょwwwなにwwwこのスルホールwww なんでこんなにでかいんだ?ww 
ピンを外したら、中々基板が薄くて小型だ。この製品、このピン無しで基板だけ販売した方が売れるんじゃないのかと思ってしまった。
USBは一度配線してから
USBは、あのでっかいUSBコネクターは使いたくない。ゼッタイこれはPICkit2などに使っているmini-Bの大きさを使う。それなので、今まで以上に慎重に配線。まずはUSBを配線してから、USBシリアルモジュールが使える事を確認。
認識する事を確認して
おお、普通に認識してくれた。ドライバーはメーカサイトから取ってこれるから問題なし。
エポキシ接着剤で完全に固定だ
動いたら、デリケートな部分をエポキシ接着剤で完全に固定だ。今回の基板はサンハヤトのシール基板を使い、2メッシュ分のパターンを剥離させて使用した。
ちなみに、mini-Bは5ピンあるが、4ピン目は使用しない。配線は右から+、-D、+D、接続なし、GNDだ。一つおきに足を持ち上げると配線が楽だ。4ピン目はニッパーでカットしている。
電線をフォーミングしてコネクターを取り付け配線する
電線の引き回しを色々検討。
配置検討中
こんなものか・・・・・
裏はこんな感じに収まった
何とか収まりがついた。固定方法はまだ考えていないが、適当なプラスチックの廃材などを利用しようと思っている。
これでUSBを差し込めばすぐ使える
これで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シリアルモジュールの特性なのかどうかは未だ分っていないが、が原因だった。シリアルを持っているPCでは、XOFF/XONやRTS-CTSのフローのどちらの設定でも問題なく一気にブログラムを流す事が成功した。助言を頂き大変感謝している。

目標の物が完成したので、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本来のプログラムの楽しみを味わえた感じがする。

所で、学研の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自体を快適に使うというよりも、このインターフェースの作成が障壁になる気がしてきたので、改めて考え直してみた。

やっぱり安い部品で出来るだけ簡単に回路を製作して、GMC-4を楽しみたいよね。というわけで今回は


●特殊な部品など使用せず安い部品を使う
●回路が最低限の部品で動作するようにする

ということを目標に考察してみた。

----------実験開始

キーの部分の電流を測ってみた。パルス性の電流をこのテスターで測れるとは思わないが、目安にはなるだろう。測って見た所、2マイクロアンペア程度。デューティ1/5なので、10マイクロアンペア程度。どう見積もってもミリアンペアも流れてないよな。更に4本のストローブラインとグラウンドへの電流も調べて、そのポートの吐き出せる電流もみたら、テスターで3ミリアンペア。5倍で15ミリアンペアか。それなら、抵抗とか大幅に省略してもいけるんじゃないか?

という事で安いトランジスタで回路ができるかを検証してみた。これが成功すれば、よく分らないデジトラを使わなくても良いし、作りやすい。何といってもお財布に優しいよねっ!(´ー`)y-~~
最適化された回路図
まずは回路図をかく。随分とすっきりした回路だ。ホビーだからできる回路図だなw さて、早速作るとするか。
ブレッドボードで組んだ
ブレッドボードでチマチマジャンパーワイヤーを挿していく。慣れたら15分くらいでできるよ。このジャンパーワイヤーはストロベリーリナックスで色々買った記事で紹介している。
回路はすっきりなのだが・・・・
回路はすっきりしているが、ブレッドボードのため混雑しているように見える。
PICkit2で書き込んで
これを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

これは便利だGMC-4をパソコンから入力できる!!
なんとか出来たよ。



動画は、本のサンプルプログラムのサクラをテキストで打ち込み、それをペースト。その後は、キー操作でリセットを掛けて、ナイトライダーのプログラムを流し込んでみた。

これは、便利だ。コピーアンドペーストしなくても手打ちで打ち込みができる。コマンドは

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

学研の大人の科学Vol.24 4ビットマイコン(GMC-4) キーアクセスが自動にできるようになった
前回キー入力から9本の信号線と2本の電源線を端子に引っ張ってきたまま、随分と時間が経ってしまった。
キー入力の模索をしていたが、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で書き込んで
それをPICkit2で書き込んで実行!成功だ!!!(`・ω・´)
動作波形。これはキーのストローブを100usでテストした場合
PICの波形は意図した通り出力されている。
赤=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

【大人の科学】4ビットマイコンで Don't say “lazy” 【けいおん!】
今回もニコニコ動画のニコニコ技術部より、凄い動画を紹介しよう。



おい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μ秒も掛かっている。そして新たに分かった事は、キーが押されている時は連続したストローブが入ってくるという事。当然ながら、キー入力は誤動作しまくりなので、使い物にならない。

ストローブに応答した方法は使えないな。この方のハードウェアが大変よく出来ているので、こちらを検討しようかと思っている。これが使えるようになれば、あとの通信系はこれを応用すれば時間も掛からないであろう。

 (´・ω・`) ファイトだ 俺




Google
www Blog HP BBS


air_variableサイトをまとめて検索 
カスタム検索
[][admin][mobile][Homepage][BBS][Blog][YouTube][asablo]