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

はじめての統計プログラミング with IchigoJam / 神々の里、高千穂エディション神よけゲームで遊び学ぶ統計動画レポート

2018/08/18
#IchigoJam #miyazaki #doc #movie 

総務省統計局企画の全国プログラミングツアー、地方第一弾は宮崎県!
小5-6の29人のこどもたちに、たっぷり3時間、エルチカ、ゲームづくり、統計&IoTプログラミングを体験してもらいました。

かみよけゲーム(かわくだりゲームの高千穂エディション)で上がる驚きの声、負けたら座るゲーム大会、スコアの平均と度数分布を表示する統計プログラミングまでの動画


なんと担当は、ひなたGISの開発者、宮崎県庁落合さん!


こちら本日のプレゼン資料「はじめての統計プログラミング with IchigoJam (keynote)」
はじめての統計プログラミング手元資料、IchigoJam BASIC リファレンス付き!)


やってきました宮崎県、穆佐(むかさ)地区にある廃校を再び学ぶ場へ、MUKASA-HUB


落合さんもプログラミングが大好き!と主催者挨拶


すべてのこどもたちへプログラミングを! PCN(プログラミング クラブ ネットワーク)@宮崎!


自分の言った通りに動くコンピューターに、こぼれる笑顔!


今日のテーマはこちら、神々の里「高千穂(たかちほ)」


いつもはネコの主人公、今回高千穂スペシャルなので「ボート」です!


数で見るのが統計。
ゲームの点数、ハイスコア、平均、度数分布をプログラミングで統計する新しい遊び方。


参加者全員、29人のハイスコアランキング(チートあり!)
身近に使えるIoT、保護者の方たちにも好評でした。


楽しんでくれてありがとう!


そう、こちら講座中に触れ忘れた、光るイチゴ帽子!これもみんなが作ったエルチカロボットの応用です。
身の回りに潜むコンピューター、プログラムが透けてみえるようになりましたね!


もっと続けたくなったら? ひとまず、IchigoJam web で復習してみよう。
自分のが欲しくなったら、IchigoJamのはんだづけにも挑戦!
PCN宮崎 / Coder Dojo Miyazaki でも待ってます!

自然の力!高千穂の川とヌルヌルうごくかわくだり改

2018/08/17
#IchigoJam #miyazaki 

宮崎県に、進化し続けるGIS「ひなたGIS」あり!

第一回RESASアプリコンテストで審査員全員一致で決定した最優秀賞を受賞。
ひなたGIS、開発者の落合さんと宮崎での再会の機会!


ひなたGISのトップ画の景色、高千穂!


東尋坊と同じ柱状節理に加え、甌穴という自然の力が創り出した丸くかわいい岩の削り跡。


甌穴の解説。何万年もの時が作った自然の芸術。さすが、神々の里、高千穂。

10 CLS:X=15:N=0 20 LCX,0:?"V" 30 IFN=7N=0:COPY#700,0,8:COPY#708,42*8,8:LCRND(31),22:?CHR$(224,28,31,225);:SCROLLUPELSECOPY#700,#701,15:N=N+1 35 WAIT2 36 LCX,0:?" " 37 X=X-BTN(28)+BTN(29) 40 IF SCR(X,1)!=225 GOTO20

かわくだりゲームの高千穂バージョン
主人公をボートに変更し、PCGを使用した、1ドット単位スクロールバージョンに
(1コマスクロールする際に、ちょっとブレあり)
元ネタは、IchigoJam-FANに投稿されたPCG活用アイデア

工夫次第で広がるプログラミングの世界。
Day2は、統計とプログラミングイベント!


ひなたGISと共に巡る宮崎!

links
- 宮崎県:ひなたGIS(地理情報システム)の公開について

1ピクセル カラーコピー機を作る - IoTセンサー入門 with IchigoJam

2018/08/16
#IchigoJam #maker 

いろいろ計測、解析して楽しいIoT。手軽に買えて、手軽に使えるセンサー、いろいろあります! オープンな通信プロトコル、I2Cを使ったセンサーはアナログ入力より難しいですが、SCLとSDAだけで何個も接続できて、デジタルで値を取得できて便利です。 まずは気になるセンサーを使った、写経から!

