INDEX(各項目ごとの目次)

[HOME]  [Processing関係]  [Arduino関係]  [マテリアル関係]  [秋葉原工作マップ]

2008年用ですが、部分的に内容を更新しています(2010/06/14)。
また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。
:

11/16/2008

次回(11/22)授業について

次回11/22(土)は、15:00から授業を開始します(お間違えないように)。

・空間内における制作物の配置、身体との関わり、空間全体のイメージなど(前回のコラージュ)を引き続き制作してきてください。
・使用される部品や材料なども持参して下さい。授業内で、個人ごとに制作の指導をします。
・必要に応じて「旋盤」「フライス盤」「ボール盤」で、金属部品制作(回転部分や固定部分の部品など)の実習も行う予定です。

精密小型旋盤 Compact3
精密小型旋盤 Compact3
posted with amazlet at 09.03.31
東洋アソシエイツ
売り上げランキング: 95873

11/15/2008

Arduino デジタルカラーセンサ S9706

今回は秋月電子で購入したデジタルカラーセンサS9706の実験をします。S9706は、RGB3色の同時測光が可能であり、9×9素子(高感度)と3×3素子(低感度)の感度設定が2段階あり、感度設定用の端子(Range端子)をHIGHまたはLOWで切り替えて設定できます。検出結果は12ビットの値でシリアル出力されます。S9706は表面実装用の小さな部品(1.27mmピッチ)なので、DIP変換基板などにハンダ付けして使用したほうが実験しやすくなります。

S9706には、

・Range端子(感度設定)
・Gate端子(測光時間の設定)
・CK端子(クロックパルス)
・Dout端子(出力)
・Vdd端子(5V電源)
・Gnd端子(グランド)

の6端子あります。
それぞれを以下のように接続します。尚、測光時間を調節できるように可変抵抗器も接続することにします。



データシートの動作手順によれば、以下のように説明されています。
(1)Gate端子とCK端子をLowにします。
(2)Range端子で、所望の感度を選択します(今回は、可変抵抗器で調節可能にしておきます)。
(3)Gate端子をLow→Highにして光量の積算を開始します。
(4)所望の積算時間の後にGate端子をHigh→Lowにして光量の積算を終了します。
(5)測定データは、CK端子に36のCKパルスを入れることで、Dout端子から出力されます。

Dout端子からの12ビットのシリアル出力を読み込むためには、CK端子へ12回のパルスを3回送る必要があります。最初の12パルスによって赤、次の12パルスによって緑、そして最後の12パルスによって青が出力されます。この部分の手続きは、shiftIn()というファンクション(名前は任意)を用意することにします。付属のデータシートのタイミングチャートに従ってプログラムしていくことにします。
最終的に得られたRGB三色の値(12ビット:0~4095)をシリアル通信でProcessingへ送信し、Processingの画面上で色表示することにします。

「Arduinoのプログラム」:

 [プログラムを表示]


アナログ入力に接続された可変抵抗器で、測光時間を1ミリ秒から1024ミリ秒まで可変的に設定可能になります。測光時間が短ければ全体的に暗い色として認識されるので適宜調節してください(白色LEDを取り付けて反射光を使って読み取らせることもできると思います)。
12ビットの値を読み込む処理をするint shiftIn(){...}では、一色につき12回CK端子へパルス(HIGH:1μsec+LOW:1μsec)を送ります。12回分のパルスをfor文で繰り返し処理させています。for(){...}の中では、digitalWrite(CK,HIGH)で1回HIGHを送ったあと1マイクロ秒待機すると、Dout端子から1ビット分の出力があるので、digitalRead(DOUT)でHIGHかLOWかを読み込みます。そしてdigitalWrite(CK,LOW)によって、CK端子をLOWに戻しておきます。
読み込み値を、
000000000000~111111111111(十進数の0~4095)
までの二進数で処理するため、digitalRead(DOUT)がHIGHの場合は12ビット中のその桁が1になります。S9706では、右の桁から出力されます。つまり、for(){...}では、最初に処理される桁は右側の一桁であり、最後に処理される桁は左側の一桁(12桁目)になります。



