"ブレッド"ボードを作ってみる。
Posted by arms22 on 2008年08月31日

Make Japan ブログで本物のパンで作った"ブレッド"ボードが紹介されていた。パンの焦げで回路を形成して、LEDを点灯させるというデモなんだけど、実際、回路はfakeでパンの間に本物の回路を挟んであるだけだった。
それじゃ面白くない、ってことで実際にパンの焦げで回路を形成して、LEDを点灯させてみたいと思う。でもその前に予備実験。
1.パンの焦げは本当に電気を通すのか?
結論から言ってしまえば、通す。だが回路を形成する為にはかなりの工夫が必要。
というのもパン自体の構造に大きな問題があるからだ。パンの生地は酵母やイースト菌によって沢山の隙間ができている。表面上回路を形成できていたとしても、沢山の隙間によって回路が繋がっていないことがほとんだ。
うまく回路を作る1つの方法として、熱した電熱線をパンに押し当てて、隙間を押しつぶすようにすればうまくいくかもしれない。また、ジャムや砂糖を使って回路を書く方法もうまくいくかもしれない。
2.パンは絶縁体として使えるのか?
たとえ回路を形成できたとしても、パン自体が電気を通しては意味がない。パンの抵抗値を実際に測定してみた。私が毎朝食べるパンの場合だと30k~100kΩの抵抗値を示した。パンは沢山の水分を含んでいるのでよく電気を通す。乾いたパンを使うか、よく水分を飛ばしてから使用する必要がありそう。
たぶん記事の作者も最初は本当にパンに回路を作ろうとしていたんだけど、上記1,2の理由でパンの間に回路を挟むという結果になったんじゃなかろうかと思う。
これがホントの"ブレッド"ボード
http://jp.makezine.com/blog/2008/08/bread_circuit_board_blink.html
N:TM(Nico-TECH : Takatsuki Meeting)参加してきました。
Posted by arms22 on 2008年08月30日

高槻市で行われたニコニコ技術部の勉強会に参加してきました。勉強会という名の下におのおの初音ミクにネギを振らせていました。
サイロス誠さんのRuby+SDLのゲームライブラリはよくできてたなー、ライブコーディングで簡単なデモが作れてしまうぐらいコード量減らせそうー。スレッドもサポートしているようす。
写真を撮り忘れてしまったが、ARToolKitを使った拡張現実のデモが面白かった。あとビデオキャプチャした手をゲーム画面に合成して、キャラクタを動かすデモも面白かったなー。無限プッチンもよかった、トグルスイッチをプッチンにしてしまうあたりのアイデアがすごい。
yunaさんのニキシー管はよくできていたー、ケースもしっかりしているし、製品レベルだたー。見習わないと。。
akimiさんおすすめ書籍の紹介も面白かった。ライブスチームの本は気になる。以前からずっと蒸気機関が気になっていた。
最後にMake Japanの田村さんからMake Japan 10月号の記事の紹介と告知。今年の秋、Make:Tokyo Meetingがまた開催されるようです。11月9日ぐらいだったと思う。。うろ覚え。訂正11月7日です。今度は行きたいかも。最後にMakeのステッカーがもらえたのがうれしかった。
それと、今日発表に使ったプレゼンの資料を置いておきます。必要な方はどうぞ。
MPPTを使った高効率太陽電池充電器
拡張現実も初音のネギ振りもそうだけど、だんだんコンピュータが現実世界に繋がって来たなぁという印象を受けた。
nico-Tech: Takatsuki Meeting ニコニコ技術部関西勉強会
N:TM (Nico-TECH : Takatsuki Meeting)
Posted by arms22 on 2008年08月26日