TCS34725を使ったカラーセンサーモジュールとWS2812Bを使って、色コピー機を作ってみました。(カラーセンサーモジュール at Strawberry Linux

必要な治具をつくっていきます。
右:カラーセンサーモジュールのSCL、SDAをIchigoJamのSCL(EX1)とIN3(SDA)に接続し、白色LEDを1kΩ経由でOUT2接続。
左:CN5用の5ピンを2列使えるように拡張し、WS2812Bを5Vからダイオードで0.6V降圧して、OUT1からの信号で制御!

裏面はこのような感じ。Upverterでプリント基板化してしまうと楽できそう!

続いてプログラム!

1 'color copy 2 POKE#700,240,181,114,182,64,24,80,33,9,2,1,49,9,4,4,136,1,48,128,37,1,48,3,120,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38 3 POKE#728,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,60,234,209,98,182,240,189 10 OUT2,1 25 POKE#800,#81,#C0:?I2CW(#29,#800,2) 30 POKE#800,#80,3:?I2CW(#29,#800,2) 40 POKE#800,#94:U=I2CR(#29,#800,1,#800,8) 50 ?[0],[1],[2],[3] 54 D=4 55 POKE#800,3,0,[2]>>D,[1]>>D,[3]>>D 56 U=USR(#700,#800) 70 GOTO40

2-3行: WS2812B用ドライバ(OUT1)
10行: 白色LED点灯
25行: 色計測時間を154msecに設定(TCS34725 データシートより)
30行: カラセンサー計測開始!
40行: クリア、R、G、Bをそれぞれ16bitで取得
50行: 表示
54行: 輝度調整(大きいほどに暗くなる)
55行: WS2812B点灯用設定
56行: WS2812B点灯

赤が多めにでています。

透明アクリルを上に敷くと安定して読み込めるはず。 結構精度よく値がでてくるので、バーコードなどの替わりに色を印刷したカードで識別する仕組みづくりなどもおもしろそう。 サーボやモーターで動かせば、スキャナだって作れちゃいますね!

センサーの探し方
センサ・セレクションガイド - ストロベリーリナックスカタログ)」ワクワクする実用的なセンサーが続々登場!
センサ一般 秋月電子通商-電子部品・ネット通販」いろんなセンサーがあります!
「センサー名 IchigoJam」や「センサー名 Arduino」で検索して、作例を探して、簡単に作れそうなものからチャレンジしてみましょう。

426byteの迷路ゲーム、ローカル対戦&IchigoSodaでネット対戦への改造法

2018/08/15
#IchigoJam #game 

人気ゲームのひとつ、迷路。
意外と単純なアルゴリズム(考え方)で作れるので、ベースを作っていろいろ改造してみましょう。
元ネタ「『ゲームは自分で作るんだ!』MSX検定第2弾BASICプログラム編:MSX30周年 - 週刊アスキー

ゴールまでの道筋が見えてしまわないように、歩いたところだけが見えるようにします。
真っ白のキャラクターは、キャラクターコード1の他に、143があるので歩いていない道として使います。

10 CLS:W=29:H=21:L=143 20 FORI=0TOW+1:LCI,0:?CHR$(1,28,31,L);:LCI,H+1:?CHR$(1);:NEXT:FORI=1TOH:LC0,I:?CHR$(1,L);:LCW+1,I:?CHR$(1);:NEXT 30 FORI=2TOWSTEP2:FORJ=2TOHSTEP2:LCI,J:?CHR$(1,L,28,28,31,L,L);:D=RND(4):LCI+(D=0)-(D=2),J+(D=1)-(D=3):?CHR$(1);:NEXT:NEXT

10行 準備
20行 枠描画
30行 迷路描画(棒倒し法)
W,H: 迷路の大きさ(右端ゴールの位置)
L: 歩いていない道のキャラクターコード(L=2とすると動作がよくわかります)


カーソルキーで歩いて、ゴールまでたどり着くまでくりかえし!

40 X=1:Y=1:LCW,H:?CHR$(246) 50 LCX,Y:?"o";:IFX=W&&Y=HEND 70 K=INKEY():IF!KCONTELSEA=X-(K=28)+(K=29):B=Y-(K=30)+(K=31):IFSCR(A,B)!=1?CHR$(28,0);:X=A:Y=B 80 GOTO50

以上で迷路ゲームのできあがり、合計426byte!意外とシンプルにできたので、いろいろ拡張できますね!


10行、W=11:H=11 とすると迷路生成が速くなっていろいろ改造に便利!

最小の迷路(?)は、W=5:H=5 です。

