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

FPGAはじめのいっぽ、MAX10 FPGA 評価キットでエルチカ成功!

2018/09/15
#maker #FPGA #VHDL 

訪問いただいた舞鶴高専の町田秀和先生よりきっかけいただき、ようやくFPGA初めできました!
電子回路をソフトウェア的に組むことができるデバイス、できる幅が広がりそうです。

ただのエルチカからちょっとだけ進化させて、入力によって点滅の周期と点滅する場所を変えてみました。
使用機材(MAX 10 FPGA 評価キット、書き込み器 USB Blaster)

FPGAを動かす手順
1. 回路図を書く
2. コンパイル(論理合成?)
3. 回路で使用するピンを実際のピンに割り当てる 再びコンパイル
5. 書き込み器を使って転送
6. 動く!

回路規模ほぼ最小でのコンパイルの所要時間、26秒(Windows 10, Core i7 6700)。
やはりちょっと時間かかるけど、待てないレベルじゃない。
転送は2秒と十分高速!


図を手で描くのも楽しいですが、煩わしいので、回路記述言語VHDLの出番!
なかなか癖があって楽しい言語ですが、複数行コメントがないのはちょっと困りもの・・・。


舞鶴高専町田先生イチオシ、FPGA

FPGAとIchigoJamとつないだり、高速性を活かした楽器づくり、CPUから作るIchigoJamにも挑戦したい。
そのためまずはコンパイルした回路をFlashに書き込んで、電源入れたら動くようにしなくては!

WS2812B x IchigoJamでエモいウェアラブル「イチゴ帽子」プログラミング入門とマシン語、舞鶴x鯖江コラボに向けて

2018/09/14
#maker #IchigoJam 

エモーショナルな装備(エモウェア)に最適、IchigoJamで個別制御可能で1灯当たりなんと11円と格安なフルカラーテープ状LED、WS2812Bを使ったイチゴ帽子でキラキラプログラミング入門。

30ものフルカラーLEDをたった1本でコントロールするヒミツは特殊なシリアル通信。 ひとまず次のプログラムを打ち込み、5VをVCC、GNDをGND、DIをOUT1へつないで、動かしてみましょう!(実行前に保存がオススメ)

10 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 20 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 30 N=33:POKE#800,N*3,N*3>>8 200 M=200 210 POKE#802+RND(N)*3,RND(M),RND(M),RND(M) 220 POKE#802+RND(N)*3,0,0,0 230 U=USR(#700,#800):GOTO210

10-20行がフルカラーLEDを制御するマシン語プログラム(解説マシン語入門)。
30行で光らせる数を設定(この場合33コ)
200-230行でランダムにランダムな色を設定して光らせたり消したりを繰り返し!

#800と#801に光らせるLEDの個数の3倍を書き込んでおき、色は、メモリ#802から3byteずつ、緑、赤、青の順に最大255でそれぞれの光の強さを指定します。 あとは、USR(#700,#800)でマシン語を呼び出せば、設定した通りに光ります。並べ方を工夫すれば電光掲示板にもなりますね!

例えば、先頭を青に光らせたい時は(上記プログラムを実行した後で)

POKE#802,0,0,100:U=USR(#700,#800)

でOK!


七色に輝く!(プログラムは末尾)


