Arduino Lilypadインタラクティブパッションセンシングスカーフ:7ステップ(写真付き)

Arduino Lilypadインタラクティブパッションセンシングスカーフ:7ステップ(写真付き)

目次:

Anonim

これがArduino Lilypadとの初めての仕事でした。私はしばらくの間、ソフト回路を扱う何かを試してみたかったのです。このプロジェクトは私が思いついたものです。このコンセプトは、Fusefactory.orgの創発Sheep Sculptureプロジェクトの私の友人、Ethan Dicksに基づいています。

Lilypadインタラクティブパッションセンシングスカーフ そう働きます:

一人で歩いて誰かが身に着けているスカーフナンバーワンは色で点灯します 孤独のための青。スカーフナンバー2の着用者がナンバー1と結合すると、2つのスカーフはお互いを感知して点灯します 愛のための赤.

静電容量式タッチの将来計画: これは色ができるようになります 情熱のための脈動 着用者が1人の場合 触れる 他の着用者はスカーフをつけます。

あなたがそれがどのように働くかを見ることができるように、以下はビデオです。これは進行中の作業であることに注意してください、私はただ1つのスカーフに電子機器を埋め込んでいるだけです。 私はまだこれらに取り組んで完成しています。あなたのアイデアを共有するために自由に記入してください!

用品:

ステップ1:材料

これはあなたがこのプロジェクトを完了するために必要となるアイテムのリストです。 Lilypadの商品は、FunGizmos.comからすべて購入しました。 あなたは2つのスカーフを作るのにそれぞれ2つを必要とするでしょう。

貯蓄のヒント: あなたがお金を節約する必要があるならば、あなたはIR送信機とバッテリーだけを必要とするであろうただのエミッターとしてだけ働くスカーフのうちの1つを持つことができました。

電子部品

1. Lilypad Arduinoボード

2.リリーパッドトライカラーLED

コイン型電池ホルダー

4. 3Vコイン型電池20mm

(あるいは、Lilypadには他の電源とバッテリーボードを使うことができます)

導電性スレッド

6. Lilypadボタンボード(オプション)

7.(x2)赤外線エミッタおよびフォトトランジスタ検出器 - RadioShackで入手可能

8.抵抗10KΩと56Ω

9. FTDI基本ブレークアウトボード(Lilypadのプログラムに使用)

スカーフ部品 - 生地のニーズのために、私は私の地元の工芸品店に行きました。

1. 2色のフリースのスカーフを使いました

2つの異なる布地のプリント(私はそれぞれ1ヤード持っていました)

3.ヒートボンドウルトラホールドアイロン接着剤

4.ファブリックペイント

5.アイアンパッチ(オプション)

ステップ2:パターン作成

私のスカーフのために、私はデザインのための炎が欲しかった。私は古いファイルフォルダーを使い、その上に炎の形を描いてパターンとして使いました。

パターンの形が決まったら、布の接着剤を使い、布の裏側にアイロンをかけました。接着剤の片面に用紙があります(この面を上にします)。

接着剤が布地に付着した状態で、私は炎を紙面にトレースしてから形を切りました。 まだ紙を取り除かないでください。あなたがスカーフにそれをアイロンをかける準備ができるまでこれを続けてください。

先端: あなたの布のパターン形状をカットする前に接着剤にアイロンをかけます。これはあなたの布が揚げるのを防ぎます!

ステップ3:ソーイングエレクトロニクス

MakeZineには、Becky SternによるLilypadの使用開始に関する素晴らしいビデオチュートリアルがあります。これは私がこのプロジェクトを始めたときに私が言及したものです。

最初の写真でわかるように、電源回路基板がLilypadに近すぎました。回路トレースを縫い始めたら、後でこれを動かさなければなりませんでした。

実際の回路はかなり単純です。バッテリーからLilypadに正の電源とグランドを接続してください。その場合、ピン配置は次のようになります。

int statusPin = 13。 //オンボードステータスLEDはデジタルピン13に接続されています

int redPin = 11。 //デジタルピン11に接続されているRGB LEDモジュールのR花弁

int greenPin = 9。 //デジタルピン9に接続されているRGB LEDモジュールのGの花びら

int bluePin = 10。 //デジタルピン10に接続されているRGB LEDモジュールのBの花びら

