クリエイター手抜きプロジェクト[560]IoT IchigoLatte編 計測したデータをパソコンやEEPROMに転送する/古籏一浩

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



今回は、計測したデータをパソコンやEEPROMに転送してみます。パソコンにデータを転送する場合は、予めIchigoLatteと接続しておく必要があります。

パソコンに計測データを送る場合は、シリアル(UART)にデータを転送するuart()を使います。uart()のパラメーターに出力したいデータを指定します。

前回のプログラムは以下のようになっており、画面にセンサーの値を表示するだけでした。

while(1){
log(ana(2),"\n");
sleep(1000);
}

これを改良して、シリアルにもデータを出力するようにします。といっても、とても簡単です。uart(ana(2),"\n"))を付け加えればよいだけだからです。





while(1){
log(ana(2),"\n");
uart(ana(2),"\n");
sleep(1000);
}

これでもプログラムは動作しますが、場合によってはセンサーの値が異なってしまいます。そこで、以下のように変数に入れてから、変数の値を画面とシリアルに出力するようにします。

while(1){
var a=ana(2);
log(a,"\n");
uart(a,"\n");
sleep(1000);
}

このようにすれば、パソコン側でデータを保存することができます。

パソコンだけでなく、IchigoLatteに接続したEEPROMにも保存することもできます。ただし、EEPROMの場合はI2Cで接続されているため、uart()のように簡単に処理することはできません。

やや複雑なコードになりますが、以下のような関数を作っておくと便利です。この関数は、指定したEEPROMのアドレスに、2バイトのデータを書き込みます。なお、書き込み後にはウェイトが必要になります。

以下のプログラムでは50ミリ秒にしていますが、使用するEEPROMに応じて調整してください。正常に書き込めない場合は、値を大きくしてください。

function write(adrs,n){
var n1=n&0xff;
var n2=(n>>8)&0xff;
i2cw(0x50|(((adrs>>16)&1)<<2), (adrs&0xff00)>>8,adrs&0xff, n1,n2);
sleep(50);
}

この関数を組み込んで画面、パソコン、EEPROMにデータを書き込むプログラムは以下のようになります。なお、EEPROMすべての領域を使うのはよくないので、ここでは最大128個までのセンサー値を保存するようにしています。

function write(adrs,n){
var n1=n&0xff;
var n2=(n>>8)&0xff;
i2cw(0x50|(((adrs>>16)&1)<<2), (adrs&0xff00)>>8,adrs&0xff, n1,n2);
sleep(50);
}
var adrs=0;
while(1){
var a=ana(2);
log(a,"\n");
uart(a,"\n");
write(adrs,a);
adrs=(adrs+2)&0xff;
sleep(1000);
}

次回はEEPROMに保存した計測データを読み出し画面に表示してみましょう。


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

10/28放送の下町ロケット。軽トラに積んだ苗箱の数からして70〜80枚くらい。この量だと田んぼの広さは三反歩程度(うちは一反四畝で、全部植えると32〜34枚ほどなので)三反歩なら、田植機の横に苗箱を摘まないと途中で足りなくなってしまう。

あれ? と思ってよく見たら、やっぱり両側に苗が乗ってないf(^^;


反対側で受け渡して乗せるというのもあるけど、そういう具合ではなかった。原作では問題なくても、実際に撮影している側に経験者がいなかったのでしょうか。

この後、自動でトラクターとかがやってくれるらしい(クローズアップ現代+でやっていた)。自動化するのは問題ないけど、大規模専業農家しか機械買わないはず。中小の農家が買っても(兼業農家も)ペイしないから。

そんな機械買うくらいなら、スーパーで米を買った方がはるかに安い。というか、今の米価なら機械買うお金で一生分の米が買える感じ。結局、自動化で寡占化が進み面倒な里山はやらない流れかなあ、と。

さらに困るのは、こういう上っ面だけのところだけ、つまりいいところだけやって、他の整備は地元の人がやらないといけないハメになるというところじゃないかなあ(現時点でもそうなっている。農業法人はやらないし、お金も払わない)。

数年前から国も面倒になって、金やるから地元で(土地改良区で)やり給え〜になってるし。

農業関係は引き継いで初めて知ることも多いので、なかなか難しい……。

・創って学ぼうプログラミング
https://news.mynavi.jp/series/makeprogram

・みんなの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/