乱数列を初期化する SRNDコマンド を使うと、毎回同じ迷路が出せます。

15 SRND 1

ステージ番号を入力するようにすれば、友達と競争できますね!

15 INPUT"STAGE?",N:SRND N

タイムを計測したくなったら、CLT/TICK()を使いましょう。

45 CLT 50 LCX,Y:?"o";:IFX=W&&Y=H ?TICK():END

IchigoSoda(+IoTファームβ)を使えば、ネットから出題されるステージに対して、ハイスコアランキングも簡単!

15 N=IoT.IN():IF N=0 CONT ELSE SRND N 50 LCX,Y:?"o";:IFX=W&&Y=H N=TICK():IoT.OUT N:END

小学生の頃、好きだったMSXの投稿ゲーム「Monochrome Venus by TEIJIRO」(レビュー)のように敵を登場させて、RPG風に仕上げるのもきっと楽しいですよ。

古典ゲームとIoT、ネット対戦、モーター・センサーとの組み合わせ、新しい展開見えるかも!?

カナダ銀行でも使える世界一の愛され裏コマンドを組み込む、IchigoJamかわくだりゲーム改造法

2018/08/14
#IchigoJam #game 

ギネスにも載ってる世界一有名な裏コマンド「上上下下左右左右BA」こと、コナミコマンド(英、Konami Code

IchigoJamでの人気ゲーム「かわくだりゲーム」にも実装してみました。

12行で裏コマンドを準備し、39行で判定!

ひとつでも間違ったら、PをUにして最初から。上下左右の絵文字のコードを196引けばキーコード。 終わり判定はダブルクォートのコード、34かどうかとしているので、自在にオリジナルコマンドを設定して遊べます。 Pを0にしなければ、何度でも使えるようになりますよ。

時々、1段余計にスクロールする問題の対処方法
原因は LC RND(32),23 で画面右下で表示すると強制スクロールしてしまうこと。RND(31)として右端を使わないようにして、38行で X=(X+31)%31 と端判定を変更します。

スペースでも当たってしまう問題の対処方法
40行の当たり判定に &31 といれることで、スペースのキーコード32など32の倍数の場合でも0と判定するようにします。%32と32で割ったあまりを使ってもOK。

ネコ多すぎ問題の対処方法
ネコの隊列でかわをくだる、かわくだりゲーム。ネコを1匹にしたい場合は、WAITの後で、描いたネコを消す処理を追加しましょう(36行 LC X,4:?" ")

おまけ、簡単お手軽「ボム」追加法
スペースキーを押したらボム

34 IF BTN(32) CLS

アプリづくりの基本が詰まった「かわくだりゲーム」!
改造して遊ぶほどにいろいろ身につきますよ!
困ったときは、辞書「IchigoJam BASICリファレンス」に立ち返ろう。

Wikipediaのコナミコマンドで発見、カナダ建国150周年を記念する、カナダの中央銀行「カナダ銀行」の特設サイト「Explore the New $10 Note - Bank of Canada」でも使えることに驚き!

毎週月曜日深夜24時放送「Innovative Tomorrow
次週は、ITインフラのイノベーター、さくらインターネット、田中邦裕さん!(舞鶴高専出身)

先日収録した、プログラミングミニコーナーもある模様


楽しみです。

地図アプリでふりかえる、センサーとまちあるき!まちをよくするアイデアとIchigoJamプログラミングつぎのいっぽ

2018/08/12
#opendata #IchigoJam #KidsIT #shinagawa #codefor #PCN #maker 

じぶんでつくったパソコンにセンサーを搭載して、品川をまちあるき!

IchigoSensors opendata - 品川まちあるき
温度、湿度、UV、音量、速度をみちびき対応GPSで取得した位置情報と合わせて印刷して二次利用可能な国土地理院地図にマッピングするアプリ作りました。


まちあるき前、THETA、360度写真!グループに分かれ、それぞれスタッフが2名程、同行します。


パソコンはんだづけしたDay1に続く、Day2は、IchigoSensorsを持ってまちあるき!


防災ヘリポートの中央でTHETA、360度撮影。マリオギャラクシーみたいでしょ?


楽しそうな遊具には釣られて、たこさん公園の計測スタート


たこさん内部!


たんけんセットにmicroUSBケーブルをかませて、袋にモバイルバッテリーを入れる工夫


セミ発見!


セミの抜け殻ゲット!なんと、通販で買える時代!


水の近く、温度は?湿度は?


こどもが発見、みみずを食べているトカゲ、SR!


品川区役所内の発電量の電光掲示、リアルタイムオープンデータ化すると公園の日射量参考になりそう。


気がついたことは何でもメモ!品川区では標準装備という、たんけんセットが活躍


ヒヤリハット地図、いろんな地図と重ねてみるのもおもしろそう?


打ち水でどのくらい温度は下がるのか?湿度はどうなる?データと合わせてコンクールに出してみるのもいいですね。
打ち水大作戦しながわ2018|品川区


データ計測のため協力していただいた「品川区立豊葉の杜学園
最近の体育館はアリーナと呼ぶ?体育に限らない多目的感?


まちあるき終了、一時回収、IchigoROM、17人分。歩いて集めたデータがつまってます!


USBシリアルでパソコンに取り込み、早速オープンデータ化。地図を印刷してアプリづくりの参考にしてもらいます。


まちあるきの体験や、いろいろメモをもとに、誰に、どんなアプリをつくるか考えて、絵にしよう!
母親、妹にヒアリングして、ほしいというアプリを40コ集めた便利アプリ集!


夏のまちあるきで、おじいちゃんを助ける雪案内という発想!


紫外線から逃げよう、UVescape(ユーブイエスケープ)、名前もいい!


データを計測することそのものが楽しかったからそれをアプリに!?
全員全く違う、17のステキアイデア、それぞれ一人ずつ発表してもらいました!


自分でつくるアプリづくりのだいいっぽ、画面と大まかな動きをつくる技を伝授する、プログラミング講座、つぎのいっぽ!(はじめのいっぽ@Day1

CLS、LC、?(PRINT)、WAIT、GOTO、IF INKEY()=0 CONT を使いこなせるようになれば、アプリのプロトタイピング(試作)や、アニメーション、パワーポイント代わりにプレゼン資料づくりだって自由自在! (参考、シニアハッカソン 2014年

容量が足りなくなったら、LRUNでつなげばOK!IchigoROMがあれば、合計68ファイルつなげるよ。
詳しくは、IchigoJam BASIC-日本語辞書、リファレンスを見たり、いろいろ実際試してみよう!


カタカナキーでローマ字入力、自分だけのアプリづくり、いけそうかな?
IchigoJamプリント」や「はじめてのプログラミング」など、オンライン教材もいろいろ!
自分のペースで、自分の好きなものからチャレンジするのが上達の近道。
コンピューターは一番身近な外国人、仲良くなってね!


兄弟もひとり1パソコン!色違うから間違えない!64ファイル追加で保存できちゃう「IchigoROM」も二人分!


自分のパソコンIchigoJamとアプリアイデアシートとともに記念撮影!2日間のワークショップ、楽しんでもらえて何より!


IchigoSensors opendata
17人分+スタッフ所持(00)を加えた18人分のまちあるきオープンデータができました。
※オープンデータ:誰でも自由に加工して、販売することを含めて好きに使えるデータのこと(出典だけ書いてね)


リンクからデータ種ごとに色分けした地図や、表形式、CSVダウンロードが可能です。
ひとつ、言い忘れ。IchigoROMに記録した、みなさんのまちあるきデータ。IchigoJamで見ることができます!

LOAD120:GSB@ELIST

ずらずらっとデータが表示されますよ!取り込んだデータと同じものです。
実は、IchigoJamだけでもデータ解析できちゃいます。興味があったらチャレンジしてみてねっ

最後にファイル120、121、122に入っている、IchigoSensors用の長いプログラムを紹介。

'file 120 1 'GPS Logger 2 L=16:OUT4,-1 10 FOR J=1 TO 5 20 GSB@THI:GSB@TH:[8]=T:[9]=H:[10]=ANA(2) 30 M=0:FORI=0TO9:A=ABS(ANA(8)-270):M=M+(A-M)*(A>M):NEXT:[11]=M 40 CLS:?[3];".";[4];",";[5];".";[6],[7]:?[8]/10;" ";[9]/10;" ";([10]-310)/2;" ";[11] 50 GSB@LC:WAIT60:NEXT 70 R=FILE()+(LINE()+10)<<8:LRUNFILE()+1 80 LED1:GSB@EPUSH:LED0 90 GOTO10 600 @THI:U=95:LET[U],#062C,#4401,#8808,#884A,#4350,#0C00,#4770:U=#800+U*2:RTN 610 @TH:R=I2CR(#45,U,2,#700,6):[0]=17500:[1]=PEEK(#700)<<8|PEEK(#701):T=USR(U+2,#800)-4500:[0]=10000:[1]=PEEK(#703)<<8|PEEK(#704):H=USR(U+2,#800):RTN 800 @EPUSH:N=0:?I2CR(81,#8E6,2,#8E4,2),M:M=M+1:N=M*L*2:N=N<<8|N>>8&#FF:?I2CW(81,#8E6,2,#800,L*2):N=0:?I2CW(81,#8E6,2,#8E4,2):RTN 810 @ELIST:L=16:N=0:?I2CR(81,#8E6,2,#8E4,2),M 820 IF M FOR I=1 TO M:N=I*L*2:N=N<<8|N>>8&#FF:U=I2CR(81,#8E6,2,#800,L*2):?I;:FOR J=0 TO L-1:?",";[J];:NEXT:?:NEXT 830 RTN 840 @ECL:N=0:M=0:?I2CW(81,#8E6,2,#8E4,2):RTN 900 @LC:LET[96],640,64,#5639,#C6C,#C080,64:?I2CW(62,#8C3,5)+I2CW(62,#8C0,3,#900,16)+I2CW(62,#8C8,3,#920,16):RTN 'file 121 1 'GPS driver (R=return file | return line << 8) 300 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 711 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 800 LRUN R&amp;255,R>>8 'file 122 1 'GPS initilize (connect TXD) 10 BPS9600 20 S="PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0":GSB200:END 200 N=0:FORI=0TOLEN(S)-1:N=N^ASC(S+I):NEXT:UART3:?:?"$";STR$(S);"*";HEX$(N,2):UART0:RTN

links
- こどもも大人もコードフォーじぶんのまち! 品川区はんだづけ&センサー入門、練馬区IoT資料 - with PCN
- IoT実験ボード「IchigoSensors」プリント基板発注 - こども霞が関見学デー満員御礼!
- PCN品川
- PCN五反田
- PCN秋葉原(ロボットなど拡張キット、はんだづけスペースもあり!)

こどもも大人もコードフォーじぶんのまち! 品川区はんだづけ&センサー入門、練馬区IoT資料 - with PCN

2018/08/11
#opendata #IchigoJam #KidsIT #shinagawa #nerima #codefor #PCN #doc 

プログラミングでまちづくりを自分ごとに!
品川区役所の提供、Code for Tokyo と Code for Sabae 共催で贈る夏休みイベントDay1スタート!

自分だけのパソコンできあがり!


IchigoJamはんだづけスタート!


はんだごてより危ないニッパー!便利な道具は時には危険。
友達を傷つけない、道具の使い方も体験と合わせて学ぼう。


みんなみるみる腕を上げるはんだづけ


14ピンソケット、5ピンソケットをカラフルなものに交換できるようにしておくとオリジナルIchigoJamを楽しめます!

カラフルピンソケット購入先
赤、緑、青、黄:aitendo(14P 35円、5P 20円)
http://www.aitendo.com/product/12743
白:秋月電子通商(14P 40円、5P 20円
http://akizukidenshi.com/catalog/g/gC-11571/
http://akizukidenshi.com/catalog/g/gC-11572/


できあがったマイIchigoJam、はじめてのタイピング、LED1


ひかった!


うれしそう!


PCN五反田、PCN札幌、PCN高専(?)協力によって、午前中のはんだづけパートスムーズに完了!
大橋編集長のプロ用小手先クリーナーがすごかった!


休み時間にも熱中、自分で作った初ゲーム「かわくだり改」
おにぎりアイテムを取ったら、自分がおにぎりに変わるオリジナル仕様!


IchigoSensorsを合体させて、試しにベランダに出てみました。一気に跳ね上がる湿度!


品川区でのまちあるき、見どころ紹介!
明日はいよいよ、自分でつくったパソコンを持ってデータ収集&アプリづくり!


資料:親子でチャレンジ まちをプログラミングでよくしよう!(Day1、はんだづけ&プログラミング)


IchigoSensorsのテストを兼ねて、品川区から練馬区へ移動!
大井町駅付近で40度オーバーを記録!移動中の電車内も不快指数は75を下回りません。


Code for Nerima 代表青木さん挨拶 & Code for Shinjuku 伊藤さん到着。


UDトークで自動的(人手による修正もリアルタイム!)に字幕が付く Code for Nerima イベント!
スポ小のプログラミング版、地域ICTクラブ、福井県でも始まってます!
福井県こどもプログラミング協議会


資料:はじめてのIoTプログラミング(大人向け)
IchigoSodaを使って、IoTプログラミングワークショップ、みんなでつくろうIoT!


不思議なつながり、愛知&札幌!


点字でメモする長谷川さん!その場で読めて便利とのこと。ITでもっと楽しく便利にインクルーシブ!


青木さん、楽しいイベント、ありがとうございました!

links
- 地図アプリでふりかえる、センサーとまちあるき!まちをよりよくするアイデアとIchigoJamプログラミングつぎのいっぽ

湿度が要!IchigoJam x SHT31で計算する不快指数

2018/08/10
#IchigoJam #maker 

各種センサーをIchigoJamで手軽に使える基板「IchigoSensors
温湿度センサーSHT31を使って、不快指数を計算してみました。

暑いと感じるのは、温度だけでなく湿度、今回は考慮していない風も重要なファクター。


不快指数、日本人は77を超えると不快と感じる人が出始め、85で93%が不快とのこと(Wikipediaより)。
この表によると28度の場所でも、湿度が60%以上あると不快となります。
温度だけ見てはだめですね。(RUN on IchigoJam web - 28度で不快指数を計算)

不快指数をIchigoJamで計算してみましょう。

温度は下一桁まで考慮、湿度は整数(%)で指定し、不快指数を計算します。


プログラムを改造して、同じ温度でいろいろな湿度で、不快指数を計算!
上記の表と同じ値がでています。

IchigoSensorsにSHT31を実装し、温湿度を表示。

10 GSB@TH:?T,H:WAIT12:CONT 600 @TH:U=95:LET[U],#062C,#4401,#8808,#884A,#4350,#0C00,#4770:U=#800+U*2 610 R=I2CR(#45,U,2,#700,6):[0]=17500:[1]=PEEK(#700)<<8|PEEK(#701):T=USR(U+2,#800)-4500:[0]=10000:[1]=PEEK(#703)<<8|PEEK(#704):H=USR(U+2,#800):RTN

続いて、不快指数を計算

10 GSB@TH 20 T=T/10:H=H/100 30 F=T-T*19/100+(T-T/100-143)*H/100+463 40 ?T/10;".";T%10;"C ";H;"%" 50 ?"Fukai Index:";F/10 60 WAIT12:GOTO10

液晶AQM1603に表示

35 CLS 55 GSB@LC 900 @LC:LET[96],640,64,#5639,#C6C,#C080,64:?I2CW(62,#8C3,5)+I2CW(62,#8C0,3,#900,16)+I2CW(62,#8C8,3,#920,16):RTN

IchigoSodaとベータファームなら、ボタンを押したら温湿度をネットへ送信!

55 IF BTN() IoT.OUT T/10*100+H:LED1:WAIT60:LED0

エアコンは、不快指数に合わせて制御すべきかも。
不快日は75以上なのに、日本人は77まで耐えられるという表記がおもしろい。
人によって耐えられる数にどれほど差があるのか!?
夏休み、自由研究のネタにもいいですね。

IchigoJam x IchigoROM x IchigoSensors でつくるGPSロガー

2018/08/09
#IchigoJam #maker 

位置情報をどんどん記録する、GPSロガー。
GPSモジュールも搭載可能なIchigoSensorsで作ってみました。
IchigoSensorsに、GPS受信キットだけを実装しても動きます。(記録にIchigoROM、表示にAQM1602Yを使用)

モバイルバッテリーと組み合わせて、スタンドアローン動作します。緯度経度速度を外でも見やすいLCD表示機能付き。


キーボード、ディスプレイをつなぐだけで、いつでもどこでもプログラムを書き換え可能!


記録は1MbitのEEPROMの自由記録領域64KBに書き込んでいきます。4095点分、記録可能(1データ16byte)。

GPSロガーのつくりかた
1. GPSモジュールの設定を変更する
シリアル送受信を止め、BPS9600に設定する

UART0,0:BPS9600

IchigoJamのTXDとGPSモジュールをジャンパーでつなぐ(IchigoSensorsの場合)
チェックサムを付けてシリアル送信するプログラムを書き込む。

200 N=0:FORI=0TOLEN(S)-1:N=N^ASC(S+I):NEXT:UART3:?:?"$";STR$(S);"*";HEX$(N,2):UART0:RTN

GPSモジュールからのメッセージ、NMEAの内GPSMCのみを1秒おきに取得するように設定する

S="PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0":GSB200

* この設定は保存されるので、次回以降は不要

2. プログラムする

1 'GPS Logger 2 BPS9600:L=8 10 CLS:GSB300:P=#900:GSB700:GSB@EPUSH:CLS:?[3];".";[4]:?[5];".";[6],[7]:GSB@LC:WAIT3*60:CONT 'GET 1 line from GPS 300 UART3,2 301 K=INKEY():IF!KCONT 304 IFK!=36GOTO300 305 K=INKEY():IF!KCONT 306 IFK!=71GOTO300 307 ?"G"; 308 K=INKEY():IF!KCONT 309 IFK=42UART0,0:?:RTN 310 ?CHR$(K);:GOTO308 'parse 1 number 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 'parse 1 number with the beam setting 540 N=0:IFASC(P)=44RTNELSEFORI=1TOM:N=N*10+ASC(P)-48:P=P+1:NEXT:RTN 'parse GPS message 700 GSB500:M=2:GSB540:[1]=N:GSB500:[2]=N:GSB500:GSB500 711 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 720 FORI=0TO7:?I,[I]:NEXT:RTN 'EEPROM 800 @EPUSH:N=0:?I2CR(81,#8E6,2,#8E4,2),M:M=M+1:N=M*L*2:N=N<<8|N>>8&#FF:?I2CW(81,#8E6,2,#800,L*2):N=0:?I2CW(81,#8E6,2,#8E4,2):RTN 'LCD 900 @LC:LET[96],640,64,#5639,#C6C,#C080,64:?I2CW(62,#8C3,5)+I2CW(62,#8C0,3,#900,16)+I2CW(62,#8C8,3,#920,16):RTN

* 約3秒おきに記録(10行のWAITで間隔調整可能)
* EEPROMの書き込み、取り出しは「IchigoJamとIchigoROMで作る、高精度な温湿度ロガー」参照
* LCDのドライバは「ボクにもわかる IchigoJam用 I2Cキャラクタ液晶LCDの接続方法 AE-AQM0802, AE-AQM1602A, AQM1602Y」を弱改造

データは下記のように配列8つにいれて、EEPROMに書き出しています。
[0] 日付 1808 年月
[1] 時間 0920 日時
[2] 時間 3406 分秒
[3] 緯度1 3589 度分(南緯の場合マイナスにしたい)
[4] 緯度2 2732 秒
[5] 経度1 13624 度分(西経の場合マイナスにしたい)
[6] 経度2 7071 秒
[7] 速度 0 knot


ハローインターナショナル」にて、未就学児〜小1の子供とお母さん向けのプログラミング体験がありました。IchigoJamでのプログラミングとIoT体験。子供でもお母さんでもできちゃう、未来づくり!

IchigoJamでとことん計測! センサー4種と液晶搭載可能な拡張基板「IchigoSensors」到着!

2018/08/08
#KidsIT #IchigoJam #pcb #maker 

センサー満載「IchigoSensors」を使って高精度温湿度計(SHT31)!

4種のセンサー、GPS、温湿度、UV、マイクに、簡易表示用の液晶を加えた「IchigoSensors」基板できあがってきました! 全部実装すると、正確な時間、緯度経度、高度、速度、温度、湿度、UV強度、音量が取得可能です。

基板に使うものだけ実装して試せます。(下記は液晶のみ実装)

GPSとはシリアル信号でやりとりしますが、混ざってしまうと面倒なので、切り替えようと作っておいたパターン。 物理スイッチを実装するには狭すぎて失敗。替わりにピンヘッダーを立ててジャンパーで切り替えるようにします。

GPS受信機キットの電源電圧は、仕様上3.8V-12Vと書いてありますが、3.3Vで動作してくれることを期待してつくったパターン。 とりあえず3.3Vかけて測ってみると、3.1V、GPSモジュールの仕様を見ると最低3.0VなのでOK!

秋月で買ったセンサー達

ひとまず袋開け作業を済ませてしまう作戦で、1つ組み立て平均時間が17分から11分に!

使ってみたい方、「IchigoSensors - Upverter」こちらのデータから発注可能です。

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