寒冷地で一人単身赴任生活を経験した経験をもとに、こんなのがあったら助かるなーと思い製作してみました。
・残業が多くて夜遅く、赴任宅(アパート)に帰ることがあり。暗く、冷え冷えした部屋は寂しく限り、
こんな時に、会社を出るときに部屋の電灯をつけ、エアコンを作動したらなんといいものかと思っていました。
・アパートのエアコンや電灯は古く、どんな家電でも対応するようにしました。
デモ動画
システム概要
- 前提条件:赴任先アパートの機器を改造したりせずに、ローテクで設置可能なこと
- 対象の家電:冷暖房装置(リモコン有・無し)、電灯(白熱電球、リモコン式)等
- 操作方法:スマホからリモート操作で家電をON/OFF
- 拡張性:ポートの関係から5台まで増設可
構成図
製作過程
- リモコンボタンを押す機構
- ソレノイドを使う。
課題:ボタンを押すパワーがない。
結果:(5V-1A)ではN.G 。 - ギア付きのサーボモータを使う。
課題:回転動作なので、ボタンにまっすぐに力が加わりにくい。
対策:回転を直線に変えるリンク機構を使った。
ジャンクにあったものを使用した。
動画
部品
番号 部品名 型式 数量
1 obniz obniz Board 1Y 1
2 SSR G3NA-210B 1
3 servo motor MG-996R 1
4 リンク機構 ジャンク品 1
ソースコード
<html lang="ja">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
crossorigin="anonymous"
></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
crossorigin="anonymous"
></script>
<link
rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css"
/>
</head>
<body>
<h3 id="bploading" style="text-align:center;">ロード中...</h3>
<div id="OBNIZ_OUTPUT"></div>
<br />
<script
src="https://unpkg.com/obniz@latest/obniz.js"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/obniz-parts-kits@0.15.2/iothome/index.js"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/obniz-parts-kits@0.15.2/airobot/index.js"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/obniz-parts-kits@0.15.2/ui/index.js"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/obniz-parts-kits@0.15.2/ai/howler2.1.2/howler.js"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/obniz-parts-kits@0.15.2/ai/opencv3.4/opencv.js"
crossorigin="anonymous"
></script>
<script
src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.13.5"
crossorigin="anonymous"
></script>
<script
src="https://cdn.jsdelivr.net/npm/@tensorflow-models/mobilenet@0.2.2"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/obniz-parts-kits@0.15.2/ai/clmtrackr/clmtrackr.js"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/obniz-parts-kits@0.15.2/ai/clmtrackr/emotion_classifier.js"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/obniz-parts-kits@0.15.2/ai/clmtrackr/emotionmodel.js"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/obniz-parts-kits@0.15.2/ai/clmtrackr/model_pca_20_svm.js"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/obniz-parts-kits@0.15.2/ai/index.js"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/obniz-parts-kits@0.15.2/storage/index.js"
crossorigin="anonymous"
></script>
<script>
$("#bploading").text("実行中");
(async function(){
var obniz, servomotor, led, button_upperleft, button_upperright, button_lowerleft;
obniz = new Obniz('OBNIZ_ID_HERE');
await obniz.connectWait();
servomotor = obniz.wired("ServoMotor",{"signal":2, "vcc":1, "gnd":0});
led = obniz.wired("LED",{"anode":3, "cathode":4});
button_upperleft = new ObnizUI.Button('room light on');
button_upperright = new ObnizUI.Button('room light off');
button_lowerleft = new ObnizUI.Button('aircon');
while (true) {
await ObnizUI.Util.wait(0);
if (button_lowerleft.isTouching()) {
servomotor.angle(30);
await ObnizUI.Util.wait(2000);
servomotor.angle(1);
} else if (button_upperleft.isTouching()) {
led.on();
} else if (button_upperright.isTouching()) {
led.off();
}
}
})();
</script>
</body>
</html>
2
-
komeda
さんが
2021/04/12
に
編集
をしました。
(メッセージ: 初版)
Opening
3duilab
2021/04/23
komeda
2021/04/24
ログインしてコメントを投稿する「遠隔操作でリモコンボタンを押す」は応用範囲が広く実用的です。とてもいいアイデアだと思います。
うれしいです。ありがとうございます。