今週末土曜日はN:TM (Nico-TECH : Takatsuki Meeting)です。ご近所の方は参加してみましょう(私もこっそりノゾキに行きます)。何か面白い発見が得られるかも。
- 場所:高槻市民交流センター (大阪駅から17分 JR高槻駅下車すぐ) 第一会議室から視聴覚室へと変更しました
- 日付:8/30
- 時間:13時~18時
- 費用: 基本的に無料。カンパがあれば会場費に充てます(余剰金が出ないようします)
- 人数:100人まで入れる部屋に変更しました'
- 対象者:ニコニコ技術部に興味がある人。 動画だけじゃなく作品を自分の眼でみてみたい。という人から、自分の作品を自慢したいうp主までだれでもどうぞ。
- エントリー方法: akiraアッーとnolnol.ddo.jp (あっとを@に変換してください)に件名「ニコニコ勉強会」として、webに公開してよいハンドルネームと一言メッセージを送ってください。
- 注意事項:当日会場の様子は誰の断りもなく、うpされる可能性が高いです。顔出しNGな人は「阿部さん」シールを胸の高い位置にはってください。うp主各位はご面倒ですが、阿部さんシールの貼ってある人物には適宜モザイク・黒目線・兄貴顔をお願いします。
- 幹事:akira_you (野田陽@京都市在住)
あぁ、阿部さんシール用意しないと。。
nico-Tech: Takatsuki Meeting ニコニコ技術部関西勉強会
PIC18F2550でUSB入力デバイスを作る(3)。
Posted by arms22 on 2008年08月24日

6連ロータリエンコーダ!デデントデテント付き!カタンカタンってなるやつ!
こいつでGoogle Earthを操作すると面白いかも。
※携帯電話のカメラで撮ったので汚くてすみません。。
裏側。アンティークコンピュータ図鑑みたいな本をみて以来、大量のコードの束に惹かれるようになった。1つ1つの部品から伸びてくるコードがだんだん束になっていく様がいい。これはまだまだ序の口だけど。
フレームは段ボールを加工して作りました。数字なんか入れてやると少し見栄えするようになります。
ロータリエンコーダは共立電子シリコンハウス3Fレジカウンタ横に置いてあります。デデントデテントなしのものもあります。1個¥150。秋月より安い。
追記 2008/8/25
ロータリエンコーダはALPS電気製EC16Bだと思います。たぶん。。(お店で型番を見てなかった)
PIC18F2550でUSB入力デバイスを作る(2)。
Posted by arms22 on 2008年08月23日

