LoginSignup
1
2

More than 1 year has passed since last update.

M5 ATOM LiteでRaspberry Piを間欠動作させる(暫定版)

Last updated at Posted at 2021-05-28

暫定処置

モバイルバッテリーが休止から復帰できない問題に対応するための暫定処置として100円ショップで売ってるUSB-LEDライトを使うことにしました( ̄▽ ̄)
これで間欠動作の動作確認ができましたので暫定版として公開します。
最終的にはUSBダミー負荷をつかってスリープ状態でもっと消費電力を抑えたいですね。

それからこの記事で肝心要の部品であるOnOffSHIMですがスイッチサイエンスさんでは品切れ(2021/5/30現在)ってことですぐに試したい方はマルツオンラインさんがDigi-Keyから取り寄せてくれます。
https://www.marutsu.co.jp/pc/i/26917993/
ボクもこちらで購入して5日程度で届きました。

はじめに

とある用途でRaspberry Piをモバイルバッテリーで動かすことになりました。
(別記事で公開しました。SORACOMとラズパイで郵便受けの中身を確認できるようにする)
できるだけバッテリーを保たせたいので間欠動作させたい。
調べてみると↓このあたりの製品を使えば手軽に実装できそうなんですが…
ラズベリーパイ用電源管理/死活監視モジュール「slee-Pi」
個人で買うには15,000円はちょっと高いですね(^_^;)

仕事なら間違いなくこれ使うんですが…今回はできるだけ費用を抑えるためにバッテリー制御が可能なボードを使ってみました。
スイッチサイエンスさんを徘徊してたら良さそうなのがありました( ̄ー ̄)
https://www.switch-science.com/catalog/3295/
1,100円でボタンによるON/OFFが可能なようです。

つかうもの

品名 おおよその価格 備考 スイッチサイエンスURL
Raspberry Pi Zero 1,800円 今回はZeroを使いましたがもちろん普通のRaspberry PiでもOKです https://ssci.to/3646
OnOffSHIM 1,100円 ボタンスイッチでRaspberry Piの電源操作ができます https://ssci.to/3295
M5 ATOM Lite 1,300円 ESP32搭載でRTCもついてるので間欠動作のコントロールをさせます https://ssci.to/6262
M5Stack用ミニリレーユニット 400円 ATOM Liteにつないでボタンスイッチの操作をさせます https://ssci.to/4054

OnOff SHIM

ひとまず購入しましたが1点問題が…はんだ付けが必要なんだですが20年以上ハンダゴテさわったことがないし過去のはんだ付けも数える程度しかやったことがない…とにかくチャレンジ!!

最初のピンにハンダ付けしたらラズパイのGPIOピンに軽くのっけて固定すると楽にハンダ付けできます。
OnOffSHIM1.jpg
あとはがんばってハンダ付けしていく
結果↓こんな感じでした(ちょーへたくそ))
OnOffSHIM3.jpg

ここでRaspberry Pi Zero に刺そうとして…ん? ぎゃーーー!! 表裏まちがえてつけちゃった orz
OnOffSHIM4.jpg
みなさんはお気をつけくださいね(こんな間違いする人いないと思うけど…)

ま、こんなこともあろうかと…OnOff SHIMは2枚購入していたので再度ハンダ付け…トホホ
無事にRaspberry Pi Zero にOnOff SHIMを装着して制御するプログラムをインストールします。

% curl https://get.pimoroni.com/onoffshim | bash

これで角にあるボタンスイッチを押すと電源ON/シャットダウンが可能になります。

間欠動作

OnOffSHIMには外付けのボタンスイッチがつけられるようになっているのでこちらを使って間欠動作させます。
まずはOnOffSHIMの外付けボタン用端子に電線を巻きつけます。
OnOffSHIM5.jpg
ハンダ付けしてもよかったのですが再利用するかもしれないのでしっかり巻きつけてショートしないように余分な銅線をカットしました。
これで赤線と黒線の端子同士をショートさせると無事にRaspberry Piの電源ON・シャットダウンされます。

次にATOM Lite - ミニリレーユニットに接続します。
OnOffSHIM6.jpg
今回はリレーに電流を流したときだけクローズしたいのでNO(ノーマルオープン)の真ん中の端子を使います。

ATOM Liteに1時間毎にリレーをON/OFFするプログラムを書き込みます。
Platform.ioで動かせるコードはこちらで公開しています。
https://github.com/daikunjp/m5atom-relay
ボクはPlatform.ioを使いましたがArduino IDEでも同じプログラムで動くのではないかと思います。

main.cpp
#include <M5Atom.h>

#define SWITCH 26
#define SLEEPTIME 3600000000 /* 1000000マイクロ秒 × 3600 */

void setup() {
  M5.begin(true, false, true);
  pinMode(SWITCH, OUTPUT);
  // 一回LOWにしとかないとうまく起動してくれない
  digitalWrite(SWITCH, LOW);
  Serial.print("switch low ");
  delay(1000);
  // 3秒くらいONにしないと起動しないときがある
  digitalWrite(SWITCH, HIGH);
  Serial.print("switch high");
  delay(3000);
  digitalWrite(SWITCH, LOW);
  Serial.print("switch low");
  esp_deep_sleep(SLEEPTIME);
}

void loop() {
}

あとはRaspberry Piの/etc/rc.localに必要な処理とシャットダウンをおこなうスクリプトを書けばOKです。

これでしばらく動かしてみましたがだいたい1時間毎に起動しているようです。

追記

USB-ACアダプタではうまく間欠動作できていたのですがモバイルバッテリーではモバイルバッテリー側が通電状態に復帰できない(/_;)
このあたりを使うとうまくいきそうなのですが…売り切れ
https://www.switch-science.com/catalog/3829/

2021/05/30暫定処置

とにかくモバイルバッテリーが休止状態にならなければいいので100円ショップでUSB-LEDライトを買ってきてモバイルバッテリーにつなぎました。
これで1時間毎に間欠動作していることは確認できました。
USB-LEDライトの消費電力は間欠動作できないので微妙ですが…つくろうとしていたものはカメラ撮影を伴うものなので明るく写せて結果オーライでした(^_^;)
OnOffSHIM7.jpg

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2