Floweriumの花をNCで作る

December 21, 2012
Floweiumの花の形をパスデータとして書き出し、NCで実物を作ってみました。

形状を書き出すアプリは、花を生成するクラスのテストプログラムだったものにPDFとして書き出す機能を追加しました。UIを整理して近々配布したいと思います。

色や形を設定します

mbedでトラ技3月号の頒布カメラBを使う

April 26, 2012

トランジスタ技術2012年3月号 の特集で紹介されていた頒布カメラBをmbedで使ってみました。


ほとんどこちらの記事をなぞっただけです。大変参考になりました。
Robot No.8080のブログ mbed + トラ技カメラBの実験。(その1)


1.カメラモジュールのデータシートを入手して、ピンの位置を確認

2.カメラモジュールとmbedを配線

3.mbedのプログラムをインポート

4.撮影

5.Processingでデータを画像化


1.カメラモジュールのデータシートを入手して、ピンの位置を確認
こちらのページから「PCB寸法図」のpdfをダウンロードします。20本あるピンの左下・白い三角があるところが1pinで、その上が2pin、3pinは1pinの右、となっています。僕は横に進んでいくと勘違いしました。


2.カメラモジュールとmbedを配線

それぞれのpinをこちらの記事に従って配線します。

SCL端子(3pin)はプルアップします。抵抗は10kΩでOKでした。

8pinはnc(No Connection?)となっているので、結線していません。


3.mbedのプログラムをインポート
こちらのプログラムをインポートします。

4.撮影

ターミナルのscreen だと文字化けしてしまったので、ArduinoのSerial Monitorで表示しました。通信速度が最初は9600になっているので、115200に変更。

イニシャライズの後、何か文字を送ると数字がダーッと出力されます。これが160px * 120px * RGBのデータになります。改行を削除すると57600文字あります。


5.Processingでデータを画像化

今回はテストなので、この文字列をテキストエディタにコピペして「captureData.txt」というファイル名で保存。Processingで読み込んで以下のように各ドットを描画すると、画像としてみる事ができます。取りだした値は0〜15なので、16を掛けて256段階にしてます。


int width = 160;
int height = 120;
String[] pixeldata;

void setup(){
  size(width, height);
  noStroke();
  pixeldata = loadStrings("captureData.txt");
}

void draw(){
  for( int i=0; i<width*height; i++){
    int x = i%width;
    int y = i/width;
    
    fill(
        unhex( String.valueOf(pixeldata[0].charAt(3*i+0)) ) *16,
        unhex( String.valueOf(pixeldata[0].charAt(3*i+1)) ) *16,
        unhex( String.valueOf(pixeldata[0].charAt(3*i+2)) ) *16
    );    

    rect(x, y, 1, 1);
  }
}



そうしてようやく得られた画像がこちら。

ちいさっ!地味!

makotohirahara.com

April 17, 2012
作品、経歴などをまとめたサイトを公開しました。


makotohirahara.com

これまでこのブログに、作品の紹介・技術的なネタ・読書記録など何でも載せていましたが、作品をまとめたいと思ったのでポートフォリオサイトを作りました。

今後、新しいアプリ、展示会の予定など作家的な活動は上記のサイトに載せます。こちらのブログにはopenFrameworksやiOS、unityなどの技術的なトピックを書いていきたいと思います。