2014/01/24

インテル ガリレオ到着

本屋に行ったら日経Linuxの2014年2月号にガリレオの特集が載っていました。
他にもカーネルの特集などもあったので買って読んでみました。

ガリレオの特集は6ページほどで、ガリレオとガリレオ用のCPUの生い立ちや、スケッチの転送方法が載っていました。Linuxを使って入出力する場合はGPIOが必要になりますが、GPIOの使い方へのリンクも載っていました。

リンクのほうはブログに書いても大丈夫だと思うので書いておきます。
Intel Galileo - Configuring the Serial Port in Linux



それはさておき、スイッチサイエンスに注文していたガリレオが届きました。
さっそく開封します。

ガリレオ・ガリレイ風な人がサングラスをかけたパッケージです

箱の底には接続方法が書いてあります。

内容物は以下の通りです。
  • ボード本体
  • 各国用にコンセント部分の切り替えができるACアダプタ
  • 安全上の注意(30ヶ国語)の冊子

基盤の四隅に取り付ける足と、PCと接続するためのマイクロUSBケーブルは自分で用意する必要があります。

電源を入れて遊びたいのを抑え、あらかじめ3Dプリンタで印刷しておいたケースが使えるかを試してみました。ボード背面のM-PCIeソケットが予想よりも背が高く、3mm程浮いてしまいました。ケースは再設計が必要なので、ひとまず足で浮かせるようにしておきました。


ケースの高さが足りない・・・・

ひとまず足をつけた

ケースがきちんと出来上がってから電源を入れたいと思います。

また、自分でケースをデザインする人のために、ひとまずメモを残しておきます。
  • 基盤の厚み:1.75mm
  • M-PCIeソケットの高さ:基盤上から9mm
  • 基盤からはみ出しているもの
    • マイクロUSBポート2か所 約1.5mm
    • ステレオミニプラグ 約2mm
    • RJ45ポート(LANポート) 約2mm
    • 電源プラグ 約1mm
OpenSCADでガリレオのモデルを作っているので、出来上がったらgithubにでもアップしようかと思います。

ではまた。

2014/01/18

インテル製Arduino互換ボード ガリレオ 日本でも発売!

今週からArduino互換ボード Galileoが日本でも発売されました。
価格は約7,500円とArduinoから比べれば3倍高い値段となりますが、下記のような機能を備えているため、Arduino用の各種シールドを積み重ねていくよりかはお得です。

  • CPU:400MHz.(Arduinoは16MHz)
  • SRAM:512KB(Arduinoは2KB)
  • DRAM:256MB
  • EEPROM:11KB(Arduinoは1KB)
  • 有線LANポート
  • 3.5mmジャック形式シリアルポート
  • USBホスト
  • USBクライアント
  • mini-PCI expressポート
  • マイクロSDカードソケット
スイッチサイエンスで予約販売されているので、先週末に予約しておきました。
来月には届いていることでしょう。

買ってからガリレオについて調べ始めたのですが、ガリレオには映像出力はついていません。
マイクロSDからlinuxも動作させることができますが、多機能・高速Arduinoととらえたほうが良いようです。


入手された方のページを見た限りでは、箱の中には基板用の足がありません。

基盤の裏にはmini-PCI expressポートが出っ張っているので、足をつけて保護してやる必要があります。

ただ単に足をつけるのもよいのですが、自宅に3Dプリンタがあるので土台を作ってみようかと思います。

Intelのサイトに、PCB基盤のデータ(Allegroというソフト用)があったので、そのデータを元に穴の位置などを調べました。

穴位置。穴の直径は約4mmとのこと

枠のサイズ
上記のデータをもとに、OpenSCADでGalileo用の土台データを作ってみました。


Intelのロゴは、以前作った2値画像の輪郭をOpenSCADのポリゴンに変換するpythonスクリプトで作りました。ThingiverseにもIntelロゴが含まれているのが多数見つかるので、個人で使う分には大丈夫でしょう。

青いフィラメントで印刷するといい感じになりそうですね。
ではまた。

2014/01/14

OpenSCAD用の日本語テキストデータを作る

