Open5
足伸ばしトレ
まずは距離を測る
const Obniz = require('obniz');
const obniz = new Obniz('Obniz_ID'); // Obniz_IDに自分のIDを入れます
obniz.onconnect = async () => {
const hcsr04 = obniz.wired('HC-SR04', {gnd:0, echo:1, trigger:2, vcc:3})
hcsr04.temp = 27
while(true) {
const val = await hcsr04.measureWait()
console.log(val)
}
}
回数カウントは沖中さんのものを参考に
参考あけちゃダメの箱
const Obniz = require('obniz');
const obniz = new Obniz('Obniz_ID'); // Obniz_IDに自分のIDを入れます
obniz.onconnect = async function () {
// 超音波測距センサを利用する
const hcsr04 = obniz.wired('HC-SR04', { gnd: 0, echo: 1, trigger: 2, vcc: 3 });
// RGB LEDを利用
const rgbled = obniz.wired('WS2811', { gnd: 5, vcc: 6, din: 7 });
// MP3プレーヤーを利用
const mp3 = obniz.wired("Grove_MP3", { gnd: 8, vcc: 9, mp3_rx: 10, mp3_tx: 11 });
await mp3.initWait();
mp3.setVolume(30);
// setIntervalで一定間隔で処理
setInterval(async function () {
// 距離を取得
let distance = await hcsr04.measureWait();
// そのままだと小数点以下の桁数がやたら多いので整数に丸めてもよい
//distance = Math.floor(distance);
// 距離が10cm以上かどうかの判定
if (distance > 100) { // 100mm = 10cm 以上の場合
///光る
rgbled.rgb(255, 0, 0);
//MP3フォルダ内の「0001」から始まるMP3ファイルを再生
mp3.play(1);
}else {
rgbled.rgb(0, 0, 0);
mp3.stop();
}
}, 4000); // 4000ミリ秒 = 4秒おきに実行
}
回数数えて話すコード
const Obniz = require('obniz');
const obniz = new Obniz('Obniz_ID'); // Obniz_IDに自分のIDを入れます
obniz.onconnect = async function () {
// 超音波測距センサを利用する
const hcsr04 = obniz.wired('HC-SR04', { gnd: 0, echo: 1, trigger: 2, vcc: 3 });
// MP3プレーヤーを利用
const mp3 = obniz.wired("Grove_MP3", { gnd: 8, vcc: 9, mp3_rx: 10, mp3_tx: 11 });
await mp3.initWait();
mp3.setVolume(30);
let cnt = 0;
// setIntervalで一定間隔で処理
setInterval(async function () {
// 距離を取得
let distance = await hcsr04.measureWait();
// そのままだと小数点以下の桁数がやたら多いので整数に丸めてもよい
//distance = Math.floor(distance);
// 距離が5cm以下かどうかの判定
if (distance < 50) { // 50mm = 5cm 以下の場合
console.log(cnt)
cnt++
console.log(cnt)
if(cnt===1){
//MP3フォルダ内の「0001」から始まるMP3ファイルを再生
mp3.play(1);
}else {
mp3.stop();
}
}
}, 1000); // 1000ミリ秒 = 1秒おきに実行
}
1回、5回、10回、15回、20回で声が出るコード
const Obniz = require('obniz');
const obniz = new Obniz('Obniz_ID'); // Obniz_IDに自分のIDを入れます
obniz.onconnect = async function () {
// 超音波測距センサを利用する
const hcsr04 = obniz.wired('HC-SR04', { gnd: 0, echo: 1, trigger: 2, vcc: 3 });
// MP3プレーヤーを利用
const mp3 = obniz.wired("Grove_MP3", { gnd: 8, vcc: 9, mp3_rx: 10, mp3_tx: 11 });
await mp3.initWait();
mp3.setVolume(30);
let cnt = 0;
// setIntervalで一定間隔で処理
setInterval(async function () {
// 距離を取得
let distance = await hcsr04.measureWait();
// そのままだと小数点以下の桁数がやたら多いので整数に丸めてもよい
//distance = Math.floor(distance);
// 距離が5cm以下かどうかの判定
if (distance < 50) { // 50mm = 5cm 以下の場合
console.log(cnt)
cnt++
console.log(cnt)
if(cnt===1){
//MP3フォルダ内の「0001」から始まるMP3ファイルを再生
mp3.play(1);
console.log("カウント1")
}else {
}
if(cnt===5){
//MP3フォルダ内の「0002」から始まるMP3ファイルを再生
mp3.play(2);
console.log("カウント5")
}else {
}
if(cnt===10){
//MP3フォルダ内の「0003」から始まるMP3ファイルを再生
mp3.play(3);
console.log("カウント10")
}else {
}
if(cnt===15){
//MP3フォルダ内の「0004」から始まるMP3ファイルを再生
mp3.play(4);
console.log("カウント15")
}else {
}
if(cnt===20){
//MP3フォルダ内の「0005」から始まるMP3ファイルを再生
mp3.play(5);
console.log("カウント20")
}else {
}
}
}, 1000); // 1000ミリ秒 = 1秒おきに実行
}