ニット帽なら、LEDテープを帽子のフチに通すだけ!一切の裁縫テクニックがいりません。(写真は、手編みIchigoニット帽(ヘタ)


DAISO、100均の電池式モバイルバッテリーは、中のプラスチックの仕切り板をペンチで折っておくと電池交換が楽です。


ものづくり好きが集まるイベントには、好きな帽子やネクタイをLEDで飾ってお出かけすると1.5倍楽しくなりますよっ。


さくらインターネット田中さんの担任の先生だった、舞鶴高専町田先生がご来鯖!めがね会館にて!


ZigBeeによるリモコン、コントローラーもMDF。素のAVRをC言語で開発しているとのこと。


舞鶴高専の授業でやっているミニロボコンの機体を見せていただきました。レーザーカッターによる筐体は仕上がりがきれい!


レーザーカッター、3Dプリンタといえば、鯖江のものづくりスポット、Hana道場。こどもでも組み立て可能なIchigoJam、秋葉原の電子パーツ屋さんのように、部品ピックアップからの体験も楽しめます! いろいろ体験できるスポット、ぜひ舞鶴にも!


舞鶴高専町田先生イチオシ、回路をプログラミングで自由に作れてしまう、ソフトのような不思議なハードウェア、FPGA、MAX10! 1チップMSXの誕生などでも有名。コンパイル速度や、開発機材の値段などで後回しにしていましたが、いよいよ手を出す時が来ました! それぞれ拠点ごとの得意技を活かしたこどもプログラミング教材交換、楽しみです!

【おまけ、光るイチゴ帽子のプログラム IchigoJam x WS2812B】
七色に輝き、赤いドットが流れ、光のグラデーションの3パターンをランダムに繰り返すプログラムはこちら(10-30行は上記と共通)

10 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 20 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 30 N=33:POKE#800,N*3,N*3>>8 40 GSB(2+RND(3))*100:CONT 100 @HSV2RGB:R=V:G=V:B=V:IF S=0 RTN 110 D=H/60%6:C=V-(59-H%60)*V/60*S/100:E=V-H%60*V/60*S/100:F=V*(100-S)/100 120 IF!DG=C:B=F 130 IFD=1R=E:B=F 140 IFD=2R=F:B=C 150 IFD=3R=F:G=E 160 IFD=4R=C:G=F 170 IFD=5G=F:B=E 180 RTN 190 @CLR:POKE#802,0:COPY#803,#802,N*3-1:RTN 200 H=RND(360):S=100:V=0:T=39 210 V=V+((T%20>9)*2-1)*5:GSB@HSV2RGB:POKE#802,G,R,B:COPY#805,#802,N*3-3:U=USR(#700,#800):T=T-1:IFTCONTELSERTN 300 S=100:V=150:T=66:GSB@CLR 305 V=150 310 COPY#802+N*3-1,#802+N*3-4,-N*3+3 320 POKE#802,0,V*(T%5=0&&T>33),0 330 U=USR(#700,#800):WAIT4 340 T=T-1:IFTGOTO310ELSERTN 400 GSB@CLR:V=50:T=123:X=4<<RND(4):H=0 410 COPY#802+N*3-1,#802+N*3-4,-N*3+3:IF T<33 V=0 420 GSB@HSV2RGB:POKE#802,G,R,B:H=(H+X)%360 430 U=USR(#700,#800):WAIT3:T=T-1:IFTGOTO410ELSERTN

DMX512や、BASICでも、もっと高速にもコントロールできるAPA102Cなどの例もどうぞ!

links
- 福井県鯖江市の、めがね会館とHANA道場で、IchigoJamの福野さんと楽しい会話 | yet another 舞鶴電脳工作室(2018/5再開)

開会式前に福井国体スタート!IoTシャトルバス稼働現場と稼働実績オープンデータ

2018/09/13
#opendata #maker #IchigoJam 

福井国体、開会式は9/29ですが、競技は9/13にハンドボールからスタート!
永平寺町の北陸電力福井体育館フレアと駐車場となっている福井県立大学を結ぶ、IoTシャトルバスを現地視察。


競技場ではちょうど福井県ハンドボール選手が山口県と試合中。「チア☆ダン」のJETSも応援!
「チア☆ダン」JETSはなぜ世界で勝てるのか | 福井新聞 | 東洋経済オンライン | 経済ニュースの新基準
福井商業高校チアリーダー部 JETSがモデルとなった作品「チア☆ダン」のドラマがついに最終回を迎えます。 - Dearふくい」 」


福井県立大学の正面玄関から車で入ると専用駐車場への案内看板があります。
競技会場に行っても駐車できないので注意!(できませんでした)


福井国体シャトルバスどこ? / 永平寺町」へのQRコードが設置されてました!


シャトルバス、思ったより大きい!


シャトルバスのダッシュボードに養生テープで貼り付けられいたIchigoSoda (IchigoJam x sakura.io)とIchigoSensors、電池(単3x4)


リアルタイムに動く様子を見ながら、シャトルバスで九頭竜川を超えて会場へ。


(動画 on Facebook)


無料ふるまい、おもてなしコーナーがありました。それぞれ会場に行くとちょっといいことあるみたい!オープンデータがあっても良さそうです。


福井国体シャトルバスどこ? / 永平寺町
一日稼働分をGitHub風のデータ受信回数で色分けしてみました。途中、なぜか送信が停止してしまった件は、ひとまず不定期に手動で再起動してもらうカタチで応急措置。電池は何日間かは持ちそうです。 10秒間隔で送信していましたが、バスの速度だと30秒程度でも十分そう。経路を色塗りしたのでわかりやすくなりました。これもアプリで自動化しておけると便利ですね。

JSON形式でオープンデータとしています。いろいろ解析してみるのもおもしろいかもしれません。

福井国体障スポ、気になる競技、覗いてみながら、あったら便利な機能、ぜひお寄せください!
しあわせ元気 お役立ち情報アプリ - 福井国体障スポ

札幌からの贈りもの「SapporoJam」ピンソケットはんだづけ一人称動画

2018/09/06
#IchigoJam #KidsIT #maker #hokkaido 

北海道地震前、札幌から届いた「SapporoJam」
札幌市時計台っぽいカタチの、PCN札幌によるIchigoJam互換機です!

時計部分にサウンダーがついているのが特徴!


これら部品をはんだづけします(*15pFは写真のものから、2.54mmピッチのものに後に変更)


スマホMR、録画できるメガネ「meganerec」で一人称はんだづけ動画を撮影!・・・のはずが前半部分が容量不足で失敗。


後半の曲がらないようにピンソケットをはんだづけする部分と、LEDを光らせる動作確認部分!

A Syntax error LED1 OK LED0 OK LED1:WAIT30:LED0 OK 1 LED1:WAIT10 2 LED0:WAIT10 3 GOTO1 RUN Break in 2 2 LED0:WAIT10 SAVE0 Saved 42byte OK

エルチカして、エルチカゲームで遊び、エルチカロボットに仕立てるまでのプログラム!


普段のメガネを外し、スマホVRを使った、デジタルメガネでの表面実装からすべてのはんだづけをやってみましたが、意外となんとかなるものです! 一人称はんだづけでFPS実況、いいかも?
* First Person Soldering


ご当地IchigoJam集めも楽しいかも!?
みなさまの地域では何Jam?

自分の製品が売れる喜び!コミケ、MakerFaire、高専祭、地元の祭にオンライン、メイカーの活躍の場はたくさん! Hayate x IchigoJam

2018/08/30
#IchigoJam #maker 

インターン11日目!参加2日目には決まる、あだな。
ESP32という人気の無線LAN/BLE付き32bitマイコン使い「エスパー」が、プロジェクトで使っていた謎基板。
聞くと、なんと自作品「FullColorLEDBar hayate」!
基板もちょうど持っているということで、頒布してもらっちゃいました!


- 使う部品
I2C I/Oエキスパンダ PCF8574N x 5(40点分) 130円x5 = 650円
フルカラーバーLED10 x 4(40セグメント分) 250円x4 = 1,000円
抵抗100Ω(1kΩでもだいたいでok)x 40 100円で60本余る

通販した部品が届いたので、早速お試しまずはIC、1つで実験!
I/Oを拡張するPCF8574Nは、IchigoJamのI2C命令でとっても簡単に使えます!
IchigoROMなどI2C用のプルアップ抵抗(SDA/SCLからVCCへ2.4kΩなどを接続する抵抗)をつけた状態で、J1を上から、SDA,SCL,3.3V,GNDの順、J2の一番上(赤)をIchigoJamのGNDに接続し、

?I2CW(32,15) 0 OK ?I2CW(32,0) 0 OK

ひとまず8つのLEDバーが赤色に光り、自由自在!(I2CWコマンド、正常だと0が返ります)
続いて、J2(赤、緑、青)をOUT1,OUT2,OUT3に接続して

10 U=I2CW(32,N) 20 OUT RND(8) 30 N=N+1 40 WAIT 3 50 GOTO 10

I2Cのアドレス32が配線側、最大5つ、32〜36に対して、0〜255の値を書き込めば光る!簡単!
RGB、三色に光る!高速に切り替えることで七色化したり、各色を光らせる時間を制御してフルカラー化も可能。


どんなプロダクトになるかはお楽しみ!成果発表会は来週金曜日!


動作確認できたので、残りもばばっとはんだづけ!
抵抗40コ!連続はんだづけ技「流しはんだ」が決まると気持ちいい。
至福の20分を味わって、完成です。


40コ使った巨大メーターのできあがり!
値Nを使って、メーター表示するプログラムはこんな感じ

30 FOR I=0 TO 4 40 M=N-I*8:IF M>8 M=0 ELSEIF M<0 M=0 50 R=I2CW(32+I,1<<M-1) 60 NEXT

そのプログラムを使ってランダムに三色表示するプログラム

10 LET[0],6,5,3 20 N=RND(41):?N 70 OUT[RND(3)] 80 WAIT10:GOTO20


動画で見る、FullColorLEDBar (Hayate) rev0.1 Designed by @3rdJCG x IchigoJam

使ってくれるとうれしい、自分で作ったもの。
実は、売れるともっとうれしいんです!

ソフトウェアと違って、原価がかかるハードウェアは販売する心理的ハードルが低いのが特徴です。
コミケ、MakerFaier、高専祭など、いろんな機会がありますが、オンラインでも大丈夫!

実はIchigoJam、最初に売れたのは弊社オンラインフリマサービス「オタマート
jig.jpがハードウェア参入、MSX0 を勝手に発表」という2014年のエイプリルフール投稿に軌跡、残ってました。

ちょっとした光る部品、基板づくりもWebアプリ「Upverter」を使えば、そこそこ簡単!
ブレッドボードと部品キットと説明書の組み合わせだと、もっと手軽。

作る喜びが加速する、売れる喜び、ぜひご体感ください!

いよいよ架橋!?jigインターンDay11
迫るデスマとランチ会 - jigintern2018’s diary
Hana道場で進む、中高生によるプロダクト「さばえカニロボット」づくり!
カニロボと過ごす夏休み【越前がにロボコン】: Hana道場

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」で検索して、作例を探して、簡単に作れそうなものからチャレンジしてみましょう。

地図アプリでふりかえる、センサーとまちあるき!まちをよくするアイデアと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秋葉原(ロボットなど拡張キット、はんだづけスペースもあり!)

湿度が要!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 / アイコン画像 / プロフィール画像