福野泰介の一日一創

熱い福井県庁広報課による「おいでよ!ふくい」動画を集めた「おいでよマップ」

2016/09/28 23:55:00
#js #fukui #opendata 

福井県庁広報課による公式動画「おいでよ!ふくい
敦賀の山を隔てて、嶺北と嶺南と呼び分けられる福井県、嶺北にある鯖江市からはちょっと遠いイメージの嶺南ですが、動画に登場した小浜の海鮮丼を見ると、行きたくなれます!新しい高速道路もあって近い!

この動画で第三弾、第一弾の勝山市恐竜博物館、第二弾の池田町ツリーピクニックアドベンチャーも合わせて、「さばれぽ」に「おもしろい」タグで投稿し、タイトルが「おいでよ」で始まるデータをマッピングした「おもしろマップ」を地理院地図を使って作りました。


おいでよマップ

さばれぽ」への「おいでよ」投稿すると自動的に掲載されます!
Let's おいでよ X!

アップした動画はオープンデータとしても活用される、ふるさと動画コンテスト開催中!
平成28年度福井ふるさと動画コンテストを開催します! | 福井県ホームページ

楽しく制するマシン語、ARMマシン語学習用VM on JavaScript

2016/09/27 23:55:00
#js #ARM #avm 

イマドキのBASICとしてIchigoJamが紹介サれている今月の「日経ソフトウェア」で見かけたマシン語の話題。 ドラゴンクエストのゲームデザイナー、堀井雄二氏はNEC PC-6001のBASICでプログラムを始め、速度を求めてZ80マシン語へ。ハンドアセンブルでマシン語プログラムを作ったそう。 「矢沢久雄のソフトウェアの基礎Q&A」では、基本情報技術者試験で使われる仮想マシン語CASLIIのススメ。 Z80ハンドアセンブルした小学生時代、CASLIIがJavaVMと似てると思った高専生時代が懐かしい。

私の一押しは、32bit CPU、ARM Cortex-M0のマシン語。IchigoJamで使っているLPC1114で使え、コンパクトで強力かつ、iPhoneなどスマホでも動きます。 (でも、本気で動かすなら64bit対応のARM64マシン語!)


連載、ARMマシン語入門と合わせて使えるシミュレーター「avm」をつくってみました。フラグなどがいい加減で、まだ表示がないので、連載その2までの対応です。

サンプルのマシン語プログラムは、10から1までをループしながら足し算するプログラム。たかだか100円ちょっとのCPUですが、54サイクル、1.12μ秒(約100万分の1秒)で計算するパワーをフルに使い切る感こそ、マシン語の醍醐味!

JavaScriptでつくったシンプルなバーチャルマシン(VM)「avm」、どうぞいろいろ改造してお使いください!
IchigoJamで学ぶARMマシン語入門」と合わせてどうぞ!

ネット接続IchigoJamを使って大規模プログラムを共有する 〜紙からネットへ〜

2016/09/26 23:55:00
#IchigoJam #KidsIT #python 

日本初のパソコン、日立ベーシックマスター
38年前の今月、1978年9月に日本初登場の8bitパソコン、CPUの周波数はなんと750kHz(0.75MHz)!
RAM4KB、32x24文字のモノクロテキスト、BASICとマシン語、スペックがIchigoJamっぽい!

マシン語やBASIC、周辺機器や自作ゲームの売り買い情報満載の当時のユーザーの熱気が伝わる1984年の同人誌「BASIC MASTER LEVEL2 MAGAZINE」を入手!(LEVEL2とは、ベーシックマスターのROMが4KBから8KBになった拡張用の意)

IchigoJamは、こどもでも手軽に手に取れる紙を基本にしていますが、子供にとってもネットという手段は当たり前、せっかくつくったプログラムは広く公開したくなるはず。 そんなとき便利なこどもネットワークボード「MixJuice」、IchigoJamにこうして挿して使います。

まずは家の無線LANを設定して

?"MJ APC [ssid] [password]

webからダウンロード!

