ホーム > カテゴリ > ロボット・電子工作・マイコン >

Deep-Sleepを使用して消費電力を「10uA」に抑える [ESP-WROOM-02]

ESP-WROOM-02の消費電力は最大で170mAぐらいですが、Deep Sleepモードにすると消費電力が「10uA」に抑える事が可能です。

一定時間毎にセンサーで何かしらの値を読み取って、WifiのWeb経由(HTTP)でその値を送信する際などに有効です。

ESP-WROOM-02が初めての方はESP-WROOM-02にArduinoのスケッチを書き込む [配線図/GPIO]をご覧ください。

配線図

実行用配線の「IO16」と「RST」をジャンパーワイヤーで接続します。

スケッチ(プログラム)

#include <ESP8266WiFi.h>

void setup() {
  Serial.begin(115200);
    
  Serial.println("");
  Serial.println("Start : Deep Sleep");
  // 10秒間、ディープスリープを実行する
  ESP.deepSleep(10 * 1000 * 1000 , WAKE_RF_DEFAULT);
  // ※このdelayがないと、発動しない場合があります。
  delay(1000);
}

void loop() {

}

※Deep-Sleepの待機後は、必ず再起動されてsetup()から開始する。

ESP.deepSleep(uint32_t, WakeMode)

引数内容
第一Deep-Sleepで待機する時間を指定する。(μ秒単位)
※最大待機時間は71.5分(4294967295/1000/1000/60)
第二WakeModeを指定する。(省略した場合はWAKE_RF_DEFAULT)

WAKE_RF_DEFAULT = RF_DEFAULTRF_CAL or not after deep-sleep wake up, depends on init data byte 108.
WAKE_RFCAL = RF_CALRF_CAL after deep-sleep wake up, there will be large current.
WAKE_NO_RFCAL = RF_NO_CALno RF_CAL after deep-sleep wake up, there will only be small current.
WAKE_RF_DISABLED = RF_DISABLEDdisable RF after deep-sleep wake up, just like modem sleep, there will be the smallest current.

実行例

※文字化けの部分は、ESP-WROOM-02固有(デフォルト)のゴミです。

以上です。





掲示板

ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。

関連記事



公開日:2017年04月24日 最終更新日:2017年05月05日
記事NO:02336