クリエイター手抜きプロジェクト[528]IoT IchigoLatte編 入力ポートを使う
── 古籏一浩 ──

投稿:  著者:



今回は、IchigoLatteにある入力ポートを使ってみます。
IchigoLatteには以下の入力ポートがあります。

IN1〜IN4のデジタル入力が4つ
BTN、IN2、OUT1〜4のアナログ入力が6つ

OUTなのに入力ポートなの? という人もいるでしょう。

IchigoLatteではOUT1〜4は出力ポートとしても、入力ポートとしても使えるのです。また、IN2はデジタル入力でもアナログ入力でも使える便利な入力ポートです。





IN1〜4はデジタル入力なので、値を読み出すと0か1のどちらかになります。BTN、IN2、OUT1〜4はアナログ入力で、値は0〜1023 (10ビット)の範囲になります。

それでは、まず簡単なところで、IN1の入力ポートの値を読み出してみましょう。と、その前に準備するものがあります。それはジャンパーピンです。

もし、ジャンパピンがなければ細い針金でもいいですし、書類を閉じるゼムクリップを伸ばして使っても構いません。

ジャンパーピンを用意したらIchigoLatteのIN1とGNDに接続します。GNDは3つありますが、近いところに差し込みましょう。

ジャンパーピンを差し込めば準備完了です。この場合、電源が入っていてもいなくても構いません。とりあえず、IN1とGNDを接続してください。

入力ポートの値を読み出すには、gpin()を使います。パラメーターには読み出す入力ポートの番号を指定します。

今回はIN1なので1を指定します。つまり、gpin(1)とすれば入力値を得ることができます。

それでは、IN1の入力ポートの値を無限に表示するプログラムを作成し、実行します。以下のプログラムを、入力して実行してください。

while(1){
var s=gpin(1);
log(s);
}

実行すると、画面に0がたくさん表示されます。0が表示されていればIN1とGNDは正しく接続されています。この状態で、IN1にささっているジャンパーピンを抜いてみてください。どうなるでしょうか?

今度は画面に1が表示されるはずです。今度はもう一度ジャンパーピンをIN1に差し込んでみてください。すると0が表示されます。抜き差しを繰り返す0と1が表示されます。

ちょっと工夫すると、誰かが引き出しやドアを開けたかどうか検知できます。まず、ジャンパーピンにひもや糸を繋げておいて、引っ張ったら抜けるようにしておきます。

次に、ジャンパーピンが抜けたらLEDが点灯するように、プログラムを書き換えます。IN1とGNDが繋がっている場合は、値が0になります。外れたら1になります。

単純にIN1の入力値をled()のパラメーターとして渡します。これで、ジャンパーピンが抜けたら、LEDが点灯するようになります。

while(1){
var s=gpin(1);
log(s);
led(s);
}

画面に入力値を表示させず、単純にジャンパーピンが抜かれたらLEDを点灯させるだけなら、以下の1行ですみます。

while(1){led(gpin(1));}

センサーを接続した場合、入力ポートの値を検知して処理を行なうことになります。

センサーはアマゾンでも購入できますが、ハンダ付けしないと駄目なことがあります。ハンダ付けをしたくない人は、FaBoという便利な基板(シールド)があります。これについては、また別の機会に説明したいと思います。


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


ようやくIchigoJam講座が終了。sakura.ioとうまく連動して、温度・湿度・気圧データ送れて万々歳……とならず、15人中3人ほどは最後までデータ送信できず。結局、原因分からないまま終了。

で、裏で他の人がプログラム転送したりしている間に、子供達の質問を受け付けて時間を潰すという状態に。それを一時間近くやっていたので、喉がかれました。

やはり先生の系統にはなれない……。どうして先生が静かに話すのかも、分かった気がする。エネルギー消費を最小限にしないと、たくさんの授業をこなせないのかなあ、と。

ということで来年は低消費電力モードで仕事します。それでは、皆さんよいお年を……の前によいクリスマスを〜


・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/