yoshitaka-kanten が 2021年05月15日00時42分44秒 に編集
初版
タイトルの変更
obniz Boardとタッチセンサーを使ったiot眼鏡
タグの変更
obnizBoard1Y
obnizIoTコンテスト
本文の変更
# 部品とツール ## 部品 | 部品名 | 個数 | |:---:|:---:| | obnizBoard1Y | 1 | |1MΩ抵抗| 1 | |ジャンパー線|2 |銅ワイヤー|20cm| |信号線|適当な長さ ## ツール windows10 半田ごて obnizOs A/DMoniter # 作ったもの ## 全体画像  ## 眼鏡の画像  ## タッチセンサー部分  ## 動作の様子 @[youtube](https://youtu.be/w8__D-jSpWk) # 制作プロセス ## 回路図    ## ソースコード ```html:タッチセンサー <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" /> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://unpkg.com/obniz@3.x/obniz.js" crossorigin="anonymous" ></script> </head> <body> <div id="obniz-debug"></div> <script> var obniz = new Obniz("OBNIZ_ID_HERE"); // called on online obniz.onconnect = async function() { // called while online. obniz.onloop = async function() { // Javascript Example // Javascript Example obniz.ad4.start(function(voltage){ if(voltage > 0.55){ console.log("ON"); } else { console.log("OFF"); } }); } // called on offline obniz.onclose = async function() { }; }; </script> </body> </html> ``` ## 作成手順 はじめに、arduino でタッチセンサーを作るのと同じ回路を作成した。(回路図をタッチセンサー1に記載) arduinoの方法はPINの電圧が上昇するのが人間のキャパシティを理由に遅延することを利用した方法だった。実際に実行すると電圧の遅延を検知することはできなかった。 理由はobnizの電流が非常に大きい事だと推測される。 電流が大きいと人間に電荷を蓄積させる時間が短縮するからだ。 次は回路2(タッチセンサー2に記載)の電圧を測定するのにobniz.incさんが作った開発ツール [A/DMoniter](https://obniz.com/ja/webapp/2)をデバイスにインストールして、AnalogでPIN4の電圧を監視した。 その結果PINに印可されている電圧は抵抗器1MΩで分圧された電圧だと確認した。従って抵抗器と電源とobnizの電圧測定器は直列で接続していると認識できる。 これを利用して回路3(回路図のタッチセンサー3に記載)を作成した。 回路3とソースコードを使用することでセンサーに接触したときの電圧の変化を読み取ることができた。 プログラムにはログに判定の結果を表示させるようにした。 # 動作原理 回路3には抵抗とキャパシタとobnizが書かれているが実際にはキャパシタは人間である。 抵抗とキャパシタに電流が流れてキャパシタに電荷がたまる電荷がたまりきると放電する。放電するとPINの電圧が上昇する。 この上昇を検知することで接触を判定した。