int sensorPin = 5。 //デジタルピン5に接続されているIRフォトトランジスタ

int irPin = 6。 //デジタルLED 6にIR LEDを接続

注意: 完全なArduinoのスケッチはこのInstructableの最後にあります

先端: あなたはあなたの回路トレースを抑えるためにあなたのスクラップの一部を使うことができます。あなたがショートを起こさないように、それらが互いに交差したり触れたりしないことが重要です。

先端: お分かりのように、あなたのスカーフの下側は回路トレースが貫通しているのでちょっと見苦しく見えるでしょう。他のスカーフを上に縫う(あなたのLilypadをプログラムするための開口部を残す)か、あなたがあなたのパターン形状のために使用した余分な布からスカーフを切り取ることによってこれを隠すことができます。

ステップ4:赤外線エミッタとフォトトランジスタ

IRエミッタは色付きのもので、フォトトランジスタ(ディテクタ)はクリアパッケージのものです。

エミッタとディテクタに抵抗をいくつか追加する必要があります。私はディテクタに10KΩの抵抗器(ブラウン、ブラック、オレンジ)を使い、エミッタに56Ωの抵抗器(グリーン、ブルー、ブラック)を使いました。

エミッターとディテクターがスカーフの前面にあるのでコンポーネントを隠すために、私はアイロンパッチを使いました。私はエミッターとディテクターのそれぞれのリード線を丸めて、それから正確なナイフを使って、そしてそれぞれの目に「X」スリットを切りました。これにより、パッチを通してエミッタとディテクタを押すことができました。

つなぐ: エミッターとディテクターはそれぞれPOWERからRESISTOR、LILYPAD PIN、IR LEDからGROUNDに接続されています。理解を深めるために、このステップの回路図を参照してください。 Make Onlineによるプルアップ抵抗に関する詳細情報。

注意: 完全な回路図はこのInstructableの最後にあります。

先端: あなたはIR LEDが点灯するのを見ることができないでしょう。あなたがあなたのデジタルカメラを通してそれらを見るならば、あなたはそうすることができるでしょう。私のビデオでは、エミッターが点灯しているのがわかります。

ステップ5:アイロンパターン

あなたのパターンをアイロンをかける準備ができたら。アイロンを 水蒸気なしの中熱。裏紙をはがし、スカーフの上に​​配置したい場所にパターンを配置します。

私は私が見ることになる導電性の糸を隠すことができたことを私の上で確かめた。

あなたのスカーフ生地によっては、あなたは一箇所にあまりにも長く鉄を保持したくありません。私はフリースを使用したので、生地を溶かしたり燃やしたりしないようにするために素早く動いて素早く押し下げなければなりませんでした。

すべてがスカーフにアイロンをかけられたら、私は布の塗料を使って端を回った。これは2つの目的を果たすのに役立ちます。それは生地を安全に保つのを助け、そしてまた形に小さい破裂音を加える。

先端: 布地の塗料を暖かい場所で一晩中乾かします。これは塗料が乾くのを助けます。あなたが冷たいガレージか何かでこれを持っていたならば、ペンキは後でひびが入ります。

注意: あなたがミシンやミシンで便利であるならば、あなたはパターンを縫うことができます。私はまだそのレベルに達していないので、これが私にとって最も簡単な方法でした。

ステップ6:Arduinoのスケッチ

Ethan Dicksオリジナルの羊彫刻スケッチをこのステップに追加しました。デザインを完成させた後に、更新されたスケッチファイルを追加します。これで少なくとも2つの作業用スカーフを使い始めることができます。