こちらの記事を参考にMicrochip社のUSBフレームワークに付属するHIDクラスのデモソースをPIC18F2550で動くように変更しました。
マウスのデモ(カーソルがぐるぐる回る)とキーボードのデモ(スイッチを押すたびに'a','b','c'と入力される)2つを動作させてみました。
USBフレームワークはv2.2になって大幅にファイル構成が変わっていましたが、
スイッチやLEDを接続するポート、コンフィグレーションワード、あとディレクトリ構成にあわせてインクルードパスを追加するだけで動作させることができました。
変更が必要なファイルは HardwareProfile.h (共通)と mouce.c (マウス)または Keyboard.c (キーボード)です。
※私の好みでUSBフレームワークのソースコードも今回作成したプロジェクトのディレクトリに置いていますが、変更が必要なファイルは上記2つ(HardwareProfile.hとmouce.cまたはKeybord.c)のみです。
HardwareProfile.h
48行目で自作ハードウェアであることを宣言します。
#define DEMO_BOARD USER_DEFINED_BOARDファイルの最後の方に自作ハードウェア用の設定を記述します。
#define USER_DEFINED_BOARD
#if defined(USER_DEFINED_BOARD)今回のハードウェアではRC0にLED1、RC1にLED2、RB4にsw2を接続しています。
...
#define mInitAllLEDs() LATC &= 0xF0; TRISC &= 0xF0;
#define mLED_1 LATCbits.LATC0
#define mLED_2 LATCbits.LATC1
...
#define mInitAllSwitches() TRISBbits.TRISB4=1;
...
mouce.cまたはKeybord.c
ファイルの先頭の方で次のようにコンフィグレーションワードを設定します。
#elif defined(USER_DEFINED_BOARD)
#pragma config FOSC = HSPLL_HS
#pragma config WDT = OFF
#pragma config PLLDIV = 5
#pragma config CPUDIV = OSC1_PLL2
#pragma config USBDIV = 2
#pragma config PWRT = ON
#pragma config BOR = ON
#pragma config BORV = 3
#pragma config LVP = OFF
#pragma config VREGEN = ON
#pragma config MCLRE = ON
#pragma config PBADEN = OFF
usb_descriptors.c
次のようにstring descriptorを変更しておけば自作デバイスっぽさがアップします。
//Manufacturer string descriptor
ROM struct{BYTE bLength;BYTE bDscType;WORD string[21];}sd001={
sizeof(sd001),USB_DESCRIPTOR_STRING,
{'n','a','n','d','e','m','o','t','u','k','u','t','t','y','a','u','k','a','m','o','.',
}};
//Product string descriptor
ROM struct{BYTE bLength;BYTE bDscType;WORD string[17];}sd002={
sizeof(sd002),USB_DESCRIPTOR_STRING,
{'M','y',' ','H','I','D',' ','M','o','u','s','e',' ','D','e','m','o',
}};
ハードウェアは、
- MCLRを10Kでプルアップ
- 20MHzセラロックを接続
- RC0にLED1を接続(Hiアクティブ)
- RC1にLED2を接続(Hiアクティブ)
- Vusbに0.1uFを接続
- D+,D-を接続
- RB4にsw2を接続(10Kでプルアップ)
- RB5にsw3を接続(10Kでプルアップ)
今回作成したプロジェクトファイルを置いておきます。
※このプロジェクトファイルにはUSBフレームワークが同梱されています。別途USBフレームワークをダウンロードする必要はありません。
HID Mouse
http://xfind.hp.infoseek.co.jp/electric/hid/HIDMouse.zip
HID Keybord
http://xfind.hp.infoseek.co.jp/electric/hid/HIDKeybord.zip
PIC18F2550でUSB入力デバイスを作る。
Posted by arms22 on 2008年08月23日

まずは情報収集。
辻見裕史のホームページ - PIC
http://phys.sci.hokudai.ac.jp/LABS/yts/pic/pic.html
USBデバイスとPCとの関係が書かれている。分かりやすい。Microchip社のUSBフォーラムの有益な情報へのリンク多数あり。
趣味のブログ - MCHPFSUSBの、HIDクラスを使ってみました
http://sfukuda.at.webry.info/200804/article_18.html
Microchip社が提供するHIDクラスのサンプルコードをPIC18F2550で動くように変更している。参考になる。
新適当マイコン電子工作研究所 - USBプロジェクト - HIDデバイス(1)
http://noritan-micon.blog.so-net.ne.jp/2008-04-07
Tsuneoさんのコメントが大変参考になります。
USB - Device Class Definition for Human Interface Devices (HID)
http://www.usb.org/developers/devclass_docs/HID1_11.pdf
わからなくなったらここを見るしかない。
USB - HID Usage Tables
http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
daily dayflower - MVPen (Pegasus Mobile NoteTaker) の解析 (3)
http://d.hatena.ne.jp/dayflower/20080807/
Report Descriptorについての解説。MacOSX環境でDeveloperツールをインストールされている方は /Developer/Applications/Utilities/USB Prober.app を起動してマウスやキーボードのReport Descriptorをみるとイメージをつかみ易いかも。
スキャンコード - Wikipedia
http://ja.wikipedia.org/wiki/スキャンコード
開発環境。
USB Application Design Center
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2651¶m=en534494
ここからPIC18/PIC24F用USBフレームワークがダウンロードできる。最新のUSBフレームワークはv2.2。v2.2に関する情報は少なくほとんどのサイトがv1.3を使って開発している。せっかくなので今回はv2.2を使って開発しよう。
MPLAB C Compiler for PIC18 MCUs
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&redirects=c18
USBフレームワークはC18 C CompilerもしくはHI-TECH社のコンパイラ用に作られている。SDCCでの開発は、、フレームワークを移植すればできそうだけど、よけいな問題は抱え込みたくないのでまずはC18 C Compilerを使うことにする。開発はWindows環境で。
関連書籍。
PICで楽しむ USB機器自作のすすめ
PIC18を使ったUSBデバイスの開発について書かれています。PIC18FのUSBモジュールの解説などもあり参考になる。
USBターゲット機器開発のすべて―各種USBコントローラの使い方と基本ソフトウェアの作成法 (TECHI―Bus Interface)
PIC18を使ったUSBデバイス開発の解説があります。
オリジナルUSB機器の設計と製作―USBインターフェースの基礎から応用までを豊富な設計・製作例を通して学ぶ (ハードウェア・セレクション)
ハードウェアより。PIC18も一応ある。EZ-USBとか他デバイス多数。
picburn-0.5.1 リリースしました。
Posted by arms22 on 2008年08月23日