?"MJ GET ichigojam.net/p/B-TOUCH-MASTER.TXT

すぐに遊べます!(ブラインドタッチマスター for IchigoJam

こどもプロコンに応募があった、EEPROMを何スロットも使った大作。一気にIchigoJamに転送するため、Pythonで連結プログラムを作成

# make a combined file for MixJuice on IchigoJam # public domain import os out = open("out.txt", "bw") files = os.listdir("src") for file in files: print(file) out.write(("cls'\nnew\n").encode("SJIS")) fp = open("src/" + file, "br") d = fp.read() fp.close() out.write(d) out.write(("\nsave" + file[0:-4] + "\n").encode("SJIS")) out.write((" \n").encode("SJIS")) out.close()

フォルダに入っているファイルを連結して、out.txt というファイルを生成。これをwebにアップロードしておけば、大作をまとめてEEPROMへとダウンロードできます。 (EEPROMへの保存コマンドが含まれるので、大切なEEPROMをうっかり消さないように注意が必要です、セキュリティの基本は自己防衛!)

青空はんだづけ&プログラミング!IchigoJamプリントで学ぶ基本 - Sabae Sonic Festival 2016

2016/09/25 23:55:00
#IchigoJam #sabae #KidsIT 

福井新聞のプログラミングフェスの参加者や、新聞見て来てくれた方など、プログラミング熱の高まり感じる福井。 鯖江市西山公園で開催された鯖江JC主催「Sabae Sonic Festival 2016」で出展、IchigoJamブース。 大事なのは、きっかけと達成感。


秋のいい天気にめぐまれました!


つなぐだけ簡単電子工作、ロボットをつくりたい5歳の子でも、つないで遊べるFaBo


ロボットの頭にはコンピューター、それを操るプログラミング、まずは自分ではんだづけ!


できあがったら「プログラミングはじめのいっぽ
コンピューターがわかると社会を見る目が変わります


楽しくきっかけをつかんだあとは、自分でつくりたいもののために学習あるのみ!
追記したIchigoJamプリントや、教科書、書籍などを好きな教材でチャレンジ!
Hana道場各地のPCNクラブ福井県外・国外も)もどうぞ!


音楽と心地よい風を感じながらのはんだづけ、子供も大人も楽しんでくれました!


鯖江市役所JK課のスイーツ、やまうにたこやき、サバエシティーホテルのサンドイッチなど食も堪能。

電圧自在!LM317計算機

2016/09/24 23:55:00
#maker #IchigoJam #js 

3GIMに3.7Vや、9V電池で動くセンサーをACアダプター化したいなど、いろんな電圧が欲しい時、LM317という可変三端子レギュレーターが便利です。

抵抗2つで電圧を設定するLM317、目的の電圧を手持ちの抵抗でつくるための計算機を作りました。R1は推奨値120Ωとのこと。抵抗にも誤差があるので、実際の電圧はテスターで確認するといいです。

Calc for LM317
欲しい電圧を一番上のVOに設定すると、抵抗値を計算します。
R1とR2を微調整すると、計算上のVOとその誤差を計算します。
入力電圧は、VOより3V以上高くする必要があるそうです。
可変三端子レギュレーター 1.2〜37V 1.5A LM317T-DG: 半導体 秋月電子通商 電子部品

さくらのIoT Platformαを使った、ネコトイレIoTをACアダプター化して、家電化完了!

誕生60周年!人工知能のはじめのいっぽ、ジャンケンするコンピューター

2016/09/23 23:55:00
#KidsIT #IchigoJam 

話題の人工知能、誕生は古く、Wikipedia「人工知能」によると今年がちょうど60周年。 コンピューター自体が自らを進化させる力を持つ日「シンギュラリティ/技術的特異点」の紀元はなんと19世紀。

人が自分自身を探求する気持ち、これがきっと、人工知能の第一歩。

小中学生100人プログラミングフェス」中学生の部、CPUの中の人として紹介されたロボット、ズームくん。 人に替わってやってほしいことを、スゴロクのようにあらかじめ作った道(プログラム)にすると、ひとつひとつ忠実に、かつ超高速に動いてくれます。 誰かがその動きを知的だと思えばそれが、人工知能。


