2012年11月15日木曜日

次回11/20 Arduino+Processing

次回11/20は最後の授業となります。
ひきつづきArduinoとProcessingを連携させた応用実験を行います。

各自利用したいセンサ、あるいは出力デバイスなど持参し、ひとつの入出力デバイスの仕組みを各自の設定において構築したいと思いますので、次回までに各自の入出力デバイスのサンプルを考えて来て下さい。
授業内では、さらに他の人との入出力デバイスとの連携やワイヤレス化など、発展させたいと思います。

必要なもの:
・各自の入出力デバイスの案
・各自の入出力デバイスに必要なセンサや出力装置
・Arduino(マイコンボード、ブレッドボード、その他部品など)
・Processing (Webカメラなど含む)

2012年11月1日木曜日

次回11/06 Webカメラ+Arduino

次回11/06は、前回に引き続きWebカメラの応用実験(Webカメラを使ってArduinoを操作する)を行いたいと思います。

必要なもの:
・各自のノートパソコン
・Processingのインストール
・Webカメラ(パソコン内蔵カメラでも可)
・Arduinoボード
・USBケーブル
・ブレッドボード
・ジャンパワイヤ(オス-オス)



以下、授業内で使用したサンプル
import processing.video.*;
import processing.serial.*;

Serial myPort;
Capture video;

int w=240;//320;
int h=180;//240;

int tolerance=20;

PFont font;
color targetColor=color(255,0,0);

boolean videoImage=true;
float x;
float y;
float fx;
float fy;

int sumX,sumY;
int pixelNum;
boolean detection=false;

void setup(){
  size(w, h);
  smooth();

  video = new Capture(this, w, h);
  font=createFont("Monaco",10);
  textFont(font);
  noStroke();
  myPort=new Serial(this,"/dev/tty.usbserial-A9005baQ",9600);
}

void draw() {
  if(video.available()){
    video.read();
    if(videoImage){
      image(video, 0, 0);
    }else{
      background(0);
    }

    detection=false;
    
    for(int i=0;i<w*h;i++){

      float difRed=abs(red(targetColor)-red(video.pixels[i]));
      float difGreen=abs(green(targetColor)-green(video.pixels[i]));
      float difBlue=abs(blue(targetColor)-blue(video.pixels[i]));
      if(difRed<tolerance && difGreen<tolerance && difBlue<tolerance){
        sumX+=(i%w);
        sumY+=(i/w);
        pixelNum++;
        detection=true;
      }
    }
    
    if(detection){
      x=sumX/pixelNum;
      y=sumY/pixelNum;
      sumX=0;
      sumY=0;
      pixelNum=0;
    }
  }
  
  fx+=(x-fx)*0.2;
  fy+=(y-fy)*0.2;
  myPort.write(int(fx));
  fill(255,0,0);
  ellipse(fx,fy,20,20);
  fill(targetColor);
  rect(0,0,10,10);
  text(tolerance,20,10);
  String s;
  if(detection){
    s="detect";
  }else{
    s="none";
  }
  text(s,40,10);
}
void mousePressed(){
  targetColor=video.pixels[mouseX+mouseY*w];
  //println(int(red(targetColor))+","+int(green(targetColor))+","+int(blue(targetColor)));
}
void keyPressed(){
  if(key=='c'){
    video.settings();
  }
  if(key=='v'){
    if(videoImage){
      videoImage=false;
    }else{
      videoImage=true;
    }
  }
  if(key==CODED){
    if(keyCode==LEFT){
      tolerance-=1;
    }
    if(keyCode==RIGHT){
      tolerance+=1;
    }
  }
}


2012年10月16日火曜日

次回10/23 Processing+Webカメラ

次回10/23は、Webカメラを使った実験を行います。
また、Webカメラで得られたデータを使ってArduinoと連携させて出力します。

必要なもの:
・各自のノートパソコン
・Processingのインストール
・Webカメラ(パソコン内蔵カメラでも可)
・Arduinoボード
・USBケーブル
・ブレッドボード
・ジャンパワイヤ(オス-オス)

 内容:
Webカメラを使ったカラートラッキング

2012年10月4日木曜日

次回10/09 Arduino+Processing

次回10/09は、前回のシリアル通信(ArduinoとProcessingとの連携)をつかった応用演習をひきつづき行います。
各自が用意したセンサなど(使ってみたいセンサなど)あれば持参してください。

必要なもの:
・各自のノートパソコン
・Arduinoボード
・センサ類(各自持参) ・USBケーブル
・ブレッドボード
・ジャンパワイヤ(オス-オス)
・Processingのインストール

内容:
サーボ制御
・シリアル通信を使ったPrcessingからのサーボ制御

2012年9月20日木曜日

次回9/25 Arduino電子工作

次回9/25もArduino電子工作の演習を行います。
また、Processingとの連携のプログラムも予定していますので、Processingもインストールしておいてください。


必要なもの:
・各自のノートパソコン
・Arduinoボード
・USBケーブル
・ブレッドボード
・ジャンパワイヤ(オス-オス)
・Processingのインストール

内容:
シリアル通信(ArduinoとProcessingの連携)

2012年9月3日月曜日

後期授業開始:9/11 Arduino

後期授業は9/11から開始します。 前期にひきつづきArduino(電子工作)を行います。

必要なもの:
・各自のノートパソコン
・Arduinoボード
・USBケーブル
ブレッドボード
ジャンパワイヤ(オス-オス)

