質問内容
上記の通り、ioピン2つと1MΩの抵抗、そしてアルミホイルを用いて簡易的なタッチセンサを作りたいのです。
「参考にしたページ」の内容を読むと、どうやら入力ピンがHIGHになるまでの時間をカウントしているということがわかったりました。
そこで、以下のように配線してアルミホイルを触ると本当に電圧が変化するのか、アナログとデジタルで値を読むプログラムを書いてみました。
すると、(5v出力ピン, 読み取り用入力ピン)をobnizの(0,2)に割り当てているときはアナログが2.6v前後でデジタルがtrueになっているのですが、違うピンに変えるとこの値が変わってしまい、例えば(9,11)に割り当てると0.26v前後でfalseになってしまいます。
また、長く触れていてもLOWになったピンではだんだんHIGHになることはなく、値はずっとほぼ一定だったので、タッチセンサとして機能していません。
私の認識や配線、プログラム等何か間違っているのでしょうか。あるいはobnizだとタッチセンサを作るのは厳しいのでしょうか。
ご教授頂けると幸いです。
配線
(obniz : 部品)
5v供給 : 1MΩの一端
読み取りピン : 1MΩのもう一端・アルミホイル
プログラム
(試しに0ピンと2ピンでやってみたものです。)
node.js
1const fs = require('fs'), 2 Obniz = require('obniz'); 3 4let obniz = new Obniz('OBNIZ_ID'); 5 6obniz.onconnect = async () => { 7 await obniz.io5.output(true); 8 9 obniz.repeat(async () => { 10 let val = await obniz.io7.inputWait(); 11 let vol = await obniz.ad7.getWait(); 12 await console.log("val: "+ val); 13 await console.log("vol: "+vol); 14 await console.log("-------"); 15 }, 100); 16 17}
参考にしたページ
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。