簡単なようで奥が深いジャンケンにおける「でたらめ」な手。A=RND(3)で0から2の3つのくじびきを引くイメージで、Aという変数にいずれかの数がセットされます。

最初はグーをだす人、チョキを多く出す人など、性質がばれると負けます。 完全に法則性のない偏りのない完全なでたらめはコンピューターにも無理ですが、IchigoJamのCPUですら人の1億倍速い計算力を使って、かなりいいでたらめが生成できます!


0,1,2という単なる数をどう解釈するかは作り手次第。ジャンケンのグー・チョキ・パーと見立てるとジャンケンに、晴れ、曇、雨と見立てれば天気占いになります。


4行のプログラム、「ジャンケン」の掛け声のあと、RUN(F5キー)でコンピューターとジャンケンしてみましょう。100回やって勝ち越せたらきっと結構、運がいい!

IchigoJamプリント「ジャンケンゲーム&おみくじ」も用意しました。前に出した手は出さないように改良したり、相手の手を真似たり、究極のジャンケンを追求してみてください。 サーボモーターで実際の手をつくったり、勝ったり負けたりで表情をつけるのもいいですね!


ジャンケンゲーム&おみくじ印刷に便利なRNDとの2枚組pdfも!)

ややこしいでたらめのアルゴリズムもRNDで使えば簡単なように、最新の人工知能を実現する「機械学習」も無料から始められる便来なツールやライブラリがたくさん誕生しています。 子供もおじいちゃんも、レッツ、ディープラーニング!

100人のこどもプログラマー誕生!福井県小中学生プログラミングフェス2016

2016/09/22 23:55:00
#fukui #KidsIT #IchigoJam 

ゼロから始めるこどもたちのためのプログラミング!
福井新聞社主催「福井県小中学生プログラミング・フェス2016
参加してくれた100人の子供たち、関係者のみなさま、素敵な体験をありがとうございます!
(福井県教育委員会後援/北陸電力協賛/PCN共催)


PCNスタートメンバーの登場シーン (photo by PCN三重、岡村さん)


こどもプログラマーで埋まった、天井高く広々、福井新聞「風の森ホール
午前小学生、午後中学生の約50名ずつ計100名、2時間で学ぶコンピューターの基礎とプログラミングの入り口。 LED/WAITとコマンドでコンピューターをあやつれたら、GOTOを使った初めてつくる夜の信号プログラム。感覚を掴んだところで、早速ゲームをつくってみよう!


はじめてのバグとの戦い(シンタックスエラー、文法間違い=主に打ち間違い)


完璧に動くようになったら、今度は改造、ひとりひとり全く違うゲームになっていく「かわくだりゲーム


手元の共有と保護者さん用にサブプロジェクター投影した、無線LANで接続する小型中継カメラSONYのアクションカムが活躍!


プログラミングの腕試し「こどもPCN」のチャンピオン、中1になったMASAHARUのゲスト出演&ライブコーディング! 楽しい、おもしろい、もっとやりたい→継続に勝るもの無し。


