yoshitaka-kantenのアイコン画像
yoshitaka-kanten 2021年05月15日作成 (2021年05月15日更新)
製作品 製作品 閲覧数 594
yoshitaka-kanten 2021年05月15日作成 (2021年05月15日更新) 製作品 製作品 閲覧数 594

obniz Board1Yとタッチセンサーを使ったiot眼鏡

obniz Board1Yとタッチセンサーを使ったiot眼鏡

概要

人間の静電容量を利用したタッチセンサーは有名だが、obnizBoard1Yではなかったため、眼鏡という形で作成した。

部品とツール

部品

部品名 個数
obnizBoard1Y 1
1MΩ抵抗 1
ジャンパー線 2
銅ワイヤー 20cm
信号線 適当な長さ
usb type c 1
モバイルバッテリー 1
自分の眼鏡 1

ツール

windows10
半田ごて
obnizOs
A/DMoniter

作ったもの

使い方

眼鏡をかけるとページのコンソールにonと表示させるように作成した。
かけていないときはoffと出力されている。

全体画像

キャプションを入力できます

眼鏡の画像

キャプションを入力できます

タッチセンサー部分

キャプションを入力できます

動作の様子

ここに動画が表示されます

制作プロセス

回路図

タッチセンサー1
タッチセンサー2
タッチセンサー3

ソースコード

タッチセンサー

<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>

作成方法

  1. 信号線を二本準備する
  2. 二本の信号線を抵抗1MΩで接続する。
  3. 銅ワイヤー半分に切る、新しく信号線を準備して、画像のように接続した。
    キャプションを入力できます
  4. 抵抗につなげた信号線と銅ワイヤーをつなげた信号線を画像のように、抵抗と信号線の接続点に銅ワイヤーとつなげた信号線の銅ワイヤーをつなげてない方をつなげる。
    キャプションを入力できます
  5. 抵抗につなげた信号線の抵抗と接続していない方にジャンパー線を接続する
  6. 眼鏡に銅ワイヤーをくくりつける
  7. 眼鏡に合わせて銅ワイヤーをカットして顔に触れるように曲げる
  8. 銅ワイヤーの顔に触れる部分の被膜を剥がす
  9. obniz osでソースコードのタッチセンサーを実行する
  10. ジャンパー線の一方をobnizのpin4にもう一方を5v出力pinに接続する。
  11. 完成

開発までの道のり

はじめに、arduino でタッチセンサーを作るのと同じ回路を作成した。(回路図をタッチセンサー1に記載)
arduinoの方法はPINの電圧が上昇するのが人間のキャパシティを理由に遅延することを利用した方法だった。実際に実行すると電圧の遅延を検知することはできなかった。
理由はobnizの電流が非常に大きい事だと推測される。
電流が大きいと人間に電荷を蓄積させる時間が短縮するからだ。
次は回路2(タッチセンサー2に記載)の電圧を測定するのにobniz.incさんが作った開発ツール A/DMoniterをデバイスにインストールして、AnalogでPIN4の電圧を監視した。
その結果PINに印可されている電圧は抵抗器1MΩで分圧された電圧だと確認した。従って抵抗器と電源とobnizの電圧測定器は直列で接続していると認識できる。
これを利用して回路3(回路図のタッチセンサー3に記載)を作成した。
回路3とソースコードを使用することでセンサーに接触したときの電圧の変化を読み取ることができた。
プログラムにはログに判定の結果を表示させるようにした。

動作原理

回路3には抵抗とキャパシタとobnizが書かれているが実際にはキャパシタは人間である。
抵抗とキャパシタに電流が流れてキャパシタに電荷がたまる電荷がたまりきると放電する。放電するとPINの電圧が上昇する。
この上昇を検知することで接触を判定した。

ログインしてコメントを投稿する