編集履歴一覧に戻る
ryu0822のアイコン画像

ryu0822 が 2021年05月15日15時43分47秒 に編集

初版

タイトルの変更

+

バグ避け神社

タグの変更

+

obnizIoTコンテスト

+

obniz_board_1Y

+

バグ

メイン画像の変更

メイン画像が設定されました

記事種類の変更

+

製作品

本文の変更

+

**概要** ==== お賽銭を入れるとバグが消えます。(※効果には個人差があります) お賽銭が入った時に光センサが反応して自動ツイートしてくれます。 デモ動画 ==== @[twitter](https://twitter.com/Ryui_0822/status/1393436422862827522) @[twitter](https://twitter.com/Ryui_0822/status/1393422353825103875) **使用部品** ==== ・obniz Board 1Y ・ミニブレッドボード ・線 ・箱 (100円ショップ) ・抵抗 220Ω 330Ω ・赤LED ・光センサー ・バグ除去のお札(フロシキラボ様) ・人工芝 (100円ショップ) **回路図** ==== ![キャプションを入力できます](https://camo.elchika.com/5826eba89f79b3e4a65d543038e4d748c966adca/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f66623739393661652d313736642d346361342d613733342d3966666663353139383036302f31346565336337302d643531392d346330302d393838632d633535346361303866376163/) **ソースコード** ==== ```Javascript:バグ避け神社 'use strict'; const Obniz = require("obniz"); const obniz = new Obniz("0000-0000"); var isEnterd = false; var start = false; let count = 0; let now = new Date(); var Twitter = require('twitter'); var client = new Twitter({ consumer_key:'*****', consumer_secret: '*****', access_token_key: '*****', access_token_secret: '*****' }); obniz.onconnect = async () => { obniz.io0.output(true); //io0を5vに obniz.io2.output(false); //io2をGNDに obniz.io9.output(true); //LED obniz.io10.output(false); //LED obniz.ad1.start((voltage) => { //Voltageの値取るやつ 動作確認用 //console.log(`changed to ${voltage} v`); count++; if(voltage < 0.2 && count > 10) { if(!isEnterd){ console.log(`バグ避け神社にお賽銭が入れられました`); isEnterd = true; count = 0; client.post('statuses/update', {status: 'バグ避け神社にお賽銭が入りました\n' + now}, function(error, tweet, response){ if (!error) { console.log(tweet); } }); } isEnterd = false; } //初回起動時のVolutage不足対策 if(voltage < 0.2 && start == false && count < 2){ console.log('バグ避け神社が起動しました'); start = true; isEnterd = false; }; }); } ``` **感想** ==== 初めてobniz触ってカメラモジュール触ってもうまくいかなかったので方針転換して部室の貯金箱をIoT化しました。 初めてJavaScript触りましたが楽しかったです。 初めは振動や音で値を取って動かそうとしてましたが、人が揺らしても反応してしまうので光センサに落ち着きました。 ソースコードに関しては右往左往しながら書いてたのでもっと簡略化できると思います・・・。