「みんなの科学 たのしい実験室」が再放送されるということなので、楽しみにしていました。
今回の放送は「バケツ鉱石ラジオ」(1975年3月20日放送)とのことで記憶には残ってないものでした。
内容はやはり時代を感じさせるものでした。もちろん録画はしているのですが、昔のように紙と鉛筆で回路図をメモしてみました。
当時は我が家にはVTRとかは無くて、聞き漏らさないようにテレビの音をカセットテーブレコーダーで録音していました。
今回書いたメモはこんな感じです。
minnano_kagaku.jpg
エアーバリコンがあれば今でも作れそうな感じです。今度秋葉原に行くときにジャンク屋を回ってみたいと思います。

工場ハックで手に入れたジャンク基板に懐かしの6802 CPUが載っていたので、ぜひ動かしてみたいと考えていました。

mc6802_cpu.jpg

6802で検索してみると6802 Nano computerというシンプルな回路とサンプルプログラムが載っていましたので、まずはこれをブレッドボードで組み立てて、CPUが正常に動作することを確認してみました。

必要な材料は懐かしのUV-ROM 2732AとPIA 6821とあとは少々のパーツです。
2732Aは若松通商で150円で売っていますので、これを買ってきました。
問題はPIA 6821です。これはなかなか手に入れにくい状況です。海外のサイトでは在庫限りで販売しているところがありますが、国内ではなかなか見かけません。いろいろ探したところ、手創り屋さんというお店でPIA 6821(¥263)を売っていました。ついでに懐かしい46505(¥263)というCRTCも売っていましたので、合わせて購入しました。

早速組み立てです。40P DIPを2個使いますので、少し広めのブレッドボードを使わないといけません。
また同じボード上でサンプルプログラムにあるDice Gameの回路も実装します。
 
組み立てた結果はまるでジャングルになりました。

6802_nano_breadboard.jpg

写真の右上にある電源ぽい回路は以前作ったVFD用の電源回路なので、今回の回路とは関係ありません。
一番配線が集中している左下の40P DIPが6802で、中央下の40P DIPが6821、CPUの上にある少し小窓が見えている24P DIPが2732Aです。アドレス線は青、データ線は白で接続しています。
Dice Gameの回路は本当であれば、サイコロの目のようにLEDを配置するのですが、スペースの関係で7セグメントLEDで代用しています。このためサイコロの目にはなっていません。

配線確認をして動作させたところ無事動きました。CPUは正常のようです。


折角7セグメントLEDを使っているので、数字として表示するようにプログラムを手直ししてみたいと思います。
また、少し時間はかかると思いますが、6802 Nano computerのようにユニバーサル基板に実装しなおしてみたいと思います。


AVAL PECKER-11で2732Aを焼いてみました。このPECKER-11は最近入手したものでして、使い方を忘れないようにまとめておきたいと思います。
pecker11_1.jpg

PCとはRS232Cでシリアル接続をしますが、私の場合はiMacのParallels Desktopを使っているので、秋月のUSB・シリアル変換ケーブル[M-00720]に9P-25PのクロスケーブルをつないでPECKER-11につなぎます。
この状態で、シリアルの設定をします。
(1) 通信形式をデータ8ビット, ストップ1ビット, パリティ無しにします。
[SET] [0] で、[SET]キーと[-]キーを使ってD8 S1 Noを選びます。選んだら[JOB]キーで登録。
(2) 通信速度を9600bpsにします。
[SET] [1] で、[SET]キーと[-]キーを使って9600を選びます。選んだら[JOB]キーで登録。
(3) フロー制御をX-On/X-Offにします。
[SET] [4] で、[SET]キーと[-]キーを使ってXON/XOFFを選びます。選んだら[JOB]キーで登録。
(4) データフォーマットをIntel HEX形式にします。今回は6802のROMなのですが、アセンブラがHEXフォーマットを出力するもので。
[SET] [5] で、[SET]キーと[-]キーを使ってIntel HEXを選びます。選んだら[JOB]キーで登録。
(5) この状態でPC側でTeraTermを立ち上げて、COMポートを選び9600bps、データ8bit、ストップ1bit、パリティnone、フローXON/XOFFに設定します。
(6) 通信テストとして、PECKER-11のバッファRAMの内容をシリアルに出力してみます。
[JOB] [C] [0] 00000000 [SET] 00000FFF [SET]
これでHEXフォーマットがTeraTermの画面に出力されればシリアル通信は問題ありません。