picburn-0.5.1 リリースしました。0.5.0で行ったコード整理で不具合を混入してしまいました。0.5.0をお使いの方は0.5.1へのアップデートをおすすめします。
主な変更点は次の通りです。
- PIC18Fファミリでプログラムメモリのベリフィに失敗する不具合修正
- PIC18Fファミリでコンフィグレーションメモリの書き込みができない不具合修正
リリーステストが甘すぎました。もっと効率的に確実にリリーステストを行える方法を確立しないと。
対応デバイス一覧
http://arms22.blog91.fc2.com/blog-entry-157.html
Windows用バイナリ
http://xfind.hp.infoseek.co.jp/electric/picburn/picburn-0.5.1-i386-mingw.zip
ソースコード
http://xfind.hp.infoseek.co.jp/electric/picburn/picburn-0.5.1.tar.gz
picburn-0.5.0 リリースしました。
Posted by arms22 on 2008年08月18日

picburn-0.5.0 リリースしました。主な変更点は次の通りです。
- dsPIC30Fファミリ対応(dsPIC30F2012のみ動作確認)
- PIC10/PIC12/PIC16ファミリのUserIDが正しく書けない不具合修正(KATSUさんthx!)
- コード整理、読み書き速度アップ
対応デバイス一覧
http://arms22.blog91.fc2.com/blog-entry-157.html
Windows用バイナリ
http://xfind.hp.infoseek.co.jp/electric/picburn/picburn-0.5.0-i386-mingw.zip
ソースコード
http://xfind.hp.infoseek.co.jp/electric/picburn/picburn-0.5.0.tar.gz
Engineer Award 授賞式に参加してきました。
Posted by arms22 on 2008年08月03日

残念ながら受賞はのがしてしまったけど(当たり前だ)、次回の作品制作に向けていいヒントを貰った気がする。ま、当たり前のことなのかもしれないけど、一応列挙しておく。
- 作品は見栄えのするケースに入れる。
- 作品はそれ単体で動作すること。必要ならノートPCも事務局に送る。
- 作品に対する自分の思いを伝える。
- 技術者ではない人でもわかる作品にする。もしくは作品のよさが伝わるよう分かりやすく説明する、資料を作成する。
話は授賞式前に戻ります。8:28新大阪発東京行きの新幹線でいざ東京へ。11時ゴロ東京着。その足で秋葉原に。秋葉原はうわさ以上の所でした。とくに電気街はすごかった。たくさんの部品屋さんが狭いスペースに部品をびっしりならべていて、「こ、これはー!」とか「うぉーヤマトン1号!」とか「データがまだ生きてるー!」とか「このマニュピュレータと交換しない?」などと意味不明なことをいいつつ、電気街をうろうろしてきました。
その後、秋月へいくも、ものすごい人でじっくり店内をみて回ることができず断念。そして千石、マルツ、鈴商、ドトールなどぶらぶらしつつ時間を潰しておりました。あれだけ1カ所にお店が固まっていてくれると移動が楽でいい。シリコンとデジットは少々距離が離れているからねー。。
いあー楽しい東京ツアーでした。