内容:
7セグLED表示
照度センサ
ピエゾスピーカ

2012年7月10日火曜日

次回7/17の授業:Arduino電子工作の基礎

次回7/17(火)はArduino(電子工作)を行います。

必要なもの:
・Arduinoボード(秋葉原あるいは通販で購入可、入手方法等についてはこちら
・USBケーブル(Arduinoボードとパソコンをつなぐ用)
・ノートパソコン

Arduinoのソフトをインストールしておいてください。
ダウンロードサイト:http://arduino.cc/en/Main/Software

Arduinoボードを新規購入する場合は「Arduino UNO(2520円)」というタイプをおすすめします(以下参考)。
Arduino Uno
Arduino Uno
posted with amazlet at 11.09.19
スイッチサイエンス
売り上げランキング: 23324

2012年6月29日金曜日

7/03 次回の授業の準備

次回7/03も引き続き、Processingのプログラミング演習を行います。

必要なもの:
各自のノートパソコン

2012年6月13日水曜日

6/19 次回の授業の準備

次回6/19は前回に引き続き、Processingのプログラミング演習を行います。

必要なもの:
各自のノートパソコン
 

2012年5月30日水曜日

6/05 次回の授業の準備

次回(6/05)は、Processingを用いたプログラミングの演習を行います。

用意するもの:
各自ノートパソコン持参。

Processingについては、事前にこのページをみておいてください。
できれば、Processingのソフトをダウンロード+インストールしておいてください(このページを参照)。

5/22 クイックモデリング

クイックモデリング S=1:50

・人間 1個(35mm)
・床(5m角 1枚)
・壁(2枚、3m高)
・作業台(1個)
・椅子(2個)
・入口ドア+壁
・棚(壁面上)
・2F床(大きさ自由)
・3mボックス(2F床上に配置)
・階段(1Fから2Fへ)
・台座(敷地)
・大型動物(敷地余白内に)
・3F(仮設屋根)+ハシゴ
・屋上手すり
・望遠鏡(展望装置:屋上)

模型写真+用途の説明(ブログへアップ)
・できるかぎりハードウェアで説明可能にする

2012年5月15日火曜日

5/22:授業の準備

次回5/22の授業ではクイックモデリングを行います。
手早く(アドリブで)空間の模型を 制作しますので以下の道具や材料を用意してきてください。

必要なもの:
カッター、はさみ、接着剤、接着テープなどの工作用具、ならびにカッターマット(なければ、段ボールや厚紙など) 。
材料として、厚紙(段ボール、ボール紙、スチレンボード、ケント紙など)、その他お菓子の箱など(色や模様がついたものでも構いません)を各自持参してきてください。量としては各種様々な厚紙を含めてA4サイズ10枚分くらいです。

また、各自のブログやホームページを開設しておいてください。
授業後、作成した模型の写真等をアップロード 記録しておいてください。
前回の作業内容もアップロードしておいてください。それを表示しながら前回作成してマップ+タイムテーブルを各自説明してもらいます。

5/08:活動範囲のマップ+タイムテーブル

[活動範囲のマップ]
・自分自身を中心に、家族、仕事場、学校、近所のコンビニ、よくいくお店、たまに訪れる場所、頻度は少ないが定期的に訪れる場所、よく閲覧するインターネットのサイトなど、日常の活動領域や活動内容をマップとして表現する。

[活動のタイムテーブル]
・上記[活動範囲のマップ]を一日に凝縮すると、どのような一日として過ごすこととなるか、1日分のシナリオとしてタイムテーブルを記述する。

以上2点を各自ブログやホームページを開設してアップロードする。
文書作成や図形描画などのソフトに関してはOpenOffice(MSのOfficeのようなフリーウェア)を利用してみてください。

次回5/22の授業にて、アップロードされた内容を表示して説明してもらいます。

2012年5月8日火曜日

建築工作ゼミ2012開講

建築工作ゼミ2012が5/8から開講されます。 前期スケジュール:火曜日/隔週 18:30-21:30
5/08
5/22
6/05
6/19
7/03
7/17

前期:ライフスタイル拡張装置をつくる
・活動範囲のマップ
・活動のシナリオ

2012年1月21日土曜日

今後の予定

建築工作ゼミの展覧会ギャラリー利用期間は、2/27(月)-3/3(土)です。
展示を前提とした各自のアイデアあるいはサンプルなどを持ち寄って、次回2/4(土)18:30から4階教室にて、ミーティングを行います。
そのときに再度ギャラリー空間を見ながら、展覧会の具体的な内容を決定したいと思います。

2012年1月7日土曜日

次回01/16(月)ハードウェア

次回01/16(月)までに、各自のトピックに関するハードウェア(素材、道具、機材など)をいくつか持参して来て下さい。
場合によっては、これらハードウェアは作品の一部として用いられるかもしれません。あるいは、トピックの内容に関するサンプルとしてのハードウェア(素材)でも構いません。

また、それらハードウェアをヒントとして、解決策/転用策/反転策を考えて行きます。同時に、作品を展示するうえでの素材/方法/設置方法も考えておいて下さい。
素材:木、金属、樹脂、布・・・
方法:木工、金工、電子工作、プログラミング、映像・・・
設置方法:床上、壁面上、天井つり下げ、プロジェクター投影・・・

1月後半に展示を予定しています(現在調整中)。