今回焼くROMはFUJITSUのMBM2732A-25です。
PECKER-11には簡単なイラストが書いてありますが、右よせでソケットにセットします。
pecker11_2.jpg
セット後にROM種別をPECKER-11に設定します。[JOB] [SET] [0]でデバイスを自動認識するのですが、今回はうまく認識できなかったので、手動で設定しました。
(1) まずメーカー名の設定です。[JOB] [SET] [1] [0] で、[SET]キーと[-]キーを使ってFUJITSUを選び、[JOB]キーで登録します。
(2) 続けて型名の設定です。[1]を押し、[SET]キーと[-]キーを使って、2732Aを選び、[JOB]キーで登録します。
(3) 続けて容量の設定です。[2]を押すと、4KBと表示されますので、[JOB]キーで登録します。
(4) 続けて書き込み方式の設定です。[3]を押し、[SET]キーと[-]キーを使って、STANDARDを選び[JOB]キーで登録します。
これで2732Aが使える状態になりました。
pecker11_3.jpg

まずはブランクチェックをします。
(1) [BLNK] [SET]と押します。
問題なければ以下のように「Blank chk finished」と表示されます。
pecker11_4.jpg

次に書き込むデータをPECKER-11のRAMバッファに読み込みます。
今回は0x0000F000 に配置するROMなので、オフセットは0000F000とします。
(1) [JOB] [D] [0] 0000F000 [SET] と押すと、シリアルポートからの受信画面になります。
pecker11_7.jpg

(2) シリアル接続したPCからIntel HEXフォーマットでファイルを送信します。受信が終わると画面がもとに戻ります。
(3) RAMバッファに正常に読み込めているかを確認します。
[JOB] [0] 00000000 [SET] と押すと、00000000の内容が表示されます。
pecker11_8.jpg
今回は8Eで正しかったです。ここで[SET]キーを押すと次のバッファの内容が表示されますが、その内容も正しかったので、正しく読み込めているようです。なお、[-]キーで前のバッファの内容が表示されます。

いよいよROMに書き込みを行います。
(1) [PROG] [0] [SET] と押します。書き込みが始まります。
(すぐ書き込みが終わってしまったので書き込み中の画面写真が取れませんでした。また次回にでも。)
(2) 書き込みが完了すると、finishedとチェックサムが表示されます。
pecker11_9.jpg

これで2732Aに無事6802のコードが書き込めたようです。
でも、ROMの窓に張るシールが無いなぁ。どこかにあったかな。

さくらのVPSがリニューアルされるというメールが届きましたので、早速これまでと同じ料金に相当するさくらのVPS 1Gに乗り換えました。すでにDNSも新しいVPSに向いています。
このサイトで使っているMovable Typeだけ移行すればよいので、コンテンツの移行作業は楽でしたが、他の細かな設定を思いだすのに苦労しました。
とりあえず、これまで利用していたVPSは1ヶ月間だけ残しておいて、Movable Type以外のところはゆっくり移行したいと思います。

先日ナカダイ前橋工場で開催された工場ハックに参加しました。
スナップ写真をflickrにアップしておきましたのでこちらもご覧ください。
工場ハックの舞台のナカダイさんです。

今回体験したのは以下の内容です。
1)「鉄をプレスしよう」
実際に運転席に座らせてもらったのでドキドキでした。
自分が操作するスイッチで巨大な鉄くずを引きつけたり落としたりできました。

2)「エアキャップを梱包しよう」
沢山いれすぎてなかなか出てこなかったです。何事も入れ過ぎは良くないですね。
プチプチのプレス機

