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

NICT起業家甲子園への挑戦権獲得の2高専チーム決定!高専プロコン2017レポート

2017/10/09 23:55:00
#kosen #procon28 #doc 

今年も熱い高専プロコンでした。
参加したみなさん、おつかれさまでした!

受賞した人、おめでとう!ぜひそれを自信に一歩リリースへと進めてみましょう。
惜しくも受賞を逃した人、悲観することは全くないです。審査と社会の評価は別のもの。
一人でも多くのひとに使ってもらって意外な反応を楽しんで、改良や次なる創作につなげましょう!

高専プロコンレポートを書くにあたって、要望を3点。
- 作品一覧をオープンデータ化してほしい(CSVかXML、もしくはRDF、作品を特定できブログ言及しやすい)
- 作品の1分紹介動画提出(プレゼンやデモのダイジェストがあると楽しみやすい、オープンデータ連携)
- 表彰時に作品名の発表を(高専が複数作品出しているなど番号ではわかりづらく反応が遅くなる)

では、作品ランダムレビューから。


野球盤的楽しみをリアルバッドに仕込んだ、野球BAN by 熊本高専
なかなか思い切り野球ができる公園が減ってしまった現代、昔はよかったと嘆く代わりに、外遊びをコンピューターの力で楽しく変えてあげよう!


パラグライダーをVR体験できるもの、引っ張りを圧力センサーで感知して左右に動ける。扇風機の風がリアルでいい。 スーファミのパイロットウィングスっぽく、正確な着陸を評価できると楽しくなりそう。


視覚障害者を助けるウェアラブルのプロトタイプ by 石川高専
振動や音で周辺を把握しながら進む体験はいろいろやってみるとおもしろそう。スポーツかゲーム化すると発展速度アップ!


任天堂のSwitchで有名になったアルプス電気のハプティックリアクタは、実はニンテンドーDSのDS振動カートリッジにも採用されていたとのことで、取り出して使っていたとのこと!


大量のアナログホールセンサー(磁力センサー)を使ったタッチする人が識別できるタッチインターフェイス by 香川高専
これならではのゲームと共に、科学館やアーケードで活躍してほしい!


ドローンを使って海苔の養殖を効率化! by 鳥羽商船高専
統合アプリを実際の養殖現場で使ってもらっていること、地元に貢献したいという思いが良い!


ジョーバを改造してKinectで姿勢を測定、姿勢矯正マシン by 香川高専
オオモノ強い!


SONYの電脳メガネ、SmartEyeglassを使ったゴーストと走る GOHST RUNNER by 長野高専
上下左右の首振りにもなかなかの追従性。追い越すデモも見たかった!


初めて耳にしたスポーツ「ボッチャ」をVRゲーム化! by 八戸高専
なかなか熱いゲームらしいので、普通にスマホのゲーム化してみるのもいいかもね!
ボッチャ、福井国体、はぴりゅうくんも紹介してました!


有名なサイクリングロード、しまなみ街道が近い広島商船高専によるロードバイクの障害物検出システム!
ミラーをいい感じに使って、障害物や速度超過など危険をハンドルを振動させて伝えてくれる。
事故時や思わぬ出来事の記録に役立つ、ドライブレコーダー的機能もぜひ!


パントマイムをARで練習するというユニークな作品 by 木更津高専
いっそVRにすると周りからみると完全にパントマイムかも!?パントマイム新時代が始まりそう


大規模ハードものが強い香川高専、赤色レーザーを網目状に2重に張って、通常のボールの軌道を測定するインターフェイス。 速度が要求されるハードウェアもさくっとできるようになったいい時代!このデバイスならではの新ゲームに期待したい。


来年開催校となった阿南高専による、救命支援システム。シンプルで大きな画面で焦っているシチュエーションでも使えるような工夫が良い。 AEDの位置情報など、オープンデータを使った整備をぜひ地元の自治体の人にお願いして整備してもらえれば、来年の高専プロコン開催も安心ですね!


玄関対応をシンプルに一言も発することなくこなせるシステム by 阿南高専
要件をタッチパネルで答えてもらうパーソナル受付システム、近未来の当たり前。訪問販売などのお断り機能も秀逸。宅配ボックスとの連携させたいですね!


子供用の大きなレゴを改造して楽器にしちゃった作品 by 広島商船高専
スタートブロックからのつながりで音が順番になる仕組み。ブロックらしく積み上げて和音とかできるとかわいいかも。 16x16、256コのオリジナル基板を使ったモジュール製作がすごい!


MESHを使って第三者も関与できる、昆虫目線VR by 鈴鹿高専
周りで見ている人と当事者ひとり、スイカ割りの要領でゲーム性をアップすると楽しくなりそう。