/ * ++羊 - 群衆反応(緊急)行動を模倣するためにRGBとIR LEDと光センサーの組み合わせを使うこのコードはFuse Factoryワークショップ「Arduinoで緊急行動の彫刻をする」http:// thefusefactoryに沿っています。 org / 2009/09/03 /創作行動彫刻とアルドゥイーノ/彫刻、または "羊"は、Lilypad Proキット(Lilipad 5V電源に接続されたLilypadベース)の芸術的な集まりです。 Lilypadボード上の328V MCUの上に三色LEDが取り付けられています。大型のLilypad ProtoboardはPSUとLilypad自体の間にあり、電力を供給し、抵抗とIRコンポーネントを保持します。四角形の錯覚は、PSUの「本体」にはんだ付けされ、脚として曲げられる1Wおよび2WのLEDによって完成します。コードは「気分」と呼ばれる永続的な変数に依存します - それがゼロまたはゼロに近いとき、羊は「幸せ」です。ゼロを下回ると羊は「孤独」です。ゼロ以上になると、羊は混雑したり動揺したりします。孤独は青、幸福は緑、そして動揺は赤で表されます。 「気分」を表現する(PWMを使ってRGB LEDを遮光する)間に、コードの主要部分は他の羊からのIRパルスをチェックし、他の羊に「電話をかける」ために独自のパルスを発することがあります。内部変数を微調整することによって、羊は他の羊の呼び出しに多かれ少なかれ敏感になる可能性があります。複数の羊が集まってテーブルの上に置かれ、お互いに声をかけると、創発的な行動が起こります。 IRパルスが急上昇すると、羊は幸せになるか、おそらく興奮するようになります。脈拍がほとんどなく、羊は孤独を示します。 Sheep.pde - Arduinoを創作的な行動の彫刻に変えるCopyright(C)2009、Ethan Dicksこのプログラムはフリーソフトウェアです:あなたはそれを再配布することができますそして/またはフリーソフトウェアによって公表されるGNU一般公衆利用許諾契約書の条件の下でそれを修正しますFoundation、ライセンスのバージョン3、または(あなたの選択により)それ以降のバージョンのいずれか。このプログラムは役に立つことを願って配布されていますが、いかなる保証もありません。商品性や特定の目的への適合性についての暗黙の保証すらありません。詳細についてはGNU一般公衆利用許諾書を参照してください。このプログラムと一緒にGNU一般公衆利用許諾契約書のコピーを受け取っているはずです。そうでない場合は、.-- * // * ++を参照してください。変数の初期化 - コードの開始前に、ユーザーが調整可能なすべてのパラメーターを一番上に配置して、調整しやすいようにします。 - * ///「気分」値の定義#define MOODMAX 80 #define MOODMIN(-1 * MOODMAX)#define LONELY(MOODMIN)#define HAPPY(0)#define CROWDED(MOODMAX)#define MSTEPS 5 #define BLEAT_VOLUME 1 //ピン割り当てのグローバル定義(個々の関数呼び出しを簡単にするため)int statusPin = 13; //オンボードステータスLEDはデジタルピン13intに接続されています。redPin = 11; //デジタルピンに接続されているRGB LEDモジュールのR花弁11int greenPin = 9; //デジタルピン9に接続されているRGB LEDモジュールのG花弁9int bluePin = 10; //デジタルピンに接続されているRGB LEDモジュールのB花弁10int sensorPin = 5; // IRピン5に接続されているIRフォトトランジスタ。 //デジタルLED 6にIR LEDが接続されている。//気になることを期待して始めましょうint mood = HAPPY; //入力ピントの感覚を追跡しますeye = 0; //そして、どのくらい「大音量」になっているか(IR LEDが点滅しているか)を覚えておいてください。int bleat = BLEAT_VOLUME; / * ++ setup() - ボードがリセットされた直後に、Arduino環境はsetup()のコードを一度だけ呼び出します。 I / Oピンなどを初期化するためにこの関数にコードを入れてください - 実行の間に一度だけされる必要があるもの。 - * / voidセットアップ(){// Serial.begin(9600)のデバッグ用。 Serial.println( "Sheep v0.02"); //ほとんどの場合、I / OピンはLEDへの出力です。pinMode(statusPin、OUTPUT); // statusPinを出力pinModeに設定する(redPin、OUTPUT); // redPinを出力pinModeに設定します(greenPin、OUTPUT); // greenPinを出力pinModeに設定します(bluePin、OUTPUT); // bluePinを出力pinModeに設定します(irPin、OUTPUT); // irPinを出力に設定します。// IRフォトトランジスタpinMode(sensorPin、INPUT)は例外です。 // sensorPinを入力Serial.printに設定します( "Setting IR 'bleat' to")。 Serial.println(bleat); analogWrite(irPin、bleat); } / * ++ loop() - Arduino環境はこのループ内のコードを永遠に呼び出します。 setup()が1回呼び出された後に無限に実行されることを意味している興味深いことをここに入れてください。このループから出る唯一の方法はボードをリセットすることです。 - * / voidループ()//何度も繰り返し実行する{//私たちの "気分"を反映するようにRGB LEDを設定します。これは時折変わることがありますset_mood(気分); //他の「羊」の遅れに反応する速度を遅くする(100); // sensorPinには10Kのプルアップ抵抗があるので、* no * lightは1をレポートします。//ライトを論理的に考えたい場合は//ピンの論理的な意味を//反転する必要があります。アイオン/アイオフ0 = 1 - digitalRead(sensorPin); // IRライトを「見る」場合は、eyeを1に設定します。//ループを繰り返すたびに現在のステータスを報告しますSerial.print( "Mood is"); Serial.print(気分) Serial.print( "。Sensor is"); Serial.println(eye); //他の「羊」からのパルスを見た場合、気分を上げますが、MOODMAXを超えていない場合(眼){//人間は赤外光を「見る」ことができないので、ステータスLEDを可視インジケータとして使用します。; //ステータスLEDムードでIR入力検出をエコー+ = MSTEPS * 2; if(気分> MOODMAX){気分= MOODMAX; IRパルスが表示されない場合は、ムードを減らしますが、MOODMINを下回らないようにします。{//人間は赤外線を「見る」ことができないため、ステータスLEDを可視インジケータとして使用します。digitalWrite(statusPin、LOW); //ステータスLEDムードでIR入力検出をエコー表示 - = 1; if(気分<MOODMIN){気分= MOODMIN; / * ++ set_mood - 「ムード」を配色に変換するムードは、負の数から正の数と同じ値に変わります(これまでのところ、-80 / + 80と-100 / + 100は妥当な結果をもたらします)。 。比例して、カラーマッピングに対するムードの連続体は次のようになります。Mood -100 0 + 100 Lonely - > Happy - > CrowdedR 0 0 0 30 100G 0 30 100 70 0B 100 70 0 0 0 - * / void set_mood(int mood) ){//各色がオフになっている状態から始めます - "気分" unsignedchar redness = 0に基づいて上方に調整します。 unsignedchar緑色度= 0。 unsignedcharの青さ= 0。 #ifdef DEBUG Serial.print( "Mood is"); Serial.println(気分) #endif //青さとは、(気分<HAPPY){青さ= abs(気分);緑色度= MOODMAX +ムード。 //赤みは、気分が幸せなelseif以上のものであることすべてです(気分>幸せ){redness = mood;グリーンネス= MOODMAX【ムード】 //緑色は、幸せな気分を味わうことを意味します。 //現在の気分の色(赤、緑、青)を反映するようにLEDを設定します。 / * ++ color(r、g、b) - 3色LEDを要求された色の値に設定しますanalogWrite(pin、value)を使用して、個々のLED色ごとにPWM値を設定します。陽極装置は、光を作るために、目的のピンを接地します。 PWM波形を反転するには、255から希望の強度を引くので、たとえば、論理的に赤にしたい場合は、ゼロの値を渡しますが、PWM値を255に設定してピンをハイに駆動します。時間の100%最大の明るさにするには、論理値255を渡しますが、PWM値を0に設定して、そのピンを100%低くします。--* / void color(unsignedchar red、unsignedchar green、unsignedchar blue) //色生成関数{#ifdef DEBUG Serial.print( "color("); Serial.print(赤、HEX); Serial.print(青、HEX); Serial.print(緑、HEX); Serial。 println( ")"); #endif //各色に対してanalogWrite()を呼び出すときにPWM値の意味を反転しますanalogWrite(redPin、255-red); analogWrite(bluePin、255-blue); analogWrite(greenPin、255-グリーン); }

ステップ7:回路図

回路図は、Adobe PDFファイルとしてこのステップに添付されています。これは元の羊ファイルでした、しかし私は同じ方法を使ってスカーフを準備しました。

もしあなたがこの考えに追加するならば、私が誰かがそうすることを願っています…私に電子メールを送ってください、私は他の人が追加したものを見たいと思います。

- それを考えて - それを構築 - それを共有 -

www.ArduinoFun.com