3)「発泡スチロールを溶融しよう」
こちらも沢山発砲スチロールをいれすぎて機械が止まってしまいました。
投入限度を明確に決めておいたほうが良さそうです。

4)「1m3 を解体・破砕しよう」
1m3 が何であるのかと、破砕機の仕組みを親切にご説明いただきました。
1m3 が巨大なシュレッダーに吸い込まれるのは楽しかったです。

5)「蛍光灯を破砕しよう」
蛍光灯をガンガン投入させていただきました。
破砕機の構造や破砕後のガラスの様子やこの後どうなるのかまで詳しく説明いただきました。
蛍光灯破砕機

6)「箱開け作業をしよう」
箱の中から何が出てくるのかは楽しみでした。
ただし、箱の種類が限られていることもあり、もっと様々な箱が混在しておいてあると面白いと思いました。
箱をあけたら釘がでてきました

7)「OA 機器を解体しよう」
作業場所が混んでいて見学が中心となってしまいました。作業台がもう一つ欲しいところです。
サーバを解体中

8)「ガラスを選別・破砕しよう」
強化ガラスがあれほど固いとは思いませんでした。
割っても飛び散らずに安全に作られているのが確認できました。
強化ガラスをハンマーで割る
9)「セラミック板を割ろう」
ハンマーで割らせていただきました。これもなかなか体験できないことなので面白かったです。
子供のころには瓦とかを金槌で割っていたのを思い出しました。
割ったセラミック板

10)「自由に工作しよう」
作業しているところを見学していました。金属溶接や切断など楽しそうでした。
作るもののアイデアを考えてくれば良かったです。
Make中

モノファクトリーには家庭では使えない道具が揃っているのですが、もっと手軽な工具もあるといいですね。
ハンダ吸い取り機とかハンドドリルや万力やキリとか、中学校の工作室にあるようなものもあると取っ掛かりやすいと思います。
あとは、作業をしていると手が汚れますので、屋外に水道と石けんがあると良いですね。

ナカダイの社員のみなさんはすごく親切でした。
ジャンク品を探していたら、探しやすくなるようにモノをフォークリフトで移動してくださいました。
各コーナでも細かいところまで説明いただきました。また、出会う度に挨拶も必ずしてくれました。好感がもてます。
2階からのスナップ

またこのような機会があったらぜひ参加したいですね。

前回MBeeDuino単体でタミヤのレスキュークローラーを制御してみましたが、MBeeDuinoはXBeeが搭載できるのが特徴です。これを活用しないわけには行きません。
XBeeをつけても走行の邪魔にならず、USBが簡単に接続できるように最終的には次の写真のように実装しました。
キャタピラの横からUSBケーブルをMBeeDuinoに接続しファームウェアの書き込みができるようになっています。

mbeeduino_xbee1.jpg

この状態で、まずはPCから無線で制御してみました。
XBeeをMARY XB基板に載せて、PCとシリアル接続をしてTeraTermから文字を送信することで、入力文字に応じた動きができました。

テストなので前進、後進しか機能をつけていませんが特に問題なく動作します。
しかし、PCから制御するのはイマイチです。小さいリモコンのようなものがあると手軽ですよね。
そこで思いついたのはMARYをリモコンにしてしまうことです。
MARYにはXBeeが実装できるXB基板や4方向スイッチや圧電サウンダが載っているUB基板があります。
これを組み合わせれば電池で稼働するリモコンができるはずです。

実際に作ってみるとこんな感じです。ほぼサンプルプログラムがそのまま使えたので30分ぐらいでできました。
各種サンプルが揃っているのでMARYは手軽です。

さて、MARYリモコンを使って、実際に動かしてみました。

いかがでしょう。レスキュークローラーはその名の通り障害物があってもガンバッて進んでくれるので面白いですよ。
ちょっとMARY UB基板のスイッチは小さいので操作がしにくいですね。
CB基板(ユニバーサル基板)にもう少し大きいスイッチ載せて使うのが良いかもしれません。