アクリル板にシートを貼り、プロジェクターで投影してつくる透過型ディスプレイを使ったスポーツ観戦支援システム by 一関高専
VIP席において、多人数で見る感じで使うと盛り上がりそう。


血糖値を採血せずに取得できる安価なデバイスを使って安全な運動を支援! by 弓削商船高専
BLOOD ピッと!という名前w

続いて、今年の起業家甲子園出場権をかけたNICT賞は!?


1つ目のNICT賞は、長岡高専!


「ちょっと田んぼを見てくる」の悲劇をなくそう。田んぼ管理を効率化するシステム「Tanboo」
気圧センサーを使った水圧計測の仕組みがシンプルでステキ!起業家甲子園挑戦権獲得!


2つ目、福野が選んだNICT賞は、豊田高専!


起業家甲子園への挑戦権、福野推薦は豊田高専の「SpeaCAR -会話型事故防止システム-」
かわいいロボット、ロボホンとの会話から、やさしく運転を評価してくれるシステム。自動運転競争の鍵になるかも!?
来年3月の起業家甲子園、本線向けてがんばろー!


起業家甲子園、前回最優秀賞獲得の弓削商船高専チームと再開!今回の作品「BLOOD ピッと!」で優秀賞獲得!


jig.jpの高専インターン卒業生に出会えるのも高専プロコンの楽しみ!


シンガポールからの作品参加!シンガポール生まれのArduino互換機SPEEDuinoとIchigoJamを交換!


全国から集まるのは学生だけではない!
高専の先生達もすっごく楽しそうなのが、高専プロコンのいいところ!
Raspberry Pi ZeroによるIoT入門- Zero W 対応」の著書、高知高専の今井一雅さん
来年はIoT作品ますますもりあがりそうですね!
さくらインターネット&jig.jpコラボ、IchigoJam x sakura.io もよろしく!
表彰式前の時間をもらった高専社長のパネルディスカッション「翔んじゃえ高専生」
さくらインターネット田中さんと登壇、失敗はネタになるので、恐れずじゃんじゃんいきましょう〜
高専OBとしてずっと皆さん応援していきますよっ(貴重な機会をくれた高専への恩返し)
講演時の机の上にあったモノのつくりかた&ソースコード


初上陸山口土産に発見「ふくの宿」という名のふぐサブレ!
こちらでは「ふぐ」のことを「ふく」とも呼ぶとのこと。
「ふぐ」と「ふく」の呼び方の違い : 山口の観光名所を巡る

links
- 2017/10/09 第28回 高専プロコンを眺めてきた。 - 17歳からのプログラミング入門。
- #procon28 に行ってきたぞ - 9800円の課金は義務
- 第28回プログラミングコンテスト参加しました - 箏とか
- 第28回高専プロコン一言コメント特設WEB|チームラボ
- tnct-spc/procon2017-comp

高専プロコン、パネルディスカッション用タイマーの製作 - IchigoJam x WS2812B

2017/10/08 23:55:00
#IchigoJam #kosen #procon28 

人生初上陸となる山口県で開催、高専プロコン。
表彰式前のさくらインターネットの田中さんとパネルディスカッション「翔んじゃえ高専生」に向けて、ホテルの部屋でミニプロコン。

9つ分に切ったコンピューター内蔵、低価格フルカラーLED、WS2812BをIchigoJamで光らせます。


ピンヘッダーとジャンパー線をはんだづけ

WS2812Bの使い方は過去記事「IchigoJamでも光る大五郎! 300コのフルカラーLEDを簡単コントロール!」を見ながら作成!

400 @INIT 410 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 420 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 430 LRUN1 SAVE0 NEW 100 POKE#800,9*3,0:I=0:V=30:S=90:T=10:L=8:CLT 115 POKE#802,0:COPY#803,#802,9*3-1 116 IF TICK()>60*200 CLT:L=L-1 118 IF L=-1 END 120 FORJ=0TOL 130 H=I+J*10:GSB@HSV2RGB:POKE#802+J*3,G,R,B 140 NEXT 142 R=V:G=V:B=V:IF TICK()/60%2=0 R=0:G=0:B=0 144 POKE#802+L*3,R,G,B 150 U=USR(#700,#800) 160 I=(I+T)%360:GOTO 111 500 @HSV2RGB 'use CDEF 505 R=V:G=V:B=V:IF S=0 RTN 510 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 520 IF D=0 G=C:B=F 530 IF D=1 R=E:B=F 540 IF D=2 R=F:B=C 550 IF D=3 R=F:G=E 560 IF D=4 R=C:G=F 570 IF D=5 G=F:B=E 580 RTN SAVE2 LRUN0

