
昨日初めて触ったAtomLite。
ボタンを押すたびに色が変わるLEDをプログラミングしようとしたのですが、どうもうまく行きません。最初に作ったプログラムがこれ。

どう動かないかというと、ボタンを押すたびに色がランダムになってしまうのです。
まるでルーレットみたい。どうやら、ボタンを押している間に目まぐるしく色が移行し、離したしたところで止まっているらしい。
そこで、一秒間停止を入れてみたんですが、状況が好転しません。
というか、そのうち、変更したプログラムを受け付けなくなり、最初に作ったプログラムを実行し続けているような気がしてきました。
そこでM5Burnerを起動し、確認してみるとやはりモードが勝手にAppModeに切り替わっていました。(なんてこった!)
何かショートカットでもあるのでしょうか?手軽に切り替えられる方法があったら教えてほしいです。
M5BurnerとUIFlowはポートを同時に使えないらしく、(当たり前か?)いちいちUIFlowを終了してからじゃないとM5Burnerからアクセスできないのです。不便!

気を取り直して、変数を使ったプログラムに変更することにしました。
ボタンが押されるたびに変数Aを1ずつ増やすことにし、メインのループでその時のAの値に合わせて色を変えるようにしてみました。

ダサい!我ながらモサい。
これはかっこ悪いプログラムだなぁと我ながらに思うのではありますが(笑)
一応ねらったことはできました。