基本情報

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

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

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

カードのプレビュー
Lチカサンプル (Raspberry Pi)
'16/7/8 2:5
LEDを点滅させるサンプルです。Raspberry Pi + GrovePi版。
arc@dmz

プライベートコンテンツ

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

ソースコード

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

/** * LED blinking app for Intel Edison * see http://f3js.org/projects/edit?id=182 for Raspberry Pi version */ // load GrovePi module var GrovePi = require('node-grovepi').GrovePi; if (typeof GrovePi.sensors.DigitalOutput === 'object') { // old npm module impl forgot "module.exports," resulting in an empty JS object. // fill the content by myself... // cf. https://github.com/DexterInd/GrovePi/commit/513c67e33e9f8fb99617067ea40d8e52da4e014f#diff-15b138624f4846fbbec7ff8dd7031505 GrovePi.sensors.DigitalOutput = function GenericDigitalOutputSensor(pin) { GrovePi.sensors.base.Digital.apply(this, Array.prototype.slice.call(arguments)); }; DigitalOutput.prototype = new GrovePi.sensors.base.Digital(); DigitalOutput.prototype.on = function() { this.board.pinMode(this.board.OUTPUT); var write = this.board.writeBytes( GrovePi.commands.dWrite.concat([this.pin, 1, GrovePi.commands.unused])); return !!write; }; DigitalOutput.prototype.off = function() { this.board.pinMode(this.board.OUTPUT); var write = this.board.writeBytes( GrovePi.commands.dWrite.concat([this.pin, 0, GrovePi.commands.unused])); return !!write; }; } // initialize connection to the GrovePi board. var board = new GrovePi.board({ debug: true , onError: function (err) { console.error(err); } , onInit: function (init) { if (!init) { // onError is called. return; } console.log('GrovePi version:', board.version()); led = new GrovePi.sensors.DigitalOutput(2); waiting = setInterval(blink, 1000); } }); // turn the LED on and off 10 times, pausing one second // between transitions var led = new GrovePi.sensors.DigitalOutput(2) , waiting, i = 0; function blink() { if (i ++ % 2 === 0) led.on(); else led.off(); if (i >= 20) onExit(); } // create a box to hold the LED var f3js = require('f3js') , width = 130 , height = 105 , thickness = 45 , c = f3js.createContainer() , rect = c.drawJointRectangle( 0, 0, width, height); rect.jointHeight = 2; var planes = rect.extrude(thickness); // set some offset c.x = 10; c.y = 10; // put an LED module c.add(led, width / 2, height / 2); // open a hole for the wire c.drawRectangle(width / 2 - 10, height / 2 + 20, 20, 10); // put side boards 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); // initialize the application console.log('ready'); process.on('SIGINT', onExit); board.init(); // clean up before the death function onExit(err) { if (i % 2 !== 0) led.off(); if (waiting) clearInterval(waiting); if (board) board.close(); process.removeAllListeners(); process.exit(); if (err) console.error(err); }
カスタマイズ

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

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

設計のダウンロード

モジュール

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

レイアウト
プログラム

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