ARM Cortex-M0のThumb2マシン語でつくったWS2812Bドライバをメモリに書き込んで、メインプログラムへ連携する、LRUN2!
30分かけてカラフルなカラーバーが点滅しながら短くなっていくプログラムになってます。

高専プロコンの作品も、裏話やソースコードなど、公開しちゃうのもいいですよ!


講演も配信、Y!Japan、配信チームさん!

尾道IoTワークショップ&福岡エンジニアパネル@さくらインターネット、位置ログ保存マシン on IchigoJam

2017/10/07 23:55:00
#IchigoJam #hiroshima #fukunoka #maker 

尾道にて、はんだづけによる初めてのコンピューターづくり&プログラミングから、さくらインターネットのsakura.ioを使ったIoTづくり体験を実施。 大人も楽しい、電子工作新時代!(体験項目:はんだづけ、LEDチカチカ、信号機づくり、かわくだりゲーム、音楽づくり、sakura.ioでスマホからIchigoJam、IchigoJamからスマホ)


尾道駅から徒歩3分、ソフトクリームが目印!


楽屋な場所をお借りしてIchigoJamをはんだづけ!


IoT体験!スマホでつながると夢ひろがる!


尾道でもIchigoJam、ぜひどうぞ!

場所を福岡さくらインターネットに移して、エンジニアパネル。みんなきっかけはいい仲間が集まるコミュニティがあったから。いかにコミュニティを活性化していくかが鍵。 福岡はさくらインターネット他、コミュニティーに理解ある大企業が場所をつくって、その場所をつかったイベントを中心にコミュニティができていったとのこと。 場ができた福井、鯖江、こどもエンジニアコミュニティーづくりに興味ある、小中学生を探してみるのもおもしろいかも?


ジョンバーガーのいちごスムージー、おいしい!


エンジニアパネル!


懇親会@福岡


PCN福岡に頼もしい助っ人!?


エンジニア!

いろいろ場所を移動するので、場所の記録をIchigoJamでも取ってみる。GPSモジュールは、レギュレーターをスキップすれば3.3Vで動くとのことで、常時ONになってしまうCN5の5Vではなく3.3Vを使うように小改造。 データを簡易的に保存するため#C00〜#FFFのプログラム領域の後ろから、緯度経度を分で整数部と小数部で表した8byteを順に記録するプログラムを追加。 起動すると最初の位置測位でプログラムと一緒に位置を記録できるようになりました!


早速エンジニアコミュニティパワー、秋月GPSを使っている人から、三端子レギュレーター、左のピンが3.3Vを取る技を聞いたので実践! 直接はんだづけすればOKでした


外でGPSチェック!結果良好でした

10 UART0,1:SWITCH1:LED1:F=0 20 K=INKEY():IF K!=36 CONT ELSE CLS 30 ?CHR$(K);:K=INKEY():IF K!=13 CONT ELSE ? 40 GSB@PRS 42 IF E&&!F F=1:FORI=0TO3:N=[I]:GSB@DPUSH:NEXT:SAVE 44 GOTO20 100 @PRS:A=#900+18:E=PEEK(A)=65:IF!E RTN 110 GSB@GETM:LET[0],N,M:GSB@GETM:LET[2],N,M:RTN 200 @GETM:A=A+2:L=3-(PEEK(A+4)=46):GSB@ATOI:N=M 210 L=2:GSB@ATOI:N=N*60+M 220 A=A+1:L=4:GSB@ATOI 230 A=A+1:IF PEEK(A)=83 OR PEEK(A)=87 N=-N 240 ?N,M:RTN 300 @ATOI:M=0:FORI=1TOL:M=M*10+PEEK(A)-48:A=A+1:NEXT:RTN 500 @DPUSH:A=#FFE 510 IF PEEK(A)=0&&PEEK(A+1)=0&&PEEK(A-1)=0 POKEA,N,N>>8:RTN ELSE A=A-2:IF A<#1000-FREE() RTN ELSE CONT 550 @DSHOW:A=#FFE 560 N=PEEK(A)|PEEK(A+1)<<8:IF!NRTN 570 ?N:A=A-2:IFA<#1000-FREE()RTN 580 GOTO560 GSB @DSHOW 2014 7679 7824 1267 2014 7679 7824 1267 2014 8213 7824 1248 2014 8367 7824 1307 2014 8411 7824 1387 2014 8228 7824 1682 2014 8246 7824 1420 2014 8268 7824 1546

オープンデータは地域を活性化するか? オープンデータ推進会議&Code for Hiroshima@広島

2017/10/06 23:55:00
#opendata #hiroshima #doc 

