8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【備忘録】M5Stackでif(M5.BtnA.wasPressed())以下のプログラムが動かない時

Last updated at Posted at 2019-07-02

*M5Stack初心者向けの記事です。
M5Stackには3つの操作ボタンが付属しています。
Qiita.png

これらのボタンは左からA,B,Cと振り分けられているのですが、ボタンAを押した時に変化が起こるようなプログラムを書きたかったので以下のようなコードを書きました。

qiita.ino

void setup(){
}
void loop(){
/*諸々のプログラム*/

if(M5.BtnA.wasPressed()){
/*実行したい内容*/
}

}

このままでは動かなくて、他のサンプルコードを調べてみたら、loop関数内にどのコードもM5.update();が入っていて、これをプログラム内に挿入したらボタン入力にきちんと反応するようになりました。正しいコードは以下になります。

qiita.ino

void setup(){
}
void loop(){
/*諸々のプログラム*/

if(M5.BtnA.wasPressed()){
/*実行したい内容*/
}
M5.update();

}

M5.update()は、M5Stackのボタン操作の状況を読み込む関数なので、ボタン操作を行うコードを書く時には必須のようです。
ちなみにこちらの記事 https://scrapbox.io/sayamake/M5.update では、ボタン操作をした後に記載しますと書かれていますが、自分の場合はM5.BtnA.wasPressed()の前に記載しても問題なく動きました。

8
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
8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?