プログラミングができるとゲームだけでなく、ロボットづくりも楽しめるよ!と、こどもロボットpaprikaと、大型車ラジコンをIchigoJamでコントロールするデモ走行(動画 on YouTube


毎日のように登場する新技術を使いこなすために、自分で学べる力をプログラミングを通じて身につけてね!とメッセージ、買って自宅でもという方多く、うれしかったです!


鯖江のHana道場に通い、現在新しいコンテストに次々と挑戦中の高1三崎くんもサポートにかけつけてくれました!


京都、東京、金沢、仙台、三重、長野、各地のPCNメンバーも集結。
子どもたちに元気をもらって、パワーアップ!


夜は福井新聞&PCNでの打ち上げ。アフレル小林社長も合流し、次なる企みキックオフ!

IchigoJamはじぶんでつくるのもたのしいよ!週末9/25(日)のフェス、Sabae Sonic Fesitival では、はんだづけブース出展!

(はんだづけのイメージ、めがねフェス2016の様子です)
大人も子供も親子でも!コンピューターと仲良くなれる、だいいっぽ!

関連リンク
- 小中学生プログラミングフェス開催!98人のこどもたちとIchigoJam、福井は次のステージへ! - about yrm(フェスレポート by PCN代表)
- 人工知能のはじめのいっぽ、ジャンケンするコンピューター(今回フェス教材より)

Googleマップ使用のオープンデータアプリ保守、GitHubへのマイグレーション(お引っ越し)

2016/09/21 23:55:00
#opendata #js 

LODチャレンジ2016キックオフで話題となったSSLとGoogleマップのアプリが動かなくなる問題。 時とともに、Web・ブラウザ・端末の仕様が変わったり、新しい端末が出たりと、つくったアプリには、それらに合わせたメンテナンス(保守)が必要です。


こちら「AEDナビ(odp)(src on GitHub)」は、2014年10月に九州で開催された「ビッグデータ&オープンデータ研究会」の時に福岡版と合わせて開発したもの。 スマホでGPS位置情報が使えない問題に対応するため、APIキーを設定し、GitHubへ移します。(GitHubはじめのいっぽハンズオン資料

続いて、元のURLに、そこにアクセスした人が引越し先へ自動的に移るように設定しておきます。今回は手軽にHTMLのmetaタグでリダイレクト対応。 これで今までのリンクは無駄になりません!(HTTPステータスコード301、Moved Permanently を使うのがベスト)

<!DOCTYPE html> <html><head> <meta http-equiv="refresh" content="0; url=https://codeforfukui.github.io/findaed/"> </head><body> </body></html>

同様に、2014年7月に開発した、自分の周囲のオープンデータを探して表示する「近くを探す」も引っ越し完了!


近くを探す(odp)src on GitHub

ぜひGitHubでforkしてAPIキーを設定し、あれこれSPARQLを試しつつ、オリジナルアプリ作成の第一歩へ、ご利用ください!

インストール、登録、ログイン一切不要!講演で気軽な匿名コメント共有サービス「コメント.net」スタート

2016/09/20 23:55:00
#share #js 

2010年、呉高専への遠隔講演では携帯メールで受け付けたコメントが反応率30%、112通と予想外の大反響。
新しいメディアを体感しました。
リアルを超えた!呉高専テレビ講演&メール質問 : めがね会館IT社長 福野泰介ブログ

2016年、誰もが持つスマホを使ったリアルタイムなコメント共有サービス「コメント.net」始動!
福大での講義用にと共同講師の若新氏リクエストを受けてつくったシンプルな「commentshare」、返信機能だけついた「commentshare2」を経て、シェアしやすいURLとQRコード、やさしいガイドがつきました。


コメント.net」 CC BY fukuno.jig.jp / Co-produced by wakashin.com

http://コメント.net/#test」とハッシュタグ付きでアクセスするだけで、各講演毎の部屋ができます。
同じハッシュタグを使って「http://コメント.net/pcview.html#test」でスクリーン用画面。
イケダハヤト氏をゲストに招いた鯖江市主催イベント「鯖江・若者×いなか超会議」でも活躍!


> コメント投稿、当日会場では、参加者全員がお手元のスマートフォンから匿名で自由に質問やコメントを投稿できます!投稿内容は会場スクリーンにも投影され、登壇者にもリアルタイムでフィードバックされます。
鯖江・若者×いなか超会議より)

イベントを伝えるレポート
「若者が田舎を活性化する」のではなく、「田舎が、若者を活性化してくれる」のですよ。 : まだ東京で消耗してるの?」 by イケダハヤトさん
東京で消耗したくなくなったかも。 鯖江・若者×いなか超会議がめちゃくちゃ面白かった件。 | Dear ふくい」 by 江戸しおりさん

ひと味違ったインタラクティブな講演や授業や会議やその他いろいろ、ぜひ気軽なシェアをご体感ください!
コメント.net」(私史上初の日本語ドメイン活用サービス!)

大きな数の足し算(30桁)アルゴリズムとプログラム、JavaScriptもOKなベーマガ!?

2016/09/19 23:55:00
#IchigoJam #KidsIT 

小学4年生で習う大きな数の足し算。IchigoJamが普通の変数が扱える数は4桁ちょっと(プラスマイナス約3万、16bit整数)で足りない時はプログラムで補いましょう。 次々入力する大きな数を、どんどん加算していくプログラムをつくってみます。


IchigoJamで、0が27コ並ぶ、10の28乗、の桁まで足し算できます!

こちらが大きな数の足し算のメイン。

200 'SUM 205 C=0 210 FOR I=L TO 0 STEP -1 220 A=SCR(I,Y-2)-Z 222 B=SCR(I,Y-1)-Z 230 IF A<0 AND B<0 AND C=0 I=0:GOTO 270 240 IF A<0 A=0 250 IF B<0 B=0 255 A=A+B+C 256 C=0:IF A>=10 C=1:A=A-10 260 LC I,Y:?CHR$(A+Z) 270 NEXT

下の桁から、同じ桁同士の数AとBを足して、10を超えたらCに1をいれておき、次の桁に足す。 小学校で習った筆算の手順そのままです。このような問題解決の手順をアルゴリズムといい、アルゴリズムをコーディング(プログラミング言語で表現)したものがプログラムです。※Z=ASC("0")

プログラミング=アルゴリズムの考案+プログラミング言語による表現

体験こそ最大の学び。 疑問に思ったこと、興味持ったことをどんどん自分の手で作ってみるのが、アルゴリズム思考力(=問題解決力)アップの近道!

1 'BIGSUM 100 CLS:Y=1:L=29:Z=ASC("0") 105 LC L,Y-1:?"0" 110 'INPUT 112 X=L 120 K=INKEY():IF K=0 CONT 130 IF K=10 GOSUB 300:GOTO 200 131 IF K<>8 GOTO 135 132 IF X<L FOR I=L TO X STEP-1:LCI,Y:?CHR$(SCR(I-1,Y)):NEXT:X=X+1 133 GOTO 120 135 FOR I=X-1 TO L:LC I,Y:?CHR$(SCR(I+1,Y)):NEXT 140 LC L,Y:?CHR$(K) 150 X=X-1:GOTO 120 200 'SUM 205 C=0 210 FOR I=L TO 0 STEP -1 220 A=SCR(I,Y-2)-Z 222 B=SCR(I,Y-1)-Z 230 IF A<0 AND B<0 AND C=0 I=0:GOTO 270 240 IF A<0 A=0 250 IF B<0 B=0 255 A=A+B+C 256 C=0:IF A>=10 C=1:A=A-10 260 LC I,Y:?CHR$(A+Z) 270 NEXT 280 GOSUB 300:GOTO 110 300 'NEXT LINE 310 IF Y<20 Y=Y+1 ELSE SCROLL UP 320 RETURN

こちらが電卓のように1の位が揃うように数が入力できるプログラムも含んだ全文です。引き算、小数対応、掛け算、割り算など、いろいろ改造してみてください。

20数年前、MSX BASICから、背伸びして手を出し始めたZ80マシン語。こちらお気に入りの教科書「Z80マシン語秘伝の書(日高徹 著)」。

8bit CPUのZ80を使って、大きな数を扱うためのアルゴリズムを、Z80マシン語のコーディングと合わせて、軽快な楽しいフィクションQ&Aで学べました。

復活後、第7号になる今季のベーマガ(電子工作マガジン 2016年11月号内)もIchigoJamを使ったユニークなアルゴリズム満載! どうやってできているのか?どうしたら作れるのか?疑問に応えるプログラムが解説付きで読めます。

IchigoJamプチコン3号のBASIC作品に加え、次回からは IchigoLatte用JavaScriptを使った作品の投稿もOKに! 憧れのベーマガに挑戦してみませんか?

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