クリエイター手抜きプロジェクト[521]IoT IchigoLatte編 プログラムの自動起動と停止/古籏一浩

投稿:  著者:  読了時間:6分(本文:約2,600文字)



今回は、IchigoLatteの電源を入れたら、自動的にプログラムが実行されるようにします。

この場合、あらかじめプログラムを作成しておかないと実行されません。そこで、無限にLED点滅を繰り返すプログラムを入力しておきましょう。

while(1){
led(1);
sleep(500);
led(0);
sleep(500);
}

プログラムを入力したら実行し、動作を確認します。プログラムを止めるにはescキーを押します。プログラムが問題なく動作したら、自動起動させてみましょう。





IchigoLatteで電源オンと同時にプログラムを実行するには、基板上のGNDとBTNを線でつなぐだけです。線はジャンパーケーブルで以下のようなものです。
(オス-オス)

・ジャンパーケーブル
https://www.amazon.co.jp/dp/B01CNO88WW/

ジャンパーケーブルを用意したら、IchigoLatteの電源をオフにします。GNDとBTNをジャンパーケーブルで接続します。GNDは3か所ありますが、どこのGNDに接続しても構いません。

接続したら、後は電源を入れるだけです。電源オンと同時にプログラムが実行され、LEDが点滅します。

プログラムを停止させるには、escキーを押します。また、自動起動させたくない場合は、GNDとBTNを繋いでいるジャンパーケーブルを外すだけです。とても簡単です。

パソコンだといろいろファイルを書き換えたり、設定しないといけませんが、IchigoLatteは線を繋ぐだけで、自動起動できるので大変手軽です。

停電しても自動起動するようにしておけば、プログラムは動きます。モーターなど駆動部分がないので、壊れる心配もありません。

次に、キーが押されたらプログラムが停止するように変更してみましょう。キーが押されたかどうかを判断するにはifを使います。

また、キー入力値はinkey()メソッドを使って調べることができます。何もキーが押されていない場合、inkey()は0の値を返します。

また、プログラムを終了させるにはexit()メソッドを使います。

exit()メソッドが実行されると、その時点でプログラムは終了しシェルに戻ります。キーが押されたら終了させるプログラムは以下のようになります。

if(inkey()>0){exit();}

無限にLED点滅を繰り返すプログラムに組み込むと以下のようになります。

while(1){
led(1);
sleep(500);
led(0);
sleep(500);
if(inkey()>0){exit();}
}

プログラムを実行したら、何かキーを押してください(ファンクションキーなど特殊なキーは駄目です)。プログラムが終了し、シェルに戻ります。

ただ、LEDが消えた後に入力されたキーを調べているため、反応がよくありません。これを解消する方法については、次回説明します。

また、キーではなくIchigoLatteの基板上にあるボタンが押されたら終了させることもできます。

この場合、inkey()メソッドのかわりに、btn()メソッドに変更するだけです。

ただ、IchigoLatteのボタンはシリアル入力切り替えスイッチにもなっているため、プログラム終了後に、以下のような文字が表示されてしまうことがあります。

lash>
stdin/out: uart, uart

このように表示されてしまったら、もう一度軽く基板上のボタンを押してください。元の状態に戻ります。

lash>
stdin/out: uart, uart
lash>■


【古籏一浩】openspc@alpha.ocn.ne.jp
http://www.openspc2.org/

平成の女子高生が戦国時代にタイムスリップ、というドラマをNHKが放送中。(原作は漫画)。その名もアシガール(足軽) 戦国自衛隊とか派手目なことはなく、まあ地味に楽しんでください、みたいな感じのドラマ。

足が速いだけの女子高生だけど、足が速いだけであんまり役に立たない。実際、平成の女子高生がタイムスリップしてもたいして役には立たないよなあ、と。

で、ふと思ったのが、プログラマが戦国時代にタイムスリップしたらどうなのかなあ、と。でも、すぐに殺されて終わりそうな気がする……。

・アシガール
http://www.nhk.or.jp/jidaigeki/ashigirl/

・InDesign CS6 JavaScript Reference
http://www.openspc2.org/reibun/InDesignCS6/ref/

・Photoshop CS6 JavaScript Reference
http://www.openspc2.org/reibun/PhotoshopCS6/ref/

・Illustrator CS6 JavaScript Reference
http://www.openspc2.org/reibun/IllustratorCS6/ref/

・みんなのIchigoLatte入門 JavaScriptで楽しむゲーム作りと電子工作
https://www.amazon.co.jp/dp/4865940936
[正誤表]
http://www.openspc2.org/book/error/ichigoLatte/

・After Effects自動化サンプルプログラム 上巻、下巻
https://www.amazon.co.jp/dp/4844397591
https://www.amazon.co.jp/dp/4844397605

・IchigoLatteでIoT体験
https://www.amazon.co.jp/dp/B06X3X1CHP
http://digiconcart.com/dccartstore/cart/info/2561/218591

・みんなのIchigoJam入門 BASICで楽しむゲーム作りと電子工作
http://www.amazon.co.jp/dp/4865940332/

・Photoshop自動化基本編
http://www.amazon.co.jp/dp/B00W952JQW/

・Illustrator自動化基本編
http://www.amazon.co.jp/dp/B00R5MZ1PA/

・4K/ハイビジョン映像素材集
http://www.openspc2.org/HDTV/

・クリエイター手抜きプロジェクト
http://www.openspc2.org/projectX/