- Found at :
- learn.adafruit.com
- a.co www.aliexpress.com
IRSensor
リモコンで使われる赤外線の信号を検出します。
wired(obniz, {output [vcc, gnd]})
vccとgndを接続します。(vccとgndはオプショナルです。外に繋いでいる場合は無くても大丈夫です。)
outputはセンサーのoutputにつなぎます。
一般的なフィルター付き赤外線リモコン受信回路などはそのまま接続可能です。
以下は動くことが分かっている部品です。
- OSRB38C9AA
- TFMS5380 etc,,,
部品によってピンの順番が違いますので注意して下さい。
そして、プログラム上で刺した場所を指定します。
// Javascript Example
var sensor = obniz.wired('IRSensor', {vcc:0, gnd:1, output: 2});
start(callback(array))
モニターを開始ます。検出したら引数に渡した関数が呼ばれます。
// Javascript Example
var sensor = obniz.wired('IRSensor', {vcc:0, gnd:1, output: 2});
sensor.start(function (arr) {
console.log('detected!!')
console.log(JSON.stringify(arr));
})
結果であるarrには obniz.LogicAnalyzer
で得られのと同じ配列が入っています。
なので、こんなフォーマットです。
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0]
いくつかの検出オプションはstart()
で開始する前に設定することが出来ます。
どれもobniz.LogicAnalyzer
のオプションと共通ですので、詳しくはそちらをご覧ください。
設定可能なのは以下のとおりです。
property | type | default | description |
---|---|---|---|
dataSymbolLength | number |
0.07 (msec) | LogicAnalyzerのサンプリング間隔 |
duration | number |
500 (msec) | 取得データの長さ |
dataInverted | number |
true | 取得データの0,1を反転するかどうか |
cutTail | number |
false | 信号の最後の無駄な0を除去します。除去することでうまく通信できないこともあります。 |
output_pullup | number |
true | センサーの出力端子を5vで内部プルアップします。 |
どれもstart()
で開始する前に設定して下さい。
// Javascript Example
var sensor = obniz.wired('IRSensor', {vcc:0, gnd:1, output: 2});
sensor.duration = 150;
sensor.dataInverted = false;
sensor.start(function (arr) {
console.log('detected!!')
console.log(JSON.stringify(arr));
})
ondetect = function(array)
startした後にcallbackを設定/変更する場合はこの変数に関数を入れて下さい。
// Javascript Example
var sensor = obniz.wired('IRSensor', {vcc:0, gnd:1, output: 2});
sensor.start()
sensor.ondetect = function(arr) {
console.log('detected!!')
console.log(JSON.stringify(arr));
}
Supported from: obniz.js 3.5.0