基本情報

このページではIoTコンテンツ(Lチカサンプル)を「編集」できます。編集したコンテンツは、プロジェクトの一覧ページでは元のコンテンツを置き換えて表示されます。新しい項目として足したい場合は「 フォーク」してください。

※写真URLは.jpg, .jpeg, .pngのいずれかで終わるもの、またはGyazoへアップロードされたページのURL(https://gyazo.com/hogehogeなど)に対応しています。

※IoTコンテンツの説明、エントリポイントに関する情報 main: index.js およびf3jsモジュールへの依存情報 dependencies: { f3js: (略) } は、この欄の内容とマージされるため記入不要です。

カードのプレビュー
Lチカサンプル
'16/9/17 22:30
LEDを点滅させるサンプルです。
arc@dmz

プライベートコンテンツ

このコンテンツはすでに公開されているのでプライベートにできません。「 フォーク」ならプライベートにできます。

ソースコード

マイコン・小型コンピュータのプログラムのソースコードを記述してください。f3jsパッケージをrequireすることで筐体設計が可能です。詳しくはAPIドキュメントをご覧ください。

/** LED blinking app for Intel Edison */ var n = 4 // number of LEDs [1,4] , width = 130 , height = 105 , thickness = 45; // for building the enclosure layout var f3js = require('f3js') , c = f3js.createContainer() , rect = c.drawJointRectangle(0, 0, width, height) , line = c.drawLine(30, height/2 - 5, width - 30, height/2 - 5); // for blinking LEDs var groveDriver = require('jsupm_grove') , leds = []; // use this line as the guide path line.layout = { name: 'distribute', rotate: false }; for (var i = 0; i < n; i ++) { var led = new groveDriver.GroveLed(i+2); // put an LED module var ledc = c.add(led, line); // open a hole for the wire ledc.drawRectangle(- 10, 15, 20, 10); // start blinking the LED (details omitted) leds.push(led); setTimeout(function () { leds[i].handler = setInterval(blink(i), 1000); }, i * 100); } // make the specified LED blink (details omitted) function blink(i) { var id = i, on = false; return function () { leds[id][on?'off':'on'](); on = !on; }; } // extrude the main panel to form a box shape rect.jointHeight = 2; var planes = rect.extrude(thickness); // put side boards (details omitted) { // set some offset c.x = 10; c.y = 10; planes[0].x = 0; planes[0].y = height + rect.jointHeight; c.add(planes[0]); planes[1].x = width; planes[1].y = height + rect.jointHeight; c.add(planes[1]); planes[2].x = height; planes[2].y = height + thickness + rect.jointHeight; c.add(planes[2]); planes[3].x = 0; planes[3].y = height + thickness + rect.jointHeight; c.add(planes[3]); planes[4].x = width; planes[4].y = 0; c.add(planes[4]); // put a side hall planes[3].drawRectangle( 5, thickness - rect.jointHeight - 15, height - 10, 10); } // print message and register SIGINT handler (details omitted) { console.log('ready'); process.on('SIGINT', onExit); // clean up before the death function onExit() { for (var i = 0; i < n; i ++) { clearInterval(leds[i].handler); leds[i].off(); } } }
カスタマイズ

このコンテンツにはカスタマイズできる項目がありません。

表示オプション
ソースコード中で変数宣言にコメントをつけるとカスタマイズ項目としてGUIウィジェットが表示されます。グレーアウトしているウィジェットはユーザが提案した項目で、ソースコード末尾の変数宣言に対応しています。

設計のダウンロード

モジュール

このプロジェクトは組み立てにモジュールを必要としません。

レイアウト
プログラム

ログインしないと使えない機能です。