その地域が活性化しているか否かを、新しいコトが起きているかどうかで見てみる。
鯖江市には、「停滞は後退」と言う市長をはじめ、次々とアクションを起こす市民がいる。

新しくて安いグローバル技術は、ビジョンを持つ人と交わり初めて価値となる。
イノベーションとは技術革新ではなく、価値創造による社会変革。
かつてないほどにイノベーションが起きやすい現代、コトを起こさない手はない!

オープンデータ化は、新しいコトを許容するはじめのいっぽ。
著作権保持を示す「おどし (C)」から、「おねがい CC BY」へと切り替えましょう。

すでにオープンデータ化を済ませた地方公共団体、次の一手は、標準化。
W3Cによって標準化され、確立している技術「RDF」と「SPARQL」を使った5つ星オープンデータで、イノベーション創出を加速しよう!

講演スライド「オープンデータは地域を活性化するか?」

jig.jpグループ、B Inc.のサービス、odp(オープンデータプラットフォーム)でもお手伝いしてます!


Code for Japan、コーポレートフェローシップの鯖江市フェロー、石崎さん
オープンデータ、はじめのいっぽにオススメの避難所データを使ったアプリ「ヒナンパス」を紹介。
5つ星オープンデータでデータを公開するだけで、アプリがすぐにその場で使えます!


広島市 x Code for Hiroshima による 5374.jp for Hiroshima の紹介!


おりづるタワーから見る、平和記念公園と原爆ドーム
(入場料1,700円、キャリアは有料ロッカーにいれる必要あり)


Code for Hiroshima ミーティングにも参加できました!
フードバンクとオープンデータとシビックテック!


広島に新しいPCN誕生の予感!?

国が考える「超少子高齢化社会における諸課題」とは?
様々な課題=ミッション、楽しくみんなで解決する糸口として子供にプログラミングという武器を授けよう!
ビジョンある大人、課題をかかえる大人と交われば、地域は実現へ向けて動き出す。
子供が少ないので、投資額が少なくて済むのが日本の強み。
コンピューター教育投資、アメリカの2億ドル相当、鯖江市は275万円拠出済み

大人が変われば子供が変わる。子供が変われば大人も変わる。
イノベーションをオペレーションへ!

体育とプログラミング教育、GPS x IchigoJamで校庭に絵を描いたり新スポーツ創ったり

2017/10/05 23:55:00
#KidsIT #IchigoJam #maker 

自分たちで外で遊ぶコンピューターゲームを創って遊ぼう!

IchigoJamで色を変えるボタンとsakura.ioをつなげば、サーバーに送ってみんなでお絵かきしたり、オープンデータを使って近所の宝探しをしたり、いろいろと遊べそうです! データを外部記憶装置(EEPROM)にどんどん書き込んでいく形にすれば、自分だけの地図を作ることもできちゃいます。

鯖江市のバスIoTの「つつじバス x sakura.io」GPSデータも合わせて送信する版の準備も兼ねて、 日本の衛星、みちびき対応のGPSモジュール「GPS受信機キット AE-GYSFDMAXB 2,200円(秋月)」をIchigoJamにつないで使ってみました。


緯度経度のデータをGPSモジュールからシリアル信号で受け取って、緯度経度の部分を切り出して分で表示するプログラムを、液晶モジュールと単3電池のモバイルバッテリーで動かしている様子。

まずはモジュールをはんだづけ。GPSモジュールから5ピン、ピンヘッダーやピンソケットなどを使って配線。

電源は5V、GNDをIcigoJam TのCN5につないで、IchigoJamの方をシリアル通信速度を9600bpsに合わせて準備。

BPS9600

GPSモジュールのTXDをIchigoJamのRXDに接続すると、画面にデータがつぎつぎと表示されます。
* IchigoJam 1.2では、「OK0」というコマンドでエラーメッセージが出ないようにできるので、データの確認に便利です。「OK」または「OK1」で元に戻ります。

データは、NMEAセンテンスといってGPSモジュールの標準の形式です。多すぎるので緯度経度だけを取得するシンプルなメッセージ$GPRMCだけを、3秒に1度だけ送ってもらうよう設定します。 GPSモジュールのTXDの線を一旦抜き、RXDからIchigoJamのTXDに接続して、次のコマンドを実行。

UART3:?:?"$PMTK314,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*2B":UART0

UART3は、GPSモジュール向けの改行コードCR+LFを送信するモード。PMTK314で受け取るメッセージを設定します。 GPSモジュールのTXDをIchigoJamのRXDにつないでみて確認しましょう。

9600bpsではちょっと遅いので、RXDを抜き、IchigoJam標準の115200bpsに設定して高速化!

UART3:?"$PMTK251,115200*2F":UART0:BPS0


