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

GPSと温湿度センサー搭載IchigoJamを連れてまちあるき、モロッコとの比較も楽しいかも

2018/07/25
#KidsIT #IchigoJam #shinagawa #africa 

8/11-12に開催される品川区でのオープンデータについて考えるプログラミングワークショップ with Code for Tokyo! 本日はテストデイとして、こどもたちが作る予定のセンサーを持って実際にまちあるきしてみました!

GPSで測位したら、正確な時間、温度、湿度を表示すると共にEEPROMへ記録(プログラムは後述)

木陰に入るとぐっと温度が下がります。

ヘリポートがある防災対応公園。

本日計測の最高温度は、41.18度!道路の輻射熱がすごく、下に行くほどに暑い様子も観測できておもしろい!
EEPROMに記録したデータは、シリアル経由でPCに取り込み、マップアプリと組み合わせて表示。
IchigoSodaで、IoT化して、リアルタイムに共有っていうのも楽しそう。

その後、モロッコからの留学生、Imaneさんと在日モロッコ王国大使館、初訪問!元福井県大使館(?)、ふくい南青山291のすぐそば!

モロッコな器、いただきました!

こちら本日活躍した、GPSを取得しながら温湿度をEEPROMに記録するプログラムです。
* GPSはシリアルへ接続、SHT31で温湿度計測、EEPROMとしてIchigoROM搭載(参考

'GPS/TH logger program save0 10 SWITCH1:BPS9600 20 U=95:LET[U],#062C,#4401,#8808,#884A,#4350,#0C00,#4770:U=#800+U*2 30 LRUN1

'GPS/TH logger program2 save1 10 L=32 20 K=INKEY():IFK!=36CONTELSECLS 30 ?CHR$(K);:K=INKEY():IFK!=10CONTELSE? 'check $GPRMC 35 A=#900:IFPEEK(A+3)!=82ORPEEK(A+4)!=77ORPEEK(A+5)!=67GOTO20 40 GSB@TH:GSB@GPS:IF!EGOTO20 42 FORI=0TO9:N=[I]:?N;",";:NEXT:?:GSB@EPUSH 43 LED1:BEEP:WAIT60*5:LED0 44 GOTO20 'ret E:enable flg, 100 @GPS:A=A+17:E=PEEK(A)=65:IF!ERTN 110 A=A-10:L=2:GSB@ATOI:[1]=M:L=4:GSB@ATOI:[2]=M:A=A+4 120 GSB@GETM:LET[3],N,M:GSB@GETM:LET[5],N,M '130 A=A+2:L=3:GSB@ATOI:[7]=M*10:A=A+1:L=1:GSB@ATOI:[7]=[7]+M 130 FORI=1TO3 132 A=A+1:IFPEEK(A)!=44CONT 134 NEXT 140 A=A+1:L=2:GSB@ATOI:[1]=[1]+M*100:L=4:GSB@ATOI:[0]=M/100+M%100*100 150 RTN 200 @GETM:A=A+2:L=3-(PEEK(A+4)=46):GSB@ATOI:N=M:L=2:GSB@ATOI:N=N*60+M:A=A+1:L=4:GSB@ATOI:A=A+2:IFPEEK(A)=83ORPEEK(A)=87N=-N 240 RTN 'A:position(move) L:length, ret M 300 @ATOI:M=0:FORI=1TOL:M=M*10+PEEK(A)-48:A=A+1:NEXT:RTN '[8]:temprature, [9]:humidity 400 @TH:R=I2CR(#45,U,2,#700,6):[0]=17500:[1]=PEEK(#700)<<8|PEEK(#701):[8]=USR(U+2,#800)-4500:[0]=10000:[1]=PEEK(#703)<<8|PEEK(#704):[9]=USR(U+2,#800):RTN 'EEPROM push (L:length) 500 @EPUSH:N=0:?I2CR(81,#8E6,2,#8E4,2),M 510 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 'EEPROM show data (L:length) 550 @ELIST:N=0:?I2CR(81,#8E6,2,#8E4,2),M 560 IF M FOR I=1 TO M:N=I*L*2:N=N<<8|N>>8&#FF:?I2CR(81,#8E6,2,#800,L*2);",";I;",";:FOR J=0 TO L-1:?[J];",";:NEXT:?:NEXT 570 RTN

モロッコは50度を超える日もあるとのこと!
でも、決め手は湿度。不快度指数とか、体感温度とか計算するのも楽しそうです。本番、楽しみ!

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