OpenSCADにはテキスト出力の関数がありますが、アルファベットのみで日本語テキストは使えません。OpenSCADにdxfファイルをインポートする機能があるので、
  1. CADソフトで日本語テキスト作成
  2. dxfで保存
  3. OpenSCADで読み込み、linear_extrudeで引き出し
という手順をやってみましたが、作成が面倒なのと処理時間が長いので別の方法を考えることにしました。

OpenSCADはポリゴンが扱えるので、力技で日本語テキストデータをポリゴン化してみました。必要なものは以下のとおりです。
  • OpenCV
  • Python
  • Numpy
  • PIL
  • TrueTypeフォントファイル(IPAゴシックなど)
処理の概要は以下のとおりです。
  1. PILを使用してフォントを読み込む
  2. PILで画像ファイルを作成し、文字を書き込む(大きめのサイズで)
  3. 一旦ディスクにPNG形式で保存
  4. OpenCVのimreadで保存したPNGファイルを読み込む
  5. 輪郭情報を抽出。
  6. 外側の輪郭と内側の輪郭で分けて、外側-内側 になるようにポリゴンデータ(点の配列)を作成
  7. OpenSCADのpolygonフォーマットで出力
  8. テキストなどに保存。OpenSCADで読み込んでlinear_extrudeで引き出し

そんなこんなで日本語フォントの文字出力ができました。



TrueTypeのフォントファイル(フォントファイルコレクションは不可)を用意すれば、
好きなフォントで立体データを作ることができます。

ポリゴンデータに変換できているので、2色刷り時のはめあい調整もできそうなかんじです。

ではまた。


2014/01/10

OpenSCADで3dプリンタ用データをつくる

3Dプリンタで小さめの部品を作成するときは必要な個数の部品を自動配置して印刷しますが、
小さめの部品なので印刷時にはがれることがあり、エクストルーダに引っかかり他の部品に接触し、全部がダメになってしまいます。
この問題の対策として、部品間を焼肉の網みたいなものでつなげば設置面積が稼げるため部品のはがれがなくなりそうなのですが、毎回これをCADで作るのは面倒です。

3Dプリンタ用のデータ生成ソフトを調べていると、OpenSCADというものがあることがわかりました。
このOpenSCADというソフトは、スクリプトをゴリゴリ書いてモデルを作成するCADです。
たとえば、1辺の大きさが10mmの立方体を作る時は、

 cube(10);

とやればモデルが出来上がります。

10mmの立方体
STLへの書き出しができるので、ちょっとした機械部品を作るのに向いており、ギアやねじを生成するライブラリもあるようです。


試しにOpenSCADを使って、小さな星を作ってみました。
//星の基礎部品。矢じりのような形
module arrowHead(r=10)
{
 basesize=r*0.2;
 polygon(
 points=[
  [0,r],
  [basesize,basesize],
  [0,0],
  [-1*basesize,basesize]
 ]);
}

//星。
//Kを2にするとクナイ、3,4にすると手裏剣風、6以上だと歯車風になる
module star(radius=10,height=5)
{
 k=5;
 
 linear_extrude(height)
 {
  //kの値が3以下の場合は中心に隙間ができる場合があるので円で埋めとく
  circle(radius*0.1);
  for(i=[0:k-1])
  {
   rotate((360/k)*(i))
   {
    arrowHead();
   }
  }
 }
}

module raft(x=3,y=3,step=10,height=1)
{
 
 translate([-1*x/2*step,-1*y/2*step])
 {
  for(rx=[0:x-1],ry=[0:y-1])
   { 
   translate([rx*step,ry*step]) 
   difference()
   {
    cube([step,step,height]);
    translate([0.5,0.5])
    cube([step-1,step-1,height]);    
   }
  }
 }
}

sz=10;

for(i=[0:3])
{
 translate([i*sz*2,0])
 {
  star(sz);
  raft(4,4,sz);
 }
}





実際に印刷してみた結果が以下の通りです。
部品がメッシュで接続されているので、安定して印刷できました。

これは最初のバージョンで、メッシュの一番外側がつながっていないためほつれた布の端っこみたいになっています。上のコードは枠をつなげるように改良したバージョンとなります。




まだよく調べてはいないのですが、テキストも付けれるようなので
名札などのシンプルな形状のものはOpenSCADで作ったほうが便利そうです。

これでまきびしのモデルでも作ってみようかな?

ではまた。