GPSモジュールとIchigoJamは4本の線で接続。設定はGPSモジュールに記憶されるので、設定が終わったらGPSモジュールからのTXDは不要です。
初回だけ位置測位に時間がかかりますが、次からの起動では数秒で位置データが来るので、必要なときだけ電源をいれる用途にも使いやすい!

次に受け取ったデータを変数にいれます。
シリアルからの信号は、INKEY()で取得できるので、開始記号「$(=36)」を目印に、画面先頭に表示します。

10 UART0,1 20 K=INKEY():IF K!=36 CONT ELSE CLS 30 ?CHR$(K);:K=INKEY():IF K!=13 CONT ELSE ? 40 GOTO 20

UART0,1で、シリアル送信は止めて、シリアル受信だけを有効にしています。
開始記号でCLS、改行コード13が来るまで表示します。

$GPRMCメッセージのフォーマットは、時間、A(正常) or V(警告)、緯度、経度・・・となっているので、Aを受信していれば、緯度経度の読み取りをします。 数値の読み取りは画面上の文字コードから"0(=48)"を引けばOKです。

300 @ATOI:M=0:FORI=1TOL:M=M*10+PEEK(A)-48:A=A+1:NEXT:RTN

画面の左上に123と書いておき、呼び出すと値123となります。(Lは長さ、2にすると12になる)

LC 0,0:?"123" A=#900:L=3:GSB@ATOI:?M A=#900:L=2:GSB@ATOI:?M

応用して、dddmm.mmmmと度と分で表されている緯度経度を、整数と小数部分それぞれに分けて読み取るプログラムを作ります。

100 @PRS:A=#900+18:IF PEEK(A)!=65 RTN 110 GSB@GETM:LET[0],N,M:GSB@GETM:LET[2],N,M:RTN 200 @GETM:A=A+2:L=3-(PEEK(A+4)=46):GSB@ATOI:N=M 210 L=2:GSB@ATOI:N=N*60+M 220 A=A+1:L=4:GSB@ATOI 230 A=A+1:IF PEEK(A)=83 OR PEEK(A)=87 N=-N 240 ?N,M:RTN

画面先頭に$GPRMCのメッセージを表示し、@PRSを呼び出すと配列の0〜3に緯度経度が分数の小数表記で入ります。

液晶モジュールを接続したモバイルバージョンのプログラム全文がこちら。

10 UART0,1:SWITCH1:LED1 20 K=INKEY():IF K!=36 CONT ELSE CLS 30 ?CHR$(K);:K=INKEY():IF K!=13 CONT ELSE ? 40 GSB@PRS:GOTO 20 100 @PRS:A=#900+18:IF PEEK(A)!=65 RTN 110 GSB@GETM:LET[0],N,M:GSB@GETM:LET[2],N,M:RTN 200 @GETM:A=A+2:L=3-(PEEK(A+4)=46):GSB@ATOI:N=M 210 L=2:GSB@ATOI:N=N*60+M 220 A=A+1:L=4:GSB@ATOI 230 A=A+1:IF PEEK(A)=83 OR PEEK(A)=87 N=-N 240 ?N,M:RTN 300 @ATOI:M=0:FORI=1TOL:M=M*10+PEEK(A)-48:A=A+1:NEXT:RTN

*シリアル受信がおかしくなる現象対策版をIchigoJam-FANにて、β版1.2b51として公開中

GPSを持って外に出よう!

英語とプログラミング教育、壊して理解するBASICプログラム - 鯖江市へ教員向け教科書寄贈

2017/10/04 23:55:00
#KidsIT #IchigoJam #sabae 

いよいよ最後の敵(Enemy)が現れた、こちらのレーザー砲はあと1発分のエネルギーを残すのみ。
君は地球を守れるか!?・・・という、シリアスなシーンを再現した、シューティングゲームです。

まずは意味わからなくてOK!
次の7行のIchigoJam BASICのプログラムを、ゲームで遊ぶためにがんばって入力して、RUN!

10 E=RND(22):Y=12 20 CLS:LC31,E:?"E":LC0,Y:?">"; 30 Y=Y-BTN(UP)+BTN(DOWN) 40 IF BTN(SPACE) GOTO 60 50 WAIT 2:GOTO 20 60 FOR I=1TO30:?"-";:NEXT 70 IF Y=E ?"*SUCCEEDED!" ELSE ?"-FAILED..."

