模型レーシング用ラップカウンタ Rev.0
部品
マイコン obniz board(1Y)
競技車両検出
フォトリフレクタ LBR-127HLD
120Ωx1
1.5kΩ
シグナル
赤色LED x3
560Ωx3
今後の課題
1.実際の周回数と検出した周回数に差異が出る
原因:無線通信の遅延や中断,フォトリフレクタ検出信号の取得が間に合わない
対応:フォトリフレクタ検出信号を確実に取得記録するラップカウンターモジュール開発
obniz board(1Y)はラップカウンターモジュールからデータを取得する
ソースコード(ブロックプログラム)
$("#bploading").text("RUNNING...");
(async function(){
var obniz01, count, led011, ir011, led012, led013, label;
/**
- この関数の説明…
*/
async function f_def_obniz01_led() {
led011 = obniz01.wired("LED",{"anode":4, "cathode":7});
led012 = obniz01.wired("LED",{"anode":5, "cathode":7});
led013 = obniz01.wired("LED",{"anode":6, "cathode":7});
}
/**
- この関数の説明…
*/
async function f_obniz01_countdown() {
led011.on();
led012.on();
led013.on();
await _ai.playAudio(440,1 * 500);
await obniz01.wait(100);
await obniz01.wait(450);
led011.off();
await _ai.playAudio(440,1 * 500);
await obniz01.wait(100);
await obniz01.wait(450);
led012.off();
await _ai.playAudio(440,1 * 500);
await obniz01.wait(100);
await obniz01.wait(450);
led013.off();
await _ai.playAudio(1500,1 * 500);
await obniz01.wait(450);
led013.off();
}
/**
- この関数の説明…
*/
async function f_def_obniz01_detector() {
ir011 = obniz01.wired("LED",{"anode":0, "cathode":1});
}
obniz01 = new Obniz('2757-2457');
await obniz01.connectWait();
await f_def_obniz01_led();
await f_obniz01_countdown();
await f_def_obniz01_detector();
ir011.on();
count = 0;
for (var count2 = 0; count2 < 300; count2++) {
await ObnizUI.Util.wait(0);
if ((await obniz01.ad2.getWait()) < 4) {
count = (typeof count == 'number' ? count : 0) + 1;
}
}
label = new ObnizUI.Label('label');
label.setText(('周回数' + String(count)));
await _ai.say(('周回数' + String(count)));
ir011.off();
count;
})();
[動作]
投稿者の人気記事
-
neorobohon
さんが
2021/05/19
に
編集
をしました。
(メッセージ: 初版)
-
neorobohon
さんが
2021/05/19
に
編集
をしました。
-
neorobohon
さんが
2021/05/19
に
編集
をしました。
-
neorobohon
さんが
2021/05/19
に
編集
をしました。
-
neorobohon
さんが
2021/05/19
に
編集
をしました。
ログインしてコメントを投稿する