Processingの方では4つの矩形を用意し、RGBの三色それぞれの色面とRGBを合成した色面として表示します。Arduinoとのシリアル通信は文字列で行います(複数の文字列のシリアル通信は「Arduino-Processing シリアル通信5」を参照してください)。Processing側でクリックしたらシリアル通信を開始することにします。


Processing上の画面:左から赤、緑、青、3色合成

「Processingのプログラム」:

 [プログラムを表示]


Arduinoからは0~4095の範囲で値が送られてくるので、fill(r,g,b)の各値に代入するため、map()を使って0~255までの値(さらにint()で括って整数に変換)に変換しています。

「room01~03」について

「room01~03」概要:
既存のギャラリー空間に対して、各自の制作物(ツール/デバイス)を挿入することで、空間の機能や質あるいは空間に対する人間の知覚を変容させることを目標とします。
ギャラリーに訪れる人は、制作物(作品)に対する「鑑賞者」になるというよりも、制作物によって変容した空間の性質を体験する「体験者」になります。また、制作物を通して意味を生成したり理解されたりすることを目標とするのではなく、フィジカルに体験される物理的現象(あるいは肉体的な身体を通した感覚)を目標とします。つまり、解釈や理解によって空間の質を変容させるのではなく、実際的にあるいは物理的に空間が変容することに重点をおいてください。

「room01~03」までのステップ:
(1)ある現象を測定したり記録/伝達するような「ツール/デバイス」の実験的なプロトタイプ制作。
(2)「ツール/デバイス」を体験可能なかたちとする(「体験者」との関わりを配慮した形態)。
(3)「ツール/デバイス」と「体験者」を「空間」内に配置する(「体験者」に応じた設置方法や配置方法の工夫)。
(4)「体験者」の身体の変化と「ツール/デバイス」の変化が「空間」に与える影響力を強化する。

演習:
(1)デバイスのコラージュ
(2)デバイスと身体のコラージュ
(3)空間内に配置されるデバイスと身体のコラージュ
(4)変容する空間のコラージュ

11/13/2008

センサについて2

以下は、「秋月電子」、「千石電商」、「共立エレショップ」、「Sparkfun(米国)」の各サイトにおけるセンサの分類です。目的や機能ごとに分かれているので、センサを選ぶ際の参考にして下さい(各店舗の各センサのページへリンクしています)。




秋月電子

センサ一般
湿度/温度

赤外線センサ
リモコン受光部
紫外線関連

ペーハー(pH)
アルコール/ガス 
方位

千石電商

ホール素子/ホールセンサ 
温度センサー
角速度(ジャイロ)
加速度
距離
圧力
衝撃
曲げ
焦電
サーミスタ
共立エレショップ

感圧
ひずみ/曲げ
温度
湿度

赤外線
紫外線
カラー
超音波
磁気
電流
位置
位置(アクセサリ) 
動き
Sparkfun(米国)

Accelerometer(加速度)
Biometrics(生物測定)
Capacitive(静電容量)
Current(電流)
Flex/Force(曲げ/力)
ID(証明/認証)
IMU/Gyros(慣性力/角速度) 
Infrared(赤外線)
Light/Imaging(光/画像)
Magneto(磁力)
Proximity(距離)
Temperature(温度)
Weather(天候)






その他のショップやセンサについては、このブログページ右側の「ショップリスト」にも記載してあるので参考にして下さい。

11/08/2008

Arduino書籍:「Making Things Talk」日本語版

『Making Things Talk--Arduinoで作る「会話」するモノたち』(日本語版)が発売されるそうです。

Making Things Talk -Arduinoで作る「会話」するモノたち
Tom Igoe
オライリージャパン
売り上げランキング: 16017


[目次:Processing関係]  [HOMEへ戻る]  [目次:Arduino関係]