福野泰介の一日一創

ネット接続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代表)
- 人工知能のはじめのいっぽ、ジャンケンするコンピューター(今回フェス教材より)

大きな数の足し算(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に! 憧れのベーマガに挑戦してみませんか?

ねこxIoT - さくらIoT Platformαをつかった電源つなぐだけネコトイレIoT

2016/09/18 23:55:00
#IchigoJam #opendata #maker #neko #IoT 

動くおもちゃネコエサカウンターレーザーおもちゃネコトイレロガーに続く自作ネコツール第5段、「ネコトイレIoT」。 猫がいつトイレに行ったのか?1日何回行っているか?気になる猫の体調管理をいつでもどこからでもスマホでチェックできるサポートガジェット。さくらのIoT Platformα内蔵なので、電源をつなぐだけ!


ネコトイレに一体化を前提に、ひとまず外置きプロトタイプ。


今回は、家にあった電センサーを改造して使用。焦電型赤外線センサーモジュール(PIRセンサーモジュール)は、400円(5V〜12V仕様、秋月電子)や、600円(3.3V〜12V仕様、秋月電子)534円(2.7V〜12V仕様、aitendo)など、そこそこ手頃。

配線などは、IoT ハッカソンのねこ型ロボットで感心した紙外装テクノロジーを使用。ネットワークは家の中なので無線LANでもいけますが、せっかくなのでさくらのIoT Platformαを使用。(さくらのIoT Platformαのつなぎかた、つかいかた

IchigoJamでさらっとBASIC IoTプログラミング!

10 IF IN(1) GOTO 10 20 N=N+1:?N 30 POKE #700,#30,1,73,N,N>>8,0,0:?I2CW(#4F,#700,1,#701,6) 40 WAIT 10*60 50 GOTO 10

センサーの反応があったら通信、10秒待ってから再び反応待ち。通信がうまくいっているか見るためのカウンター変数、N。


かんたんなWebアプリを用意してできあがり!早速、深夜0時半にトイレにいった模様。
いつでも気軽に手元でさっと確認したいもの、どんどんネットにつないじゃいましょう!

参考リンク
- 1行リターンでIoT、さくらのIoT Platformα x IchigoJam BASIC で超簡単ネット接続デバイスづくり

オープンデータは世界のOS - LODチャレンジ2016キックオフ これからの「オープンデータ」の話をしよう

2016/09/17 23:55:00
#opendata #sparql #IchigoJam #fukui #yokohama 

データはWebで広がり、オープンデータで自由になり、リンクトオープンデータ(LOD)でつながり、世界変革のプラットフォームとなる。

LODチャレンジ2016キックオフ」これからのオープンデータは、行政と民間、それぞれのオープンデータがLODでつながった日々アップデートされるOSとなり、市民による活動(=アプリ)が次々と誕生するダイナミックでエキサイティングな世の中のキーワード!

第一回目のLODチャレンジ2011で「公共LOD賞」を受賞したことでデータシティ鯖江は加速しました。キーカラーはアグレッシブな赤!


360度カメラ、THETA S でも記念撮影!CC BY な、LODチャレンジロゴをマッシュアップ!


実は今回、美浜町でのJC企画、職業体験「三方五湖キッズタウン2015」とダブルヘッダー。赤いイチゴ帽子スタイルでの参戦でした。


IchigoJam本を持ってきてくれる子、昨年に続きプログラミング体験を選んでくれた子も!


プログラマーという仕事の肝は、常に自分で学習し続けること。自分で学ぶ力を学んでもらうため、IchigoJamの入門書を見ながら30分、自習でプログラミングをやってもらうスタイル。 LED、順次実行、変数、IF文、くりかえしをざっと体験したあと、ゲームの打ち込み、改造も楽しんでもらいました!


LODチャレンジキックオフの新企画、テーマに別れて全員でディスカッションする「アンカンファレンス」


LODx伝統工芸、伝統工芸品と伝統的工芸品の違い、知りませんでした。LODxメディア、ジオ、人工知能、オリンピック、スタートアップと気になるテーマに自由参加。


女性参加も多数、LOD入門編のアンカンファレンスの様子。LOD使いこなす小中学生も近日、誕生か!?

LODチャレンジ2016は、10/1より募集開始!
jig.jpの自治体向けLODプラットフォーム「odp(SSL対応済み)」も触ってみてください!
新宿区の多言語無線LANスポット検索「findwifi on GitHub ハンズオン資料」もどうぞ!


LODのLポーズ(photo by LODチャレンジJapan

参考リンク
- LODチャレンジ2016
- LODチャレンジ2011-2015統計情報 | LinkData
- LODチャレンジ 応募作品データ | LinkData

情報モラルの体験学習、IchigoJamをつないでネットをつくろう!鯖江市立神明小学校プログラミングクラブ

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

2014年から鯖江市内の小学校でスタートした、プログラミングクラブ。 各回1テーマにしぼったプリントが好評だったので、今回は義務教育で登場する「情報モラル」の肝、ネット。


計30人、ペアになってもらって、IchigoJam同士を自分たちで接続して、チャットをつくってもらいました。 ローマ字でメッセージを送りあいます。念のため配った、ローマ字表は要らなかったかも。


IchigoJamの他に用意するのは、3本のジャンパー線。Amazonでも65本で500円ほどで売っています。 説明書を見て、自分で試行錯誤しながらやってもらいます。丁寧に口で説明しすぎては、いつまでたっても自分で学ぶ力は身につかない!


エラーを起こすと Syntax error をお互い送り合って止まらない、コンピューターウイルス状態になります。 止めるには、ジャンパー線をどこか一箇所ぬけばOK。

たった2台でもネットワーク、これが60億台つながったものがインターネットだよ、無線も本質は一緒だよ、と最後にコメントしてクラブの時間、終了。 説明より先に、体験。


ぜひ親子、兄弟、友達同士でお試しください!

上級者向け、IchigoJam T 表面実装はんだづけキット、発売開始!
IchigoJam プリント基板完全キット T | Programming Club Network」税抜き1500円!
初心者、こども向けは、こちらハーフキットをどうぞ!
IchigoJam プリント基板ハーフキット T | Programming Club Network」税抜き1750円!

日常モラルと情報モラル、恐怖が産んだもう1つのモラル

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

学校で学ぶもの「学習指導要領」の現行テーマは「ゆとり」でも「詰め込み」でもなく「生きる力」。

小中高とそれぞれ分かれた本文を読むと、20年前には習わなかった「情報モラル」が小中の道徳、中学の技術などに登場しています。 導入のきっかけは、携帯電話やゲーム機からのアクセスで話題になった「学校裏サイト」な様子(文科省、子供の携帯電話をめぐる問題)。ただ、科目「技術」を含めて本質的な「コンピューターの理解」が抜けています。


「ブラジルまでの時間」(イラスト:かわいいフリー素材集 いらすとや

日本の裏側ブラジルまで、ほんの数百年前までいくことすらできませんでしたが、船の発明で1ヶ月、飛行機で1日で到達できるようになりました。 現代は、コンピュータによる通信、ネットによって片道0.1秒、AR/VRを使えば家に居ながらにしてブラジルの町中を散策できます。飛行機より100万倍速く、無料。


道具の進化(小学生にこそ知ってほしい道具の進化と活かし方より)

人類の夢「世界中の人とコミュニケーションしたい」「豊かな社会を創りたい」がつくったコンピューターは、たった100円のコンピューターでも1秒に4800万回の計算力、家庭のパソコンでも秒間1000億回を超える計算力が持つ程になりました。

世界をつなぐ100億台のコンピューター、インターネットの正体です。各コンピューター間は、線や無線でつながっていて、光速に近い速度で0か1かのディジタルデータをやりとりしているに過ぎません。 実際に自分で組み立てたパソコン「IchigoJam」と友達のIchigoJamとをつないで、相互に通信したり、チャットしたり、遠隔操作したりすることで、ネットやコンピューターの本質を体験することを根っこに置いてはどうでしょう?


コンピューターをつなごう / はじめてのプログラミングその10」より

情報モラル、その誕生の秘密が文科省のサイトにありました。

第5章 学校における情報モラル教育と家庭・地域との連携:文部科学省」より

大人が分からないものへの恐怖です。子供の新しい物に対する順応の速さ、現実社会にはお金・年齢などで制限されるものがネットでは適応されにくい性質、ネットの理解の遅れによって生まれた「情報モラル」。 自転車が乗れるようになったからといって、交通ルールも知らずに自由行動を許すことをしないように、13歳の子供が核融合炉すら作れてしまうネットを何のガイドもなしに与えていいわけありません。

人類の夢が詰まった道具「コンピューター」
子供にうまく伝えるために、大人も楽しく学びましょう!

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