福野泰介の一日一創 - create every day

つなごうケニアと福井! IchigoJamで作ろう実用品「位置情報リアルタイム共有デバイス」

2018/09/10
#IchigoJam #IoT #fukui #sabaepc 

母校の福井市立明道中学校でのIchigoJamワークショップ後、PCNケニアメンバーと!

日曜日の鯖江市地域活性化プランコンテストの「マサイxサバエ」プラン。世界一目の良いマサイ族もスマホの影響で視力低下が進んでいるという。そんなマサイ族へ、鯖江発の目育(めいく)を広めようというプランを早速、PCNケニアのダニエルへ紹介。いっそケニアではメガネのことをサバエと呼んでもらいたい!

マサイxサバエプラン実現の一助になればと、IchigoJamのメガネスペシャル、MeganeJamをPCNケニアにも1つ進呈。中学校のかわいい後輩にも MeganeJam は人気!

IchigoJamで輝くイチゴ帽子。縦横に並べれば自在に文字をカラフルに伝える、電光掲示板だってできちゃいます。社長率ナンバーワンの福井、実家のお手伝いもできそうですね!

プログラミング上達のコツは楽しむこと。まずは楽しくゲームづくりでコツをつかんだら、自分の作りたいもので作れそうなものからどんどん挑戦しましょう!支援がほしいときは、Twitterで #IchigoJam を付けて、つぶやけばOK!PCN福大附属もすぐそばの明道中、学校超えた連携もいいですね。(かわくだりゲーム、負けたら座る一発勝負のミニゲーム大会)

こちらデモでもっていったセンサー満載でIoTできる IchigoSensors x IchigoSoda を使った、実用品。位置情報リアルタイム共有デバイス!明道中学校のすぐそば!マルツ二の宮店で買った単3x4本の電池のケースをつないで、BTNとGNDをジャンパーでつないでおけば、オリジナルデバイスのできあがり。

スライドスイッチONで起動。OFFで停止。使い方はシンプル!ちょっと大きめのスイッチを外付けするのもかっこいい。電池ケースとIchigoSodaとの接続は、L字ピンヘッダーにはんだづけすると抜けにくい。上の5V端子に6Vちょっとを入力し、下にGNDをつなぐ。キーボードをつながなければ、ちょっと高めな電圧をかけても、レギュレーター(降圧器)がなんとかしてくれるので大丈夫。

試しに10セット作った位置情報リアルタイム共有デバイス。

テストで動かすとGPS信号を使った正確な時刻で光るLEDの同期が美しい!(動画)

プログラム 1014byte
sakura.io省エネモード使用、IoTコマンド不使用、GPSは事前設定必要

'GPS location shareing device 10 VIDEO0:WAIT5400:GSB@ECO 20 GSB@GPS:D=[4]-[91]:E=[6]-[93]:IF(ABS(D)+ABS(E)%10000)>59GSB@SGPS 30 GOTO20 'send location data 200 @SGPS:FORI=0TO7:[87+I]=[I]:NEXT:LET[97],[0],[1],[2],[3]:GSB@ADD:LET[97],[4],[5],[6],[7]:GSB@ADD:GSB@FL:WAIT600:RTN 'get GPS data 300 @GPS:CLS:BPS9600:UART3,2 301 K=INKEY():IF!KCONT 304 IFK!=36GOTO300 305 K=INKEY():IF!KCONT 306 IFK!=71GOTO300 308 K=INKEY():IF!KCONT 309 IFK=42UART0,0:P=#900:GOTO700 310 ?CHR$(K);:GOTO308 500 N=0 510 C=ASC(P):P=P+1:IF!CORC=44ORC=46ORC=34C=C=46:RTN 520 IFC>=48&&C<=57N=N*10+C-48 530 GOTO510 540 N=0:IFASC(P)=44RTNELSEFORI=1TOM:N=N*10+ASC(P)-48:P=P+1:NEXT:RTN 700 GSB500:M=2:GSB540:[1]=N:GSB500:[2]=N:GSB500:GSB500:GSB500:[3]=N:IFCGSB500:[4]=N:ELSE[4]=0 712 GSB500:GSB500:[5]=N:IFCGSB500:[6]=N:ELSE[6]=0 713 GSB500:GSB500:[7]=N:GSB500:GSB500:GSB500:GSB540:[1]=[1]+N*100:GSB500:[0]=N:RTN 'sakura.io utils 810 @ADD:LET[95],2592,25089:C=0:FORI=0TO11:C=C^PEEK(#8BE+I):NEXT:[101]=C:?I2CR(79,#8BE,13,#8BE,3):RTN 820 @FL:LET[95],36,36:?I2CR(79,#8BE,3,#8BE,3):RTN 830 @ECO:POKE#8BE,#B0,1,1,#B0:?I2CR(79,#8BE,4,#8BE,3):RTN

緯度経度の差の合計が10万分の1度を超えたら位置情報を送信。最小送信間隔は200行のWAITで10秒と設定して通信量を制限していますが、お好みに合わせて設定ください。1万回で64円のさくらインターネットのsakura.io、いろいろ夢、広がりますねっ。

links
- 今や中学校のプログラミング部は大人気!どんどん作ってコンテストに応募しよう!近所の学校同士で交流もいいかも!? – about yrm

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像