コメを噛め

コメを噛め

rerofumi の電子工作メモ

hatena bookmark

DSC00537
改造に使うキーボードとして SANWA の SKB-KG3W を買ってきた。
壊しても惜しくない安価な製品である。

DSC00538
このキーボードの上部はそのままで下部を自作しようという事である。

分解をしてみるとちょっと困難な事が分かった。
key3
安価な作りとするために、外部ケースの上部と下部それぞれをフレームとして用い、間にメンブレンシートを挟み込む構造となっていた。
key4
DSC00542
ケースの下を取り除いてしまうとメンブレンシートがたわむのでキーボードとして働かないのである。

DSC00545
宅内に適当にあったアクリル板を材料にしてメンブレンシートを支えるフレームをキーボードの裏側に作成することにした。
この辺は現物を見ながら加工して行く感じで。

DSC00552
しばらく格闘したのち、キーボードの上部のみでも利用する事ができるようになった。
これでキータイプができるようになったので、あとは下部のケースを好きな様に作成するだけである。


hatena bookmark

DSC00566
8bit のマイコン時代はコンピューターのケースとキーボードが一体化した形状が多かった。
キーボードの箱にケーブルでディスプレイを繋いで使う様な形だ。MSX 位まで廉価型はこの形が主流だった様に思う。
なのでキーボード一体型PCというとあの時代のノスタルジーを感じるのである。

WindowsXP 以降も時たまキーボード一体型PCのリリースがニュースされてノスタルジーから「いいね!」と思っていたのだけれども、ほとんどまともに発売されなくて消えていった経緯がある。

タブレットマシン以降、ARM マシンの小型化が進み小さいのにそこそこ使える PC がいくつも出てくる様になった。
私がそういう小型PCに望むものは色々なものに内蔵してしまえることにある。
スチレンから 1/1 サイズの人型を作りPCのマザーボードを内蔵したり、マネキンの内部にPCを搭載したりといった記事を昔から時々見かける。これが進めば、1/4 とか 1/7 サイズのキャラクターフィギュア型の PC とかも作れて机の上が華やかになるかも知れない。

DSC00536
スティック型 Android の普及でそんな埋め込みコンピューターというのも随分現実味を帯びてきた。
しかし、スティック型 Android はスペックが低かったり、動くアプリに制限があったりを今ひとつ利用していて面白みがないものである。

DSC00534
もうひとつの選択肢としては、RaspberryPi や BeagleBoard 等の小型 Linux ボードである。フルの Linux カーネルが走るし、その上で色々実現ができる。
そういった Linux ボードの中で “pcDuino” に目をつけた。SoC と共にフラッシュメモリを搭載していて、このボードだけで OS を起動することができるので RaspberryPi より PC 的に使えるのが良いと思う。

これを使って「キーボード一体化PC」を作って見ようと思った次第。

key1
key2
適当なキーボードを買ってきて、ケースを改造しこのPC基板を埋め込むという作戦。

今回はキーボードのケースを加工するだけの工作である。


hatena bookmark

DSC00482
3Dプリンターというのはテーブルの上に1層ずつ形状を積み重ねていくのだが、その一番下の層はテーブルに張り付いていないといけない。経験者でないとイメージしにくいかもしれないが、この一番下の層をテーブルに貼り付けるという部分が非常に重要で難易度の高い箇所となる。
樹脂がしっかりと食いついて剥がれないようにしないと、出力中にズレたり動いたりして出力が失敗する。また、完全に固着してしまうと完成後にテーブルから剥がせなくなってしまう。
そういった事から 3Dプリンターのテーブル表面は、容易に食いつき剥がれにくいけれども最後綺麗に剥がすことのできる適度な張り付きをする事が求められる。