mbeeduino_xbee2.jpg

追伸:電池BOXがキャタピラから大きくはみ出していると引っかかるので、縦に取り付け直しました。
mbeeduino_xbee_mary_battery_fix.jpg

@naka_at_kureさんが、MBeeDuinoというArduino互換で3chモータードライバとXBeeが搭載できる生基板を配布されていたので分けていただきました。
タミヤの模型に実装できるように穴の位置やサイズなどよく考えられており、我が家にあるタミヤのレスキュークローラーに載せられないかなと思ったのです。
部品を集めて完成したMBeeDuinoはこんな感じです。サイズも小さいです。

mbeeduino1.jpg

タミヤのレスキュークローラーはこんな感じです。かっこいいでしょ〜。

rescue_crawler1.jpg

モーターが3つ搭載されていて、2つはキャタピラの回転制御、もう1つは前方のキャタピラを上下することができます。
MBeeDuinoはモーターを3つ制御できるのでまさに最適です。
どこに取り付けようかと考えましたが、一番広いスペースである本体の裏側に目をつけました。

rescue_crawler2.jpg

試しにここにMBeeDuinoを取り付けたところピッタリです。

rescue_crawler3.jpg

この状態でモーターと配線して、MBeeDuinoで制御してみました。
キャタピラを1秒間隔で正転、逆転を交互に繰り返すようにプログラムしました。

問題なく動いているようです。
ただ、残念なことにこのままでは肝心のキャタピラを固定するスペースがないので走らせることができません。
そこでタミヤの楽しい工作シリーズの「ユニバーサルプレートセット」と「トラック&ホイールセット」を利用することで、プレートを広くしたあとに、キャタピラを固定できないかと考えました。

交換するプレートを並べてみました。狭いですがキャタピラを固定できる程度のスペースは確保できそうです。

rescue_crawler4.jpg

新しいプレートに取り替えたところ、MBeeDuinoの取り付けスペースとキャタピラの取り付けスペースが確保できました。

rescue_crawler5.jpg

トラック&ホイールセットのキャタピラを使って長さを調整し、モーターの位置も少し動かすことで、大きなたるみもなくキャタピラを取り付けることができました。

rescue_crawler6.jpg

あとは電池をどうやって実装するかを考えなければなりません。また次回に続きます。

mbed NXP LPC11U24でm3piを動かしてみました。
最初にプログラムがコンパイルできなくてびっくりしましたが、mbedのライブラリを最新版にしたら問題なくコンパイルできました。
早速バイナリを転送して動かしてみましたが、黄mbedでも青mbedと同じように動きました。

ただし、黄mbedにはUSBホストの機能はなく、1つしかないシリアルも3piとの通信で使ってしまいますのでその点は青mbedに見劣りします。
でも消費電力は黄mbedが有利なので、このようなバッテリで動かすものには適しているのではと思います。

ひょんなことから、HP 15cを買っちゃいました。いわゆる復刻版というものです。

hp15c_2.jpg

これまでRPN電卓は使ったことはないのですが、大昔にFIG-FORTHとか使っていたのでRPNは知っていました。
このHP 15cには親切な日本語マニュアルがついていて、いろんな計算例があるので試しています。
最初はどうしても今までの電卓のつもりで使おうとして計算ミスをしてしまいましたが、慣れるとカッコがないので速く計算できるようになりました。
もちろん、裏には例の6つの穴があります。HP 20bみたいに。

hp15c_1.jpg

ケーブルないかなぁ。

2011/12/3-4に東工大で開催されたMake: Tokyo Meeting 07 (MTM07) に出展しました。
出展風景をFlickrにアップしておきました。

mbedが中心だったのですが、ネットワークは自前で準備しなければならず、b-mobileのイオン980円プランと怪しいxperiaのテザリングでなんとか助かりました。
今回出展した作品の詳しい紹介は落ち着いてからまとめたいと思います。

最近のコメント