登場、14英単語の解説
RND: RANDOM(ランダム、でたらめ)の略
CLS: CLEAR SCREEN(クリアスクリーン、画面をきれいに)の略
LC: LOCATE(ロケート、位置を決める)の略
BTN: BUTTON(ボタン)の略
IF: イフ、もし
GOTO: ゴー・トゥー、〜へ行け
UP: アップ、カーソル上キーのキーコード
DOWN: ダウン、カーソル下キーのキーコード
SPACE: スペース、スペースキーのコード
WAIT: ウェイト、待て
FOR: フォー、〜へ向けて(FOR I=1 TO 30、NEXTまでを変数Iを30までくりかえす *プリントFOR/NEXT
NEXT: ネクスト、次
SUCCEEDED: 成功した(SUCCEED+ED過去形)
FAILED: 失敗した(FAIL+ED過去形)

すばやく敵(E)を正確に破壊しよう!

効果音を付けた豪華版への改造法(下記、60と70行を編集しよう!)

60 FOR I=1TO30:?"-";:BEEPI:NEXT 70 IF Y=E ?"*SUCCEEDED!":FOR I=1TO90:BEEP40+RND(20):NEXT ELSE ?"-FAILED..."

追加登場英単語
BEEP: ビープ、ピーと鳴らす

一旦、SAVEで保存して、プログラムを壊していきましょう。

60 70 LIST 10 E=RND(22):Y=12 20 CLS:LC31,E:?"E":LC0,Y:?">"; 30 Y=Y-BTN(UP)+BTN(DOWN) 40 IF BTN(SPACE) GOTO 60 50 WAIT 2:GOTO 20

60エンター、70エンターで、エンディングの60行と70行を消してプログラムを見ます。
この状態で RUN すると・・・?

>Line error in 40 40 IF BTN(SPACE) GOTO 60

エラーで止まりました、GOTO 60 としているのに 60行がもう無いからですね。
では、エラーがでる40行も消しちゃいましょう。

40 LIST 10 E=RND(22):Y=12 20 CLS:LC31,E:?"E":LC0,Y:?">"; 30 Y=Y-BTN(UP)+BTN(DOWN) 50 WAIT 2:GOTO 20

スペースを押しても無反応になりました。
30行、Y=Y-BTN(UP)+BTN(DOWN) の謎に迫ってみましょう。
変数Yは、10行で12にしていて、20行で自機(>)を表示する縦の座標として使っていますね

1 ?BTN(UP),BTN(DOWN):GOTO1 RUN 0 0 0 0 1 0 1 0

実行すると 0 0 が表示され、上を押すと左の数、下を押すと右の数が1になります。
つまり、上だけを押している時の Y=Y-BTN(UP)+BTN(DOWN) は、Y=Y-1+0 であり、LET Y,Y-1+0 と同じ意味で変数YをY-1+0をいれる、つまり、Yを1減らし、自機を1つ上げることになります。

1 30 Y=Y+1 RUN

1行を消して、試しに30行を足す1だけにしてみて RUN してみましょう!

Yが解読できたので、Yに関するプログラムなどを消して、10行と20行だけにしましょう。

10 E=RND(22) 20 CLS:LC31,E:?"E"

Eは敵の縦の座標、ランダムに決めて、横の座標31、つまり右端に敵を表示しています。
RUNするたびに場所が変わります。
縦は24コあるはずですが、なぜ、RND(22)なのでしょう?
いろいろ試して謎に迫ってみてください。

学校は、学び方を学ぶ場所

PCN鯖江から鯖江市に20冊寄贈した書籍「小学校教員のためのプログラミングで考える教育の実践入門」(Kindle版
市長、教育長、著書の吉村さんとのプログラミング教育ディスカッション。

いろんな教科を題材に、いろんな学び方があって、自分でいろいろ学べるのだと気づくこと。
どんなことでも自分で学べる方法さえ身につけばそれでOK!

コンピューターはすばやく、かつ、決して諦めることなく、怒ることなく、正確にYESかNOかを答えてくれるある種、完璧な先生です。 人間の先生は、人間の先生でしかできないことに集中できる環境づくりをお手伝いしていきます。

算数と英語が弱いという鯖江市、プログラミングで算数と英語が好きになってもらいましょう!

IchigoJam、AOTECHスリムミニキーボードでのネコ入力に対応ベータ版

2017/10/03 23:55:00
#KidsIT #IchigoJam 

IchigoJam、人気の裏技、左ALTキーを押しながら「C」を押すと出るネコ。
PS/2対応のコンパクトなキーボード、AOTECHのスリムミニサイズキーボードを使っている方からのご要望で、無変換キーを左ALTとして使えるバージョンをつくってベータ公開。

容量が溢れて、モバイル液晶対応をOFFにして容量を空けた暫定版ですが、一度お試しください!
IchigoJam-FAN ファイル


また、左ALTキーを押しながら、0〜9とA〜VまでだったのをWXYZも0〜3と同等と割り当て、子供がいろいろ押して試しやすくもしています。
キャラクター太字化プログラム」と合わせて使うと便利です!

ブラウザでお試し、IchigoJam web でも対応!

links
- AOTECH スリムミニ日本語78キー キーボード レッド AOK-78RE-A 赤縁取り!
- AOTECH PS/2&USB接続 日本語88キー +7ホットキー スリムミニキーボード AOK-88UPBK-A ホットキー付き!
- ichigojamデスクトップ型 ケース製作、その1 暇つぶし工作/ウェブリブログ 赤縁取りとお揃いのケース加工例!

自分で作る電飾!4足の数珠つなぎできるコンピューター内蔵LED「PL9823でいろあそび - IchigoJamプリント」

2017/10/02 23:55:00
#KidsIT #IchigoJam #maker 

WS2812Bと同じように数珠つなぎにできるコンピューター付きフルカラーLED「PL9823
赤緑青(RGB)を0〜255の256段階で順に指定してマシン語を呼び出すだけ!

色、自由自在!(PL9823、選べる大きさ5mm8mm


一番長いピンがGND、データシートに習って右から2番目にくるように見ます。
左から、DIN(データ信号入力)、VCC(電源5V、3.3Vでも動く)、GND、DOUT(次のPL9823のDINへ)


IchigoJamプリントPL9823へいろあそび」(PDF)
マシン語はWS2812Bと共通ですが、色の並びが異なります(WS2812B GRB、PL9823 RGB)


2つつないだ例。1つ目のDIN、VCC、GNDを2つ目のDOUT、VCC、GNDにつなげばOK!
数珠つなぎで数百コ接続してもOKです!(明るく光らせる場合は電源の追加は必要です)


アイオーデータ、細野さん、会長就任おめでとうございます!記念写真 with IchigoDake

全10か所相互中継、第7回小中学生対象のプログラミングコンテスト「PCNこどもプロコン表彰式」

2017/10/01 23:55:00
#KidsIT #IchigoJam #IoT #maker 

PCN(プログラミング クラブ ネットワーク)主催の小中学生対象のプログラミングコンテスト、7回目となる「PCNこどもプロコン2017夏」の表彰式がありました。 賞が決まって、大喜びする子供達、賞を逃した子供達にも審査委員からのコメントと参加賞をお届けしますよ!

今回は、イギリスのラズベリーパイ財団とケニアのアイダーアフリカから、海外からの初の特別協賛!
シンガポール在住、チームラボの高須さんから子供たちへの講演からも、世界との近さ、感じてくれたはず!

創って、見せて、また創りたくなる。誰かの創ったのを見て創りたくなる。何かを創ることつながる、創る仲間に国境なし。創ること好きの輪、世界中に広げましょう!


サテライト会場の人も含めて記念写真!


全国9か所を相互中継!


IchigoJamで作られた「300円を入れたら利用できる富士山トイレ」
心打たれる、身近な社会課題に切り込んだ作品!


印象深い「スマホ使いすぎ防止マシーン」
ゲームしすぎと怒られた時代とは隔世の感がありますね!子供が親をマシーンでたしなめる時代です。


シンプルな機構、安定した動作、筐体のインパクト、大きな音(音量調整可能)。
抜群の完成度の高さを誇っと、足でひくピアノ「Step on(音) the piano(IchigoJam BASIC)」


アルミホイルとダンボール、各端子からの配線をブレッドボードにまとめ、音量は100均のアンプとスピーカーを改造して強化!


回線の契約がないiPod touchでもプログラムの受け渡しするために、画像化エンコード・デコードを独自研究によって実装、検証した作品「EasyAppExchange」 子供ならではの課題をテクノロジーで解決しちゃう感がナイス!


子供の作品にうなる大人


シンガポール、メイカーが大事すぎて大臣もメイカーに!?
国連で演説するヴェヴィアン外務大臣!


ヴィヴィアン外務大臣は、なぜつくるのか? → 楽しいから
大人だって楽しいからつくるのだから、子供はもっともっとつくって楽しんでほしい。
やってみないとわからない、つくってみないとわからないのは大人も子供も一緒!
じゃんじゃんつくって、たくさん失敗すればするほど強くなる!


仙台と福井をむすんだ、IoT(インターネット オブ シングス)デモ!
スマホに表示される距離センサーの値をみながら、福井のロボットを仙台からちゃんと制御できるのか!?
こどもでも遊べるIoT!ネットネイティブな子供にとってはネットにつながるのは極自然なことなのかも。


ラズベリーパイ財団賞には創始者Eben Upton(エベン・アプトン)さんも賞賛「スマホ使いすぎ防止マシーン」
お母さんのスマホ使いすぎを子供がオリジナルのマシンを発明して、注意する時代です!


アイ・オー・データ機器を授与する細野会長!いい笑顔です!


テレビ会議サービスZoomを使って双方向につないだ、各地サテライト会場となったPCNへ協賛賞パネルをこっそり事前送付。


今回は北海道から東京サテライトへ参加してくれたスマホ使いすぎ防止装置をつくった森下くん!


金沢から福井会場に来てくれました!


SwiftでiPhone用クイズアプリ「IchigoJam Mania」をつくったMASAHARU、永和システムマネジメント賞を受賞!


jig.jp賞は、Scratchでつくったカブトムシキャッチャー。吸引しちゃうアームがコミカル、採ったら減点のハエ、高得点の金のカブトムシ。得点計算の演出がかわいい!

副賞のIchigoJam詰め合わせに、楽しい「コンピューター付きフルカラーLED WS2812B」とその使い方も同梱。
IchigoJamプリント「WS2812Bでいろあそび」ぜひチャレンジしてみてください!

IchigoJam用に買った7インチディスプレイ、電源にACアダプターソケットがないことあり!?

はんだづけテクニックがあれば、大丈夫!(高電圧は危険なので気をつけて!)

審査委員として、CoderDojo から安川さんにも参加いただきました!
全国103か所以上の子どものためのプログラミング道場「CoderDojo」もぜひ訪ねてみてください!

経験値を貯めるほどに上がる、ものづくりレベル!
第8回もお楽しみに!

links
- PCNこどもプロコン

IchigoJamで計算する色相環、色相・彩度・明度を光の三原色に / HSV2RGB in BASIC

2017/09/30 23:55:00
#IchigoJam #maker 

虹みたいなグラデーション、色相を学んで自分で作ろう!
赤→橙→黄→緑→青→藍→紫→赤、と色がループするものと捉えるのが色相環。
色は、色相(Hue)と、鮮やかさ(発色の良さ)を彩度(Saturation)、明るさを明度(Value)でも表せます。


低価格コンピューター内蔵フルカラーLED「WS2812B」を使って、色相をぐるぐる変えてみました。


切ってもつないで自在に使えるWS2812B、3つだけカットし、ピンヘッダーを付けたコンパクト版。
5V/DI/GNDを、IchigoJamのVCC/GND/OUT1にそのままさして手軽に実験できます!

プログラムはこちら(10/20行はWS2812Bコントロール用マシン語)

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 100 POKE#800,3*3,0 110 V=30:S=80 115 FOR I=0 TO 359 STEP 1 120 H=I:GSB@HSV2RGB:POKE#802,G,R,B 130 H=I+60:GSB@HSV2RGB:POKE#802+3,G,R,B 140 H=I+120:GSB@HSV2RGB:POKE#802+6,G,R,B 145 U=USR(#700,#800) 150 NEXT 160 GOTO 115 500 @HSV2RGB 505 R=V:G=V:B=V:IF S=0 RTN 510 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 520 IF D=0 G=C:B=F 530 IF D=1 R=E:B=F 540 IF D=2 R=F:B=C 550 IF D=3 R=F:G=E 560 IF D=4 R=C:G=F 570 IF D=5 G=F:B=E 580 RTN

H、S、Vに値を指定して GSB@HSV2RGB で、光の三原色RGBに変換します。
Hは色相、0-360で指定します。0が赤です。
Sは彩度、0-100で指定します。100で一番鮮やか、0でモノクロ。
Vは明度、指定した値がRGBそれぞれの最大輝度になります。
変数C/E/Fを使っているので注意!
(変換方法の詳細は「HSV色空間 - Wikipedia」などを見てみよう)

WS2812Bを3つ、色相を60度、120度ずらしたものと合わせてグラデーションさせながら点灯させています。 110行の明度と彩度をいろいろ変えてみましょう。普通のフルカラーLEDをPWMで制御するものにも使えます!

彩度(S)を使わない HV2RGB だともうちょっとシンプル。

500 @HV2RGB 510 D=H/60%6:E=H%60*V/60 520 IF D=0 R=V:G=E:B=0 530 IF D=1 R=V-E:G=V:B=0 540 IF D=2 R=0:G=V:B=E 550 IF D=3 R=0:G=V-E:B=V 560 IF D=4 R=E:G=0:B=V 570 IF D=5 R=V:G=0:B=V-E 580 RTN

過去の一日一創作品より、色相関係をピックアップ

HSVの3パラメーターを3本指で!(マルチタッチ用)カラーセレクター / colsel」 2016年


簡単に色調が整えられる TinyHSVTinyHSV」 2013年


hsb2rgb」 2012年

色、たった3パラメーターなのに奥深い!

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