以前、WebServer版のSwitchBotの様な物を作成し、ファンヒーターの電源ONと延長設定を行いましたがある程度時間が経過するとServerDownが発生し使い物になりませんでした。
Blynk LocalServer を作成し稼働しているので、SwitchBotの様な物をBlynkで操作出来るようにし ファンヒーターに取り付けたいと思います。
主な使用パーツ
WemosD1 Mini :ESP-Wroom02 が届くまでWemosD1miniで試験します。
サーボ:MG90Sパチ物ですが使えます
昇圧モジュール:3.7V を 5V に昇圧するのに使います
リチウムイオン電池:18350×2本並列接続で使います
回路図
回路図の電池は18350の並列接続です、電源表示用LEDは直径3mmを使用しています。
サーボ:回路図ではSG90Sになっていますが使用した物はMG90Sです。
スケッチ
サーボは保持したままだと電池消費が激しいので操作後にサーボを無効にしています。
/************************************************************* スイッチボットのようなものを作成Blynkで操作し ファンヒーターの電源投入 延長設定 をしてみる。 Blynk Local_Server & ESP8266 *************************************************************/ #define BLYNK_AUTH_TOKEN "Your TOKEN" #define BLYNK_PRINT Serial #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <Servo.h> // WiFi設定 char ssid[] = "YourSSID"; char pass[] = "YourPASS"; //サーボ設定 Servo servo; int power = 120; //電源投入 要調整 int angle = 75; //水平位置 要調整 int extension = 35; //延長設定 要調整 //V3ボタンは電源ON/OFFを行う BLYNK_WRITE(V3) { if (param.asInt()) { servo.attach(4, 500, 2400); servo.write(power); delay(500); servo.write(angle); delay(1000); servo.detach(); } } //V4ボタンは延長の設定 BLYNK_WRITE(V4) { if (param.asInt()) { servo.attach(4, 500, 2400); servo.write(extension); delay(500); servo.write(angle); delay(1000); servo.detach(); } } void setup() { Serial.begin(115200); Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, IPAddress(192,168,0,100), 8080); //Blynk LocalServerのIPアドレスを設定 servo.attach(4, 500, 2400); //サーボの接続GPIO 4 servo.write(angle); //サーボを水平にする delay(500); servo.detach(); //電池消費を少なくするためサーボを無効にする } void loop() { Blynk.run(); }
ケース作成
ケースは3Dプリンターで作成しました、大きさは 70×60×40 mm 電池の大きさがネックですね、リチウムポリマー電池を使用すると小型化できそうです。
ファンヒーターに取り付けた画像
Blynk側スマフォの画像