私が最初に手にした 3Dプリンターは CupcakeCNC だったのだけれども、これは当初 ABS のみであった。ABS を食いつかせるために当時はアクリルのステージだったのだけれども、癒着して剥がせなくなるという事から様々な研究が重ねられて温めたガラスまたはポリイミドテープ(商標名でいうとカプトンテープ)を用いるのが良いとされた。
その過程をへてポリイミドテープとホットテーブルの組み合わせに ABS を出力するというのを長らく利用してきた。Replicator(第三世代)に移行しても、ホットテーブルを使い続けていた次第。

DSC00518
長いこと使い続けているうちに Replicator(第三世代) にもガタが来つつある。ホットテーブルが温まりにくくなり、以前の様に 110度まで上げるのが困難になってきた。
そもそもで出力時ホットテーブルを加熱する時間というのが長くて結構な待ち時間になるので、ホットテーブルを用いない PLA の方が短時間で回すには有効なのである。
これはそろそろ PLA の方に主軸を移す頃合いかなと考える様になってきた。

ところが、ポリイミドテープへの PLA の食いつきというのはそんなに良くないのですな。できなくはないけれども、あまり強くないので良く失敗する。
ホットテーブルとポリイミドテープを使わずに、PLA で出力するにはどうすれば良いのか。
3Dプリンターの食いつき問題を解決するためには、テーブルにマスキングテーブルを張るのが良いとされている。
Read the rest of this entry »


hatena bookmark

DSC00429
Cubify(3D systems)が発売した 3Dスキャナー ‘Sense’ を購入してみた。
Cubify は3Dプリンターを売るブランドで、Sense はそのプリンター用のモデルをスキャンで作るという一連の流れのためにラインナップされた。

DSC00430DSC00431DSC00432
センサーから見当付くように PrimeSence社の奥行きセンス技術を使ったもの。大きさも思ったより大きくて、平たく言うと Kinect に取っ手が付いたもの。
んじゃ Kinect で良いじゃんという事になるんだけれども、Kinect は人間のをセンスするためのものだから人の大きさにあわせてあって小さな小物をセンスするには役立たない。……と思っていたんだけれども、Kinect for Win だと 60cm サイズのマクロもいけるとかいう情報があるな。
Sense は 35cm 距離もサポートしているのでこれは、と思ったのだけれども Kinect との差違はなんかなさそう。
Read the rest of this entry »


hatena bookmark

DSC00405
えーと、3Dプリンターの本書いていました。(過去形)
既に発売済みで1ヶ月くらい経ってます。(過去形)
遅まきながら宣伝させて頂きます。(遅いよ)

2013年に入ってから「3Dプリンター」が突然注目されるようになってきた。それに伴っていろんな人が3Dプリンターを語ったり、関連書籍を出すのが予想付くさなかにこの本の執筆を持ちかけられた次第。
というわけで結構悩んだのです、「3Dプリンターは素晴らしい」的な事や、原理についての解説は他の人が(綺麗な言葉で)書き尽くしてしまうだろうし「工作や産業が変わるんですよ」なんて持ち合わせていない意見は書けないし。
一口に「3Dプリンター」と言っても、機種によってソフトウェアも違うので「操作手順」を解説しても他機種では通用しないというのも面倒な要素である。
そういったところを睨みながら「機種に依存しない汎用な原理やコツを解説する」「実際に体験しないと分からない難しさを解説する」といった立ち位置の本となった。

半分くらいはこの Blog のまとめだけれども、興味がありましたらよろしうに。
工学社の書籍情報


hatena bookmark

DSC00311
「FirefoxOS って WEB と同じ技術でアプリが作れるので簡単なんですよね?」
「さあ?」
ということで開発サイクルを試してみるのです。

そこそこ簡単でスタンドアロンでも動きそうなところで
「1分から24時間まで指定してカウントダウンを行うタイマー」を作成してみる。
タイトルが「提督タイマー」となっているのは推して知るべし。

