ホリデーシャドウシアター
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
> |
| |||
| ||||
| ||||
| ||||
| ||||
| ||||
|
アプリとオンラインサービス
> |
| |||
| ||||
|
このプロジェクトについて
概要 <図>
このプロジェクトでは、Arduino 101、アドレス可能なLEDのストリップ、フォームコア、カードストックペーパーを使用して、電話で制御可能なアニメーションのシャドウシアターを作成します。電子機器は非破壊的に使用されるため、後で別のプロジェクトで簡単に使用できます。これは、99%の電子機器を備えた便利なSparkfunウィッシュリストです。
<図>仕組み:
<図> <図>アドレス可能なLEDの1つのストリップが、シャドウシアターの中央にあるフォームコアに巻き付けられています。下部近くのライトはゆっくりと順番に発射され、ピンホールを通して光り、アニメーションの影を作成します。さらに上のライトは上部の建物に向けられ、ストリップの最後のLEDがシーン全体を照らすために使用され、メインシャドウが作成されます。
<図>Arduino 101にはBluetoothラジオが組み込まれており、Blynkと呼ばれるラピッドプロトタイピングアプリを使用してシーンをリモートコントロールします。サンプルコードでは、建物の色を制御したり、火のちらつきをオンにしたり、メインシャドウライトの明るさを制御したりできます。
パート1:電子機器のセットアップ
ステップ1
ライトの端から約1cmを切り取って、LEDストリップからエンドハーネスを集めます。ワイヤーの端をはがします。
<図> <図>ステップ2
電圧レギュレータに付属している曲がったヘッダーピンを分解し、そのうちの2つを緑と黄色のワイヤの端にはんだ付けします。これにより、Arduino101のピンに簡単に接続できます。
<図>ステップ3
次に、赤いワイヤーを電圧レギュレーターのVIN端子にはんだ付けし、図のように2つのストレートヘッダーをGNDピンとVOUTピンにはんだ付けします。
<図>ステップ4
次に、バレルジャックアダプタを接続します。まず、バッテリーケースから出ているワイヤーの端をはがし、次にオスバレルジャックの端子に取り付け、ドライバーで締めます。赤は(+)端子に、黒は(-)端子に接続します。
<図>次に、メスのバレルジャックアダプタをLEDストリップの最初から出ている緩いワイヤに接続します。 YELLOWは(-)端子に行き、REDは(+)に行きます。
<図>ステップ5
次に、ハーネスをArduino 101に接続します。緑のワイヤーはピン6に接続し、黄色のワイヤーは#13の近くのGNDピンに接続します。
電圧レギュレータの2つのヘッダーピンを使用すると、GNDはGNDに接続され、VOUTはArduino101の「Vin」ピンに接続されます。これを誤解しないでください。後ろ向きに差し込むと、においややけどの原因になります。私はこれを知っている。
<図> <図>
パート2:フォームコアステージの組み立て。
フォームコアパターンを通常のプリンター用紙(4枚)に印刷し、カードストックパターンをカードストック紙(4枚)に印刷します。
ステップ1
印刷されたフォームコアのパターンページを取り、それらを使用してフォームコアの部分を切り取ります。フォームコアにパターンを配置し、ホビーナイフで輪郭を軽くなぞって、線を転送します。
<図> <図>ステップ2
ピースをカットしたら、次のようにLEDストリップホルダーを組み立てることから始めます。
<図>次に、LEDストリップを取り出し、最初のLEDをテープまたはホットグルーで下部に取り付け、図のようにLEDを包みます。アイデアは、LEDストリップを無傷に保つことです。超タイトなラップである必要はありません。
<図> <図>3回ラップしたら、テールエンドを空けて、テープまたはホットグルーでトップを固定します。
ステップ3
このLEDストリップには、アドレス指定可能なLEDがあります。つまり、「ねえ、真ん中で、赤くなります」と言うことができます。しかし、彼らは「ねえ、あなた」と答えないので、あなたは彼らの数を知る必要があります。
折り目の下のLEDは、シャドウシアターの背面を照らし、アニメーションに使用されます。以下の例では、私のアニメーションライトは0、1、2、20、21、22、40、41、42です。上部の2つのLEDが家の中に光ります。 LED 23を使用してバックハウスを照らし、25を使用してフロントハウスの火の光をシミュレートします。
LEDを数え、わかりやすい簡単な参照マップを作成して、後でコードに適切なLED番号を入力できるようにします。 コンピューターのため、ストリップの最初からゼロからカウントを開始することを忘れないでください。
<図>ステップ4
LEDホルダーをフォームコアのボトムピースに接着します。図のように配置すると、ライトの幅の広いストライプがベースの縦方向のほぼ中央に配置されます。
<図> <図>次に、図のように、湾曲したフォームコアのサイドピースをホットグルーで両端に追加します。
<図>ステップ5
次に、ライトディバイダーを追加します とフォームコアトップピース 。ライトディバイダーは、アニメーションライトが家にこぼれるのを防ぎ、その逆も同様です。最大の仕切りをLEDホルダーの折り目の近くに配置し、小さい方の仕切りをその上に配置して、少なくとも1つのLEDが間にあるようにします(下の写真を参照)。トップピースを配置します。 下のスライドショーに示すように、ベースと正方形で、ホットグルーで固定します。
<図> <図> <図> <図> <図>ステップ6
LEDストリップの端をホットグルーで前面の上端に取り付けて、ストリングの最後のLEDがシーンを照らすことができるようにします。これがメインのシャドウLEDです。
<図> <図>
パート3:Arduino 101のプログラミング、およびBlynkのセットアップ
USBプログラミングケーブルをArduino101に接続し、LEDストリップ、バッテリーパック、およびArduino 101をすべて一緒に接続します(バッテリーパックの電源スイッチを「オフ」のままにします)
必要です Arduino IDE コンピュータにインストールされています Intel Curie Coreを使用(Arduino 101の開始を参照)また、をインストールする必要があります AdafruitNeopixelライブラリ 、および Blynkライブラリ 。
Arduinoを初めて使用する場合は、基本的なサンプルスケッチを実行して、すべてが正常に機能していることを確認することをお勧めします。
ステップ1
インストール Blynkアプリ スマートフォンで。
Blynkは、概念実証を迅速に構築し、Arduino 101をリモート制御するための優れたツールです。BLEサポートにはまだいくつかのバグがありますが、Blynkは、電話からArduino101プロジェクトを制御するための最速の方法です。
ステップ2
Arduino IDEにサンプルコードをロードし、必要に応じて、前に作成したマップを使用してLEDピクセル番号を変更します。
プログラムは、「pos []」配列のLED番号をアニメーション化して、雪が降っているような錯覚を作り出します。セットアップに合わせて必要に応じてこれらの番号を変更します(アニメーションLEDは、LEDホルダーの折り目の下にあるものです)。番号を、発射する順序に並べます。ライトはピンホールから突き出て「雪」を作るので、下から上に光を当てると雪が降っているように見え、左から右に向かって右から左に雪が吹いているように見えます。
//#snowアニメーションライトint pos [] ={0、1、2、20、21、22、40、41、42};
次に、アニメーション化するピクセル数を設定します
//#上の配列にはアニメーションピクセルがいくつありますか? int numLeds =9;
次に、シーンを照らしているストランドの端にあるピクセルを設定します(60ピクセルのストリップでは、これはピクセル#59です)。
//#mainシャドウキャスティングLEDがストランドの端にあります。 int shadowPixel =59;
後部の家に光るライトのピクセルを選択します。このピクセルは、2つのライトディバイダーの間にある必要があります。
//#pixel後部の家のライトint lightHousePixel =23;
最後に、フロントハウスに光るピクセル数を「ファイアーピクセル」に設定します。このピクセルは、小さいライトディバイダーのすぐ前にある必要があります。
//#フロントハウスの明滅する火の光のピクセルint firePixel =24;
上記のコードを必要に応じて変更したら、コンパイルしてArduino 101にアップロードできます。コードが正常にアップロードされたら、USBケーブルを外し、バッテリーパックの電源スイッチを「オン」にします。 shadowPixelがオンになり、アニメーションピクセルが順番に点灯するはずです。家と火のピクセルは、Blynkで制御するまでオフになります。
ステップ3
Blynkアプリの読み込み:
携帯電話でBlynkアプリを開き、右上にある[スキャン]ボタンを押します。このQRコードをスキャンすると、コントローラーインターフェイスが自動的に読み込まれ、設定が完了します。
<図>ロードすると、インターフェースは次のようになります。
<図>上記のコードをスキャンする代わりにBlynkインターフェースを手動で構築する場合は、BLEウィジェットと3つのスライダーをVO、V1、V2に0-100で出力するように設定することから始めます。
ステップ4
BLEを介してArduino101に接続します 。 BLEウィジェットをタップすると、Arduino 101の電源がオンになっている場合は、「ShadowTheater」が表示されます。接続してから、右上の「再生」矢印アイコンを押してプロジェクトを制御します。スマートフォンがスリープ状態になった後、再接続する必要がある場合があります。
OK、すべてハードなもので完了しました。今度はクラフトに移ります!最終的に公開されるまで、すべてをオフにすることができます。
パート4:カードストックのシルエット、建物、最後の仕上げ
ステップ1
印刷された4枚のカードストックシートを見つけます。ホビーナイフと新鮮な刃を使って、背景のシルエットを切り取ります。頻繁に刃を交換してください!鈍い刃で切るのはとてもイライラします。このシルエットを切り抜いてブレードを3回交換しました。
<図> <図> <図> <図> <図>ステップ2
家の部分を切り取り、ホットグルーで背中を取り付けます。印刷面は裏向きにして、正面からインクが見えないようにします。下の写真をスクロールしてください。
<図> <図> <図> <図><図>
ステップ3
家をステージに追加します。ホットグルーまたはテープを使用できます。光が家の中に入るが、側面にこぼれないように、すべての隙間を埋めるようにしてください。
<図> <図> <図>ステップ4
次に、シルエットシートの側面を折り、下部をホットグルーでステージの後端に取り付けます。 (印刷面をビューアの反対側に向けます。)
<図> <図>ステップ5
雪景色を切り取って、影絵芝居の後ろの壁に投影します。ピンやつまようじを使ったり、複雑な形を切り抜いたりできます。シートが完成したら、湾曲したエッジに熱接着して投影面を作成します。
<図> <図>ステップ6
左側と前面のシートをホットグルーで取り付けます。
<図> <図>右側のシートをテープで緩く取り付けて、バッテリーケースの電源をオン/オフするために内側に入ることができるようにします。
<図>すべて完了です。 近くに壁がある暗いエリアを見つけて試してみてください!最初に電源をオンにすると、シャドウシアターはシーンの影と雪が降るシーンを投影する必要があります。 Blynkアプリを使用すると、メインライトと建物のライトを制御できます。
コード
- シャドウシアターArduinoスケッチ
シャドウシアターArduinoスケッチ Arduino
このスケッチでは、AdafruitNeoPixelライブラリとBlynkライブラリを使用しています。アドレス可能なLEDストリング内のLEDをリモートコントロールして、シャドウシアターでエフェクトを作成できます。/ * Copyright(c)2016 IntelCorporation。全著作権所有。ファイルの最後にあるライセンス通知を参照してください。* ////////////////////////これらは、シャドウシアターの設定に合わせて変更する必要がある変数です//// //////////////////////////////////////雪のアニメーションlightsintpos [] ={0、1、 2、20、21、22、40、41、42}; //アニメーションに使用できるLEDはどれですか?それらは左から右の順に呼び出されます。intnumLeds=9; //上の配列にはアニメーションピクセルがいくつありますか?intshadowPixel =59; ///ストランドの最後にあるメインのシャドウキャストLED.intlightHousePixel =23; //リアハウスのライトのピクセルintfirePixel =24; //フロントハウスの明滅する火の光のピクセル//////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// // #include#include #include #define PIN 6int v0 =0; // Blynkint v1 =0; int v2 =0; intフェードアップ=0;からの入力値を保持する変数//ライトアニメーションの変数smoothingintfadedown =0; int firetimer =0; ///火をフリッカーにする変数fireinterval =50; int flicker =0; unsigned long lightcounter =0; //アニメーションライトを永久にカウントするための変数intstp =0; ///アニメーション化のための軽いステップ。 1つは現在のライトがオンになり、もう1つは古いライトがオフになります。intstpOld=0; unsigned long timer =0; int interval =0; char auth [] ="YourAuthToken"; ///現在、認証トークンはBLEのBlynkでは使用されていません。将来オンになる場合は、Blynkアプリから認証トークンを取得して、 "" .BLEPeripheralblePeripheral;内に貼り付けることができます。 /// BLE接続を設定しますAdafruit_NeoPixelstrip =Adafruit_NeoPixel(60、PIN、NEO_GRB + NEO_KHZ800); ////ライトストリップを設定します。 LEDストリップのピクセル数が60ピクセルより多いか少ない場合は、最初の数値をストリップに一致するように変更します。voidsetup(){delay(1000);タイマー=ミリ秒(); strip.begin(); strip.show(); //すべてのピクセルを「オフ」に初期化しますblePeripheral.setLocalName( "ShadowTheatre"); blePeripheral.setDeviceName( "ShadowTheatre"); blePeripheral.setAppearance(384); Blynk.begin(auth、blePeripheral); blePeripheral.begin();間隔=350; //雪のアニメーションの350msの時間間隔} void loop(){Blynk.run(); //リアルタイム制御のためのBlynkのものblePeripheral.poll(); ////////シャドウピクセルをオンにし、Blynk strip.setPixelColor(shadowPixel、200-v2、160-v2、160-v2);で制御します。 //シャドウライトをオンにし、v2(Blynkアプリから送信)がライトを変更します。 // fire if((millis()-firetimer)> fireinterval){firetimer =millis();フリッカー=ランダム(0、40); //設定された時間間隔が経過したら、火の明るさを0から40の間でランダムに変更します。} if(v0> 1){strip.setPixelColor(firePixel、80 + v0 + flicker、v0 + flicker、0); //火=点滅のスライダーの明るさ+フリッカー値、赤に向かって重み付け} else {strip.setPixelColor(firePixel、0、0、0); // Blynkスライダーが> 0の場合にのみ火をオンにします。} // houselights if(v1> 1){strip.setPixelColor(lightHousePixel、200 --v1、v1、0); /// BlynkのHouselightsSliderが> 0の場合、後部の家の家の照明を制御します。それ以外の場合はオフにします。 } else {strip.setPixelColor(lightHousePixel、0、0、0); } //雪のアニメーションif((millis()-timer)> interval){//間隔が経過するたびに、1ステップ進み、フェードをリセットしますstpOld =stp;タイマー=ミリ秒(); lightcounter ++; stp =(lightcounter%numLeds); ///ゼロからnumLedsまで何度もカウント-1フェードアップ=0; //間隔がfadedown =170を通過するたびにフェード値をリセットします。 }フェードアップ+ =2;フェードアップ=constraint(fadeup、0、170);フェードダウン-=2;フェードダウン=constraint(fadedown、0、170); for(int i =0; i にご連絡ください。
回路図
これらを通常のプリンター用紙に印刷して、フォームコアを切断するためのガイドとして使用します。それらを上に置き、ホビーナイフでトレースして、パターンを転写することができます。8.5x11 "のカードストック紙(4枚)に印刷します。これらにより、家、側面、影のシルエットが作成されます。レーザーカッターまたはビニールカッターの場合、このパターンを使用してカードストックの断片を切り取ることができます。 30bn6Le68V1Lpp2spRMw.svg 製造プロセス