HTML+CSS+Javascript でガリガリとアプリを作ります。
WebStorage を使っているので、ブラウザを一旦閉じた後間をおいてから起動しても時間を計測しつづけてくれる。FirefoxOS 端末だと頻繁にアプリ切り替えしたりするので、その間にパージされることもあろうという配慮から。
WebStorage を数バイト利用するけれども、リセットすると消すので気になる人はマメにリセットをどうぞ。
それとその仕組みのためにブラウザ通しで1つのタイマーしかセットできないので、複数の時間を計測したいときは異なるブラウザを立ち上げてくださいな。

完成したソースコードとマニフェスト
Download: teitoku_alarm.7z

これを公開配布するページを作成。
https://www.fumi2kick.com/firefox_os/
普通にブラウザでアクセスして動作させることができる。

FirefoxOS のブラウザで上記ページにアクセスしてインストールボタンを押すと、端末にインストールされてアイコンが追加される。
2013-06-30-21-03-36

このインストールの仕組みって FirefoxOS だけかと思っていたら、PC のデスクトップ版 Firefox や Android版 Firefox でも有効な事が判明。
pc_app1
PC でインストールすると単独アプリとして起動するようになるし、アンインストーラーも用意される。ちょっとビックリ、元々 XUL runner の仕組みだったのかな。

Screenshot_2013-06-30-21-16-59
Android版の場合は「ツール→アプリ」でインストールされたアプリの一覧が表示される。ここからラウンチできるし、アイコンを長押しするとホームにショートカットを置くことが出来る。
これって FirefoxOS に因らず Android でも HTML5 アプリが作り放題ってことだったんだ!しかも Firefox Marketplace にアクセスもできるじゃん。

実は既に色々整っている凄い面白い仕組みなんじゃ、これ。

さて。
ここまでアプリを作成し、配布するページを作ってみてハマったポイントなど。
Firefox アプリとして配布するには HTMLベースのアプリケーションの他にマニフェストファイルとして manifest.webapp という署名ファイルを用意する必要がある。このマニフェストファイルをもって Firefox はアプリと認識してくれる。
ところがこのマニフェストの認識は 1 origin につき 1 app という制限があるのだそうだ。
origin というのは WEB サイトのドメインのこと。つまりサイトには 1つのアプリしか置くことができないらしい。私が作った上記配布サイトではテスト用の Hello,World と合わせて 2つのアプリを置いているけれども、内部ではサブドメインの異なる同一ページに振り分けることによってなんとか実現している。
なんでこんな面倒な事になっているのかというとどうやらマニフェストの正当性を担保するための仕組みらしい。なので野良アプリ配布はそんなに流行らず、Firefox Marketplace の利用が中心になっていくのかもしれない。
まあ、アプリの数だけサブドメインを用意できればそれでよいらしいので回避していくのも手ではあるわね。

配布ページも作る事で色々学ぶところがあった。
やっぱ一通り手を動かしてみるのは重要ね。


hatena bookmark

DSC00296
ここからちょいとソフトウェア的なお話。

モバイルフォン用 OS として後発の Firefox OS というのがあり、個人的に気になっているので開発者向けの peak 端末を入手してみた。
Firefox OS というのは下位のOSこそ Linux なものの、ミドル層を Firefox と同じ基盤で構築し、アプリ層をいわゆる HTML5 と呼ばれる WEB コンテンツ技術で記述するものである。
昔から、PC とブラウザの関係について「WEBブラウザはウィンドウシステムである」と認識していたので、ブラウザ上にアプリケーションエコシステムが構築されるというのは理想の形だと思っていたのです。
そんな理想的なネットワークとアプリケーションの姿に近い形で Firefox OS というものがひょっこり現れてきたので、使える使えないといったところは二の次で「是非遊んでみたい」と思っていたのですな。
今のところ Developer Preview である KEON/PEAK という 2台以外に使える物が出てくるのは時間がかかりそうなので入手してみたというわけ。

DSC00302
まあでも「技適ガー」とかいう話があって KEON/PEAK を手に入れている人達も FirefoxOS のビルドと焼き込みが中心みたいな雰囲気。
root flash hack ができる NEXUS 系に FirefoxOS を書き込んで使う方が良かったのかもしんない。そっちの方がパワフルな端末だったりするし。

Read the rest of this entry »


hatena bookmark

PSoC4 Pioneer kit を使って PSoC4 の ADC で遊ぶ記事。

DSC00284
ニッケル水素電池は充電して再利用できるので便利に使っている。
しかし、利用してからも結構な時間が経つため徐々に増える電池という反面、利用年数がばらばら な物が混在しているという状況にある。
使い込んで明らかにへたれてくると充電してもものの数分で出力が低下したり、充電できなかったりするのでわかるのだけれども、長年使ってそこそこ劣化しているというときは今ひとつ知る術がない。

そこでマイコンを使って電池の電圧降下を計測し、実質の容量計測をしようと思い立った。

DSC00286
お試しなんで適当にバラック設計。
Read the rest of this entry »


hatena bookmark

DSC00280
最近のキャラクターLCDモジュールは I2C 接続型が主流になってきた。
その中でも話題になっているのが 8×2文字の小型 I2C LCD モジュール。最初は Strawberry Linux が扱っていたのですが、バックライト無しの同様品を秋月電子通商が取り扱い始めて入手が一層容易になったもの。

これがやたら小さく薄く軽くそして安いので注目を集めている様だ。

私も最近はもっぱら I2C LCDモジュールばっかりで、これに表示するのはいつもの作業になっている次第。
けれども、PSoC から I2C で LCDモジュールを制御するのってまだやったことない人も多いんじゃないかと思って簡単なサンプルを提示することにしてみた。

DSC00279DSC00282
このLCDモジュール、小さくて安いと人気なのは良いけれども信号線のピン幅が 1.5mm だったり、内蔵している電圧回路のために外付けのキャパシタが必要だったりと少々扱いにくい。
いつも使っている 5ピンのピンコネクタに変換するブレークアウト基板を作成。これはさらりと流す。
Read the rest of this entry »


hatena bookmark

DSC00238

ちょっと前に DIP 28ピンパッケージの LPC1114 Cortex-M0 マイコンが話題になっていた。
ついに DIP パッケージの ARM マイコンが発売されただとか、それが秋月電子通商で購入できるからお手軽だとかプチ盛り上がっていた。トラ技の付録としてもついてきていたんだっけ。

そんななか「600mil パッケージダサい! 300mil にしる!」という声を受けてパッケージを削る記事が非常に面白く、動画と合わせて笑いながら拝見していた。
「LPC1114のDIPを600mil→300milにしてみました。」
動画

みんな DIP 好きねえ。

上の削ってパッケージを加工するというのは技術的に面白いので完結しているのだけれども、みんなが DIP を欲しがる理由というところでちょっと考えていた。
DIP でないと困る理由としての大部分が

  • 面実装部品はプリント基板を自作しないと使えない
  • ユニバーサル基板やブレッドボードで工作している
  • 変換基板を使うと幅が広すぎてブレッドボードに載らない

といったあたりなんではないかと思われる。
大抵は試作とか学習が目的でケースに組み込む訳ではなく、実は縦方向の空間に対してはどんなに延びても構わない事の方が多いんじゃないかと。

ということで 300mil 幅 28ピン DIP の変換基板(ただし縦に長い)の制作を考え始めたのであった。
変換するチップはなんでも良いのだけれども、個人的趣味で PSoC5。
Cortex-M3 の PSoC5 はとても面白いマイコンなのだけれども足つきのやつは 0.5mm ピッチの QFP100 になってしまう。私の環境では、CNCフライスでの修行の成果でそれを載せる基板を自作できるようになったものの、流石に 0.5mm ピッチはぎりぎりで作るのも実装するのも大変。とても気合いが要ります。
なので実験用基板があると自分としても嬉しいので作成してみるのです。

Read the rest of this entry »