今期での引退を表明した鯖江市長、牧野さん9/11、最後の議会での挨拶。市長が大きくアピールした、市民主役のまち、ものづくりのまち、ITのまち、学生連携のまち、めがねのまち、鯖江。 大きく育てていきましょう!


鯖江市議会 第426回 令和2年9月定例会 9/11(委員長報告、採決) - YouTube(鯖江市長発言)

(前略)
国が電子行政データ戦略を策定したのが2012年の7月であります。その後2013年の6月にIT国家創造宣言を閣議決定をしております。 そういったことで国に国に先駆けてオープンデータ、あるいはITのまちに取り組んだことが、鯖江のITのまちの知名度につながったのかなと思っております。

そういった中で今日現在では行政の情報のオープン(データ)が216ございます。そして民間によるアプリ開発を含め250のアプリが開発されました。 まだ市民に定着したものは少のうございますが、いよいよ5G時代の突入でございます。AIロボットビッグデータの活用ががますます盛んになる今日現在こういった取り組みも先駆けて取り組んだおかげで サテライトオフィス誘致企業6社の進出にもつながって参ったと思っております。

学生連携のまちづくりでは、福井豪雨に発した京都精華大学の河和田のアートキャンプによりまして、今では首都圏の大学がこぞって夏休みの鯖江の方へ訪れて参ります。 そういったことで、現在では河和田に住所を移された方、お住みになっておられる方、あるいは河和田の企業にお勤めになっておられる方も延べ66人になりました。 こういったことでもこれらの事業がこれからますます進む土壌というものが、できつつあるのかなという風に思っております。
(後略)

世界に遅れをとっていることの危機感の表れ「世界最先端IT国家創造宣言」、遅れの原因は政府だけなく、ひとりひとり国民にもあります。 電話、FAX、紙、非効率と分かっていても昔からの慣習のままにしたツケを支払うのは、こどもたち。 現状維持は不可能と、SDGsで結論が出ています。

こどもプログラミング、GIGAスクール構想、デジタルガバメント、あらゆる層で思い切ったDX(デジタルトランスフォーメーション)が必要です。

2006年4月28日、鯖江市長に呼んでもらった「ふれあい談義ITベンチャー編」が鯖江市との関わりのスタートでした。 学生連携をITと組み合わせてもっともっと推進していきたいと思います。

Hana道場で、IchigoJamで基本を学んだこどもたちや、一歩先を学びたい大人向けにスタートした、JavaScriptプログラミング講座。 オープンデータを操るアプリ開発者が多数誕生予定!


さばえレシピガチャ
鯖江市のレシピオープンデータを使ったオープンソース教材を作りました。高校情報レベルですが、プログラミング言語の基本が分かっていれば、小学生でもいけるはず。 無料で使える言語、HTML/CSS/JavaScriptを使えば、世界中のPCやスマホ、タブレット、ゲーム機で動作する、オープンデータを活用したアプリが開発可能です。

下記のように、HTML/CSS/JavaScriptを1つのHTMLファイルに書くだけでアプリができます!

<!-- HTML --> <!DOCTYPE html><html><head> <title>さばえレシピガチャ</title> <meta property="og:title" content="さばえレシピガチャ"> <meta name="twitter:card" content="summary_large_image"/> <meta property="og:image" content="https://code4sabae.github.io/recipe/ogp.png"> <meta name="twitter:image" content="https://code4sabae.github.io/recipe/ogp.png"> </head><body> <h1>さばえレシピガチャ</h1> <button id=btn>ガチャ</button> <div id=src> データ出典:<a href=https://ckan.odp.jig.jp/dataset/202003003/resource/9f0a20d3-37cf-4b4e-b086-8291e0aa97d7>さばえ地場産野菜の料理レシピ</a> / <a href=https://data.city.sabae.lg.jp/>データシティ鯖江</a><br> </div> <!-- CSS(スタイルシート) --> <style> body { text-align: center; background-color: rgb(243, 138, 68); color: white; font-family: sans-serif; } h1 { font-size: 10vw; margin: 0; padding: 0; } button { padding: 2em; font-size: 200%; margin: .5em; } #recipe { border: 4px solid white; margin: 1em; padding: 1em; } a { color: white !important; } </style> <!-- JavaScript --> <script type="module"> import util from "https://taisukef.github.io/util/util.mjs"; window.onload = async () => { const url = "./sabae_recipe.csv"; const json = await util.fetchCSVtoJSON(url); console.log(json); btn.onclick = async () => { const sleep = util.sleep; recipe.innerHTML = ""; btn.textContent = "なにがでるかな...."; await sleep(1000); const r = json[util.rnd(json.length)]; btn.textContent = "ジャン!"; await sleep(500); btn.textContent = r.料理名; recipe.innerHTML = `<a href=${r.詳細URL}><h2>${r.料理名}(${r.人数})</h2></a><br>`; for (let i = 1; i <= 8; i++) { const z = r["材料" + i]; console.log(z, i); if (!z) { break; } await sleep(500); recipe.innerHTML += z + "<br>"; } await sleep(1000); btn.textContent = "つくってみてね!"; await sleep(3000); btn.textContent = "ガチャ"; }; }; </script> </body> </html>

(src on GitHub)
今後、世界中のこどもたちの常識となるプログラミング。やるかやらないかは本人次第、チャンスあふれるまち鯖江を大いに活かしましょう!


料理の写真、各素材の写真、数量と単位を分離したデータ形式、日本語以外の言語対応など、一度作ってみるといろいろと拡張したいアイデアが膨らみます。 自由にデータを追加したり、変更できるのがオープンデータのいいところ。公園の遊具同様、思う存分、誰に断ることなく大いに遊びましょう!

links
- 【事例付き】ビッグデータ時代に持つべき”データ活用に必要な視点”とは オープンデータ伝道師インタビュー | 宙畑
- じぶんのウェブサイトをつくろう! 13才以上なら誰でも無料で持てるホームページ&HTMLとCSSはじめのいっぽ

音楽を盛り上げる照明。ライブで気になる、数々の派手に動く照明の制御方法。 DMX512という1986年から開発が始まった、比較的古い仕様が現役で使われているようです。縦と横に動く、ムービングライトを制御してみました。


100Vの電源につなぐ照明なので、動きも明るさも派手でいい感じ!
U`King LEDステージライト 小型ムービングヘッド 20W RGBW  ムービングライト スポットライト 11/13 チャンネル DMX 512対応 両方向連続回転可能 ディスコライト /ミラーボール / 舞台 / 演出 / 照明 - Amazon


ムービングライト、裏にあるDMX512の入力と出力端子。デイジーチェーン(数珠つなぎ)して、多数の照明をまとめて制御します。


DMX512対応の照明の他に用意するのは、ケーブルとソケットと線材を少々。


ピンソケット4ピンを使って、はんだづけして実験用のソケットを作ってみました。(実用する場合はワイヤーを直接はんだづけし、ケースに入れるなどがオススメです)


使うのは3ピンだけ。GNDと+-逆になった信号線に250kbpsのシリアル信号が流れます。


ソケットにも描いてある番号、1:GND、2:Data-、3:Data+をそれぞれ、IchigoJamのGND、OUT1、OUT2へとつなぎます。


ムービングライトの仕様書。DMX512、512チャンネルある内の13チャンネルまたは、11チャンネルを使って制御します。 同じチャンネルにすると、同期して動きます。 使用するチャンネル番号は、オフセットは本体のメニューで設定でき、13チャンネル使うモードで39台、11チャンネルモードで46台を個別制御することができます!

以前作ったDMX512のマシン語ドライバを使って、チャンネル毎の仕様を見ながら、まずはランダムに光らせてみる実験です!

10 POKE#700,240,181,114,182,64,24,80,33,9,2,1,49,9,4,128,38,118,0,1,34,202,96,4,39,63,2,29,55,0,240,37,248,2,34,202,96,93,39,0,240,32,248,4,120,164,0,1,52,1,48,1,34,202,96,45,39,0,240,23,248,1,37 20 POKE#73E,3,120,1,34,43,66,0,208,2,34,202,96,44,39,0,240,13,248,109,0,181,66,244,209,2,34,202,96,93,39,0,240,5,248,1,48,1,60,229,209,98,182,240,189,1,63,253,209,112,71 30 OUT1,0:OUT2,1 50 POKE#800,7,0,N,0,N,0,0,255,RND(4)*50,RND(256),RND(256),RND(256),RND(256),0,0:U=USR(#700,#800) 55 N=RND(100) 56 ?N 57 WAIT60-BTN()*50 60 GOTO 50

本体ボタンを押したら、WAITを短くして高速化!


ギュンギュンと軽快に回るので、カメラをマウントしてロボットの頭にするのもいいかもしれません。センサーと組み合わせて派手なものづくりができそうです。 実物、NT鯖江に持っていくのでお楽しみに!


こちらもDMX512コントロール可能な、派手なライト。3種類の照明がいろんのスピードで回せます。好きな曲に合わせてプログラムしたり、ゲームのエフェクトにするのもいいですね! (→ AmazonでDMX512で検索!


本日、大人向けIchigoJamはんだづけ&プログラミング!100均ビーズが活躍!


かわいいIchigoJamができました!


まったさんも、外で何か大人の電子工作してました。
ソーラーパネルでバッテリーを充電、IchigoJamで自作する「チャージコントローラー」! – about yrm

日常で気になるアレコレ、自分でやってみると新たな発見、新事業のタネにもなるかも!?
福井県こどもプログラミング協議会は、福井県のIoT化、デジタル化を応援しています。
ご興味ある方、越前がにロボコン、こどもプログラミング実業団までお問い合わせください。

ベーマガこと、マイコンBASICマガジン(を別冊付録にしている、電子工作マガジン)の出版社、電波新聞社から「ALL ABOUT namco ナムコゲームのすべて」が復刻!初版は1985年、累計30万部に加え、復刻版も売り切れ続出の大人気!

当時のナムコのゲームの詳しすぎる解説と、各コンピューターへの移植した当事者ならではの解説が楽しく、ドット絵、楽譜まで収録!

テンポ表記が1/60秒(1フレーム)なところがおもしろい!
ギャラクシアン、32分音符が1/60秒、つまり、テンポに換算するとT450(60*60/8)

PLAY"T450L32O5C>BAGFEDC>BAG

こちら上の写真、冒頭部分を打ち込んだもの。Lで省略時の長さを32分音符に設定し、このようにIchigoJamのPLAY文(MML)として打ち込んでいくと、かわいいサウンドが再現できます!

マッピー、パックマン、ディグダグなど、楽しいサウンドの裏側をMMLから学べます!なるほど、こうやって効果音つくるんですね!


なんと、35年越しのアフターフォロー。楽譜の間違いに関する訂正版も掲載!愛され具合がすごい!

読み慣れていない人にとってつらいのは楽譜。IchigoJamによる楽譜チートプログラムで楽譜の読み方、マスターしましょう!

昔作った楽譜プログラムを改造し、鬼門、シャープとフラットに対応!
楽譜の先頭にシャープやフラットがついていたら、以降はその音がシャープやフラットになっているものとして扱います。「♮」がついていたら元の音。

10 POKE#700,0,0,0,255,0,0,0,0,56,124,254,255,254,124,56,0,254,124,56,255,0,0,0,0,0,0,0,255,56,124,254,254,0,0,0,7,0,0,0,0,0,0,0,192,0,0,0,0 20 S=" C ' D ' E ' F ' G ' A ' B '<C '<D '<E '<F '<G '<A '<B ":T=0:F=4:VIDEO3 30 CLS:FORI=1TO5:LC6,I+2:?CHR$(224,224,224);:NEXT 40 LC7,8-(T+1)/2::IF T%2=0 ?CHR$(225) ELSE ?CHR$(227,28,31,226) 50 IF T=0 LC6,8:?CHR$(228,225,229) 55 IF F<4 LC6,8-(T+1)/2:?STR$("b#"+F,1); 60 LC10,8:?STR$(S+T*4,3) 70 K=INKEY():IF!K CONT 75 IF K=30||K=31 T=T-(K=31)+(K=30):T=(T+14)%14:F=4:POKES+T*4+2,32:GOTO30 76 IF!(K=28||K=29||K=32)GOTO70 77 IF T%7=2&&K=29||T%7=6&&K=29||T%7=0&&K=28||T%7=3&&K=28 GOTO60 85 F=K-28:POKES+T*4+2,ASC("-+++ "+F) 90 PLAYS+T*4:GOTO30

上下で音符を動かし、スペースでその音を鳴らす。右でシャープ、左でフラットが鳴ります。
20行の前後の空白、大事です。後ろの空白部分に+や-を書き込んで、90行で演奏しています。

おや、フラットが効かないところがある?実は77行で制約をかけています。

ピアノの鍵盤、黒鍵はドレミの間に2つ、ファソラシの間に3つ。シャープがない音、フラットがない音をスキップしています。平均律では、C+はD-と同じ音。

効果音としてよく使う、なめらかにアップダウンさせるテクニックとして随所に登場!


レトロテイストのゲーム、IchigoJam BASIC、IchigoCake BASICで作ってみませんか?表紙裏にはPCN(プログラミング クラブ ネットワーク)


ゲームに関する研究具合がすごい!なんとフィルムカメラで撮影した画面写真を張り合わせたマップ!!位置合わせして、現像して、切り貼りして・・・、ゲーム愛が為せる技!


おなじみファミコン版に関してもアーケード版との違いを含めた解説がマニアック!


MSX版もしっかり解説!MSXとBASICプログラミング、小3のとき出会っていなかったらどうなっていただろう。


キャラクターが「カタカナ4文字」表記のMZ-700版、マッピー!電波新聞社がナムコの許諾を得て、いろんなコンピューター向けに移植していた歴史に触れられます。


Amazon.co.jp: ALL ABOUT namco (ナムコゲームのすべて): 本
かつてのゲーム少年から、ゲームづくりに興味ある現役少年少女まで、幅広く楽しめます!増刷、お楽しみに!

links
- 特別支援学校=盲学校+聾学校+養護学校(2007年から) IchigoJamで音楽を学んで校歌演奏しよう

神山町に続き、本日は永平寺町でIchigoJamプログラミングワークショップ!


永平寺開発センターにて、福井県永平寺町のこどもプログラミングのキックオフ! 越前がにロボコンや、PCNこどもプロコンなど、創造的人材育成に向けた継続的な活動、応援します!


検温・飛沫防止・疎、コロナ対策万全でリアル開催。


なんと、オリジナルイチゴマスクをご用意いただいてました!


今日、仲良くなる予定のコンピューター、IchigoDyhookをさしこみます。


ちっちゃくてかわいいコンピューター、でもその実力はあなどれません!エルチカで仕事の速いコンピューターくんを体験し、コンピューターとの距離がぐっと縮まるエルチカゲーム。


休憩時間は、ドローンのラジコンが人気!ドローンにもコンピューター、姿勢制御しながら無線でコントローラーの動きに応えてます。


作ったゲームが動いた!

10 CLT:CLS:X=15:PLAY"$CDE2" 20 LC X,5:?"V" 30 LC RND(32),23:?"**" 35 WAIT 3 36 X=X-BTN(28)+BTN(29) 37 X=X&31 39 IF SCR(X,5) BEEP:?TICK():END 40 GOTO20

キャラクターを変えて、点数を付けて、BGMとゲームオーバー時の効果音を付けたかわくだりゲーム。


更に、改造リクエストに応えます。

1000点でクリアとしたい!

34 IF TICK()>1000 ?"OME!":END

(メインループ内に、時間=スコアが1000を超えていたらメッセージ表示と終了を追加)

即死ではなく、ダメージ制にしたい!

10 CLT:CLS:X=15:L=3:PLAY"$CDE2" 39 IF SCR(X,5) BEEP:L=L-1:IF L=0 ?TICK():END

(ライフの残数を表すLを追加し、当たり判定でLを引き算、0になったときだけゲームオーバー)

回復アイテムをつくりたい!

30 LC RND(32),23:IF RND(10)=0 ?"%" ELSE ?"**" 38 IF SCR(X,5)=ASC("%") BEEP5:L=L+1 39 IF SCR(X,5)=ASC("*") BEEP:L=L-1:IF L=0 ?TICK():END

(1/10の確率で敵*ではなくアイテム%を表示するようにして、38行でアイテムだったらライフ+1、敵だったら当たり判定処理と変更)

BGMの音を高くしたい!

10 CLT:CLS:X=15:L=3:PLAY"$O5CDE2"

BGMのテンポを速くしたい!

10 CLT:CLS:X=15:L=3:PLAY"$O5T240CDE2"

BGMのテンポをもっと速くしたい!

10 CLT:CLS:X=15:L=3:PLAY"$O5T2400CDE2"

BGM、ドから高いドまで鳴らしたい!

10 CLT:CLS:X=15:L=3:PLAY"$O5T240CDEFGAB<C"

(<で1オクターブアップ、>で1オクターブダウン)

IchigoJamミニゲームズ」「IchigoJamプリント」や「IchigoJam BASIC 1.4 コマンド一覧」を見て、いろいろチャレンジしてみよう!


福井市少年少女発明クラブの会長、高橋さんと!


まちづくり株式会社ZENコネクトの方から動画インタビューに受けている様子。いちごづくし。

地域のIT人材育成、IoTによる事業創出、オープンデータによる支援に関心ある自治体の方にオススメのプログラム。まずは大人もプログラミング、体験してDXしましょう!
地域情報化アドバイザー派遣制度 - 総務省地域情報化アドバイザー一覧

links
- 神山町、遠隔プログラミングワークショップとPS/2ゲーミングキーボードの実力を計測!(オンライン開催)

人間はきっと本来、創るのが好き。好奇心で広がり、評価や挫折で狭まる好きの範囲。大好きなゲーム、こどもはみんな創りたい。

短時間でコンピューターの凄さと手軽さを楽しく体験、IchigoDyhookを使った、IchigoJamプログラミングワークショップ。今回は神山まるごと高専ができる場所、徳島県神山町にある神山バレー・サテライトオフィス・コンプレックスに来てくれたこどもたちへの遠隔講義。(前回はリアル講義


大いに楽しんでくれました!(サポートいただいた大人の方々、ありがとうございます!)
今日のスライドはオープンデータ、GitHubからダウンロードし、自由に改変含め、ご活用ください!(PDF/Keynote/PowerPoint
一度体験して、一度練習したら、誰でも誰かに教えられちゃいます。

エルチカとかわくだりゲームの間の休憩時間にライブコーディング。タイピング、速ければ速いほどかっこいい。 IchigoJamで使う、PS/2対応のUSB接続キーボード。実は1フレーム(1/60秒以下)を争うゲームの世界で重宝されています。

こちら、今回入手したお手頃ゲーミングキーボード「BUFFALO ゲーミングモデル USB & PS/2 有線キーボード ブラック BSKBCG305BK


特徴は右上の[mode]ボタンで切り替える「Turboモード」と青色ダイオード。通常1秒間に10回のキースキャンが、秒間50回、秒間120回へと高速化して、よりキーボードを押した反応がすばやくコンピューターに伝わるようになります。 合わせてキーリピートも超高速化!

10 WAIT 180 20 CLT:FORI=0TO119 30 IF INKEY()=0 CONT 40 NEXT 50 ?TICK()

3秒間待った後、120回キーが押される時間を計測。


結果
Turbo OFF 549 (9.1秒)
Turbo 50 143 (2.3秒)
Turbo 120 58 (0.9秒) - 今まで体験したことがない速さのキーリピート!

実測で120回/秒、出ました!
すばやく応えてくれ、同時押しにも強いPS/2ゲーミングキーボード、シビアな対戦ゲームづくりにも良さそう!

鯖江からzoomを繋いで福野さんのIchigoJamプログラミング教室を開催中。10人ほどの子供たちが夢中でBASICプログラミングを楽しんでいます。

本橋 大輔さんの投稿 2020年9月4日金曜日

どんどんつくろう!自信作、PCNこどもプロコンで待ってます!

links
- 新高専予定地、徳島県神山町でIchigoJamプログラミング with CoderDojo神山、遊ぼう自然もコンピューターも、はじめてのマシン語体験
- 神山まるごと高専、技術教育統括ディレクター就任に向けた所信表明と、Amabieペンダント

IchigoJamで使えるお手軽浮動小数点数FP15、せっかくなので四則演算を用意します。 有効桁2桁ですが、Googleの語源となったグーゴルシャノン数もカバーする10の127乗から、2022年制定予定のクエクトよりはるかに小さい、小数点以下126コ続く10の-127乗までのダイナミックレンジを、16bit/2byteで表現できます。

使い方は簡単、変数のAとBに、指数を上位に、仮数を下位にセットし、ライブラリを呼び出すと、変数Cに計算結果がセットされます。

10 ?"A=A-A*0.99" 20 A=6<<8|100 30 B=-2<<8|99:GSB@MUL 40 B=C:GSB@SUB:GSB@PUT:? 50 A=C 60 GOTO 30

20行、100x10の8乗、つまり、100億をAにセット。
30行、99x10の-2乗、つまり、0.99をBにセットし、掛け算ルーチン(@MUL)を呼び出し。
40行、計算結果CをBにセットし、A-B、引き算ルーチン(@SUB)を呼び出し。
50行、計算結果CをAにセットし、繰り返し!
→ 100億から小さな小数まで計算できました。

これを実現するプログラムは以下の通り

100 @PUT 110 E=C&#FF00/256:D=C<<8/256 120 IF E=0 ?D;:RTN 130 IF E>0 ?D;:FORI=1TOE:?"0";:NEXT:RTN 135 IF D<0 ?"-";:D=-D 140 IF E=-1 ?D/10;:IF D%10 ?".";D%10;:RTN ELSE RTN 150 IF E=-2 ?D/100;:IF D%100 ?".";:GOTO170 ELSE RTN 160 ?"0.";:IF E<-3 FORI=4TO-E:?"0";:NEXT 165 ?D/100;:IF D%100=0 RTN 170 ?D/10%10;:IF D%10=0 RTN 180 ?D%10;:RTN 200 @MUL 210 C=A&#FF00/256+B&#FF00/256 220 D=A<<8/256*(B<<8/256) 225 F=0:IF D<0 F=1:D=-D 230 IF D>>7 C=C+1:D=D/10:CONT 235 IF F D=-D 240 C=C<<8|D&255:RTN 300 @DIV 310 C=A&#FF00/256-B&#FF00/256 320 D=A<<8/256*100/(B<<8/256):C=C-2 325 GOTO225 400 @ADD 410 C=A&#FF00/256:D=B&#FF00/256:E=C-D 415 F=1:F=1:IF ABS(E)>0 FORI=1TOABS(E):F=F*10:NEXT 420 IF E>=0&&E<3 C=D:D=A<<8/256*F+B<<8/256 421 IF E<0&&E>-3 D=A<<8/256+B<<8/256*F 422 IF E<=-3 C=D:D=B<<8/256 425 GOTO225 500 @SUB 510 B=B&#FF00|(~B+1)&255:GSB@ADD:B=B&#FF00|(~B+1)&255:RTN

@PUT 指数に合わせて0をたくさん並べて、普通の数として表示するプログラム
@MUL 掛け算プログラム、指数は足し算、仮数は掛け算して有効桁を調整
@DIV 割り算プログラム、指数は引き算、仮数は100倍してから割ることで有効桁を確保
@ADD 指数の差を調整して足し算、指数の差が3以上は無視
@SUB 足す数の符号を反転して足し算、再び符号を反転してBの値は元に戻す

昔はよく分かっていなかったMSXの浮動小数点数、改めて仕様を確認すると、指数が10のn乗を使っていて親近感。仮数は4bitで10進数1桁を表現するBCDが使われてました。

有効桁2桁では足りない?配列2つを指数と仮数で使った、浮動小数点数の実現は、IchigoJam BASICでも実装できそうですね(掛け算、割り算に一工夫必要です)。ぜひチャレンジしてみてください!

0か1かで記録し計算するコンピューター。片手で31まで数える指二進法のように、2進法で整数は表現できますが、小数はどうするといいでしょう?

コンピューターにとってはただの0か1、人間がどう捉えるかだけの問題です。123という数を1.23と読み替えて、表示で工夫するだけです。

N=123 ?N/100;".";DEC$(N%100,2) 1.23

常に100倍して、下から2桁目が小数点と固定する方式、これを固定小数点表現と言います。

小数点の位置を数とセットで持っておけば、大きな数から小数点以下0がずっと続く、絶対値が小さな数まで表現できます。 これを浮動小数点表現と言います。

現代の一般的なコンピューターでは32bitの浮動小数点数が多く使われていますが、精度を落とした16bitのfloat16もメモリと時間を節約できるのでAIやCGなどで活躍中。

16bitと言えば、IchigoJamの変数の単位と一緒ですね!ただ、仕様に従って符号1bit、指数(小数点位置)5bit、仮数10bitのfloat16をそのまま実装するの、掛け算時のオーバーフロー処理などちょっと大変なので、指数部と仮数部を8bitずつ、しかも指数部は10進法で扱う「FP15」という勝手な規格で作ってみました。

日本の人口、1.26億人は、126 x 10の6乗なので、上位8bitに指数部6、下位8bitに仮数部126を入れて、6<<8|126 と表現します。仮数部はプラスマイナス127まで使います。(マイナスを入れる時は、A=6<<8|-126&255)と8bitに収めることを忘れずに!)


こちら仮に、人口減少率を大げさに3%(x0.97)として、シミュレーションした結果です。(昨年の実際の減少率は0.22%だったとのこと)

こちらがFP15の掛け算を含む、人口減少シミュレーションプログラム

5 Y=2020 10 A=6<<8|126:N=A:GSB@PN:?" A" 20 B=-2<<8|97:N=B:GSB@PN:?" B" 25 ?"Year ";Y;" P:"; 30 GSB@MULAB 40 N=C:GSB@PN:?" C=A*B" 50 A=C:Y=Y+1 60 GOTO 25 100 @PN:E=N&#FF00/256:M=N<<8/256:?M;"e";E;:RTN 200 @MULAB 210 C=A&#FF00/256+B&#FF00/256 220 D=A<<8/256*(B<<8/256) 225 F=0:IF D<0 F=1:D=-D 230 IF D>>7 C=C+1:D=D/10:CONT 235 IF F D=-D 240 C=C<<8|D&255:RTN

最近のCPUには、浮動小数点を計算する回路も含まれていて、超高速にやってくれますが、その実態を理解するには、プログラムで作って触ってみるのが一番です!

大人もこどももプログラミングを楽しく優しくオンラインで学べる、福井高専の先輩、ちっひーの講座、スタート!

ちっひー先輩によるオンラインプログラミング教室、開校! こどもも大人も親子でも! 誕生日もおめでとうございますー

福野 泰介さんの投稿 2020年9月1日火曜日

IchigoJam、はじめてのプログラミングから、深く楽しいコンピューターサイエンスまで、いろんな形でご活用ください!

IchigoJamで使うキーボードは、PS/2に対応したものが必要です。対応していたはずが、動かない現象が発生。原因が判明したので、その対策を紹介します。

結論、10kΩ前後の抵抗1つ、5VとKBD1またはKBD2に接続することで動きます。


サンワサプライのPS/2対応キーボード「SKB-KG3BKN」と色違い「SKB-KG3WN」は、サイズ感がいい感じ。 販売価格もAmazonで、1,255円と手頃な価格もうれしい。


改めて入手し、確認したところ、キーボードのLEDが全く反応しない状態。 自宅のPCをよく見ると、PS/2端子ありました。


PS/2キーボードとしての動作は確認できたので、通信プロトコルの間違いや、初期化のタイミングなどを探ります。


プログラムをいろいろと変えてみましたがどうやっても動かず、KBD1またはKBD2を5Vと抵抗10kΩを使ってプルアップし、信号の5V化を試したところ動きました! ただ、ソフトウェアだけでは対処できないので、残念ながら現在の基板では対応とは言い難い状態。


抵抗の両端、少し切るとコンパクトに収まります。


5V端子は別で使いたい場合、裏面にはんだづけするといいです。CN5の一番上5VとKBD1かKBD2へ10kΩの抵抗でつなぎます。 (他のピンに当たってしまわないように注意!)


はんだづけ、完了!


IchigoSodaも、10kΩ抵抗1つでこの通り、動きました。
抵抗は、100本で100円、プルアップ抵抗としてもよく使うので、この際100本、いっちゃいましょう!

links
- PS/2キーボードが無くならない3つの訳、IchigoJamの対応キーボード拡大!

オンライン講演や、オンラインミーティングが多いので、自撮りライトを作ってみました。

余っていたリング状のWS2812BのLEDがぴったりでした!IchigoJamで制御、簡単!


WS2812BのIN側にL字ピンヘッダーをはんだづけし、PCの縁に引っかかるようペンチで曲げて、3本の線をはんだづけ。


GND、LED、5Vに接続します(VCCでも動きますが、輝度の上げすぎ注意です)


LET[0],100,100,100:WS.LED 1,12

これで12コぜんぶ白色で点灯します!(IchigoJam 1.4 WS.LEDコマンド使用)


夜間の室内、色温度が合わないときはRGBのバランスを調整しましょう。


ゲーミング仕様も色相環プログラムを使って、簡単実現、自由自在!

作ってみたい人 → "WS2812B リング" on Amazon

色設定可能自撮り照明プログラム (ボタンで輝度調整、キーボード1/2/3でRGBで色温度など調整)

10 S=30:N=S*5:R=100:G=100:B=100 20 GSB200 40 IF BTN()=0 K=INKEY():IF K GSB100:CONT ELSE CONT 50 N=N+S:IF N>255 N=0 60 IF BTN() CONT 70 GOTO 20 100 IF K=ASC("1") R=R-10:IF R<0 R=100 110 IF K=ASC("2") G=G-10:IF G<0 G=100 120 IF K=ASC("3") B=B-10:IF B<0 B=100 125 GSB200 130 RTN 200 LET[0],N*G/100,N*R/100,N*B/100 210 WS.LED1,12 220 RTN 300 CLV:WS.LED1,12

ゲーミングセルフィーライトプログラム (V:最大輝度、L:周期)

10 CLV 20 V=100 30 L=20 40 R=V/L:[1]=V 50 [H/L%3]=ABS(H/L%2*(L-1)-H%L)*R:H=(H+1)%(6*L) 60 WS.LED1,12 70 WAIT3 80 GOTO 50

色相環ぐるぐるライトプラグラム (V:最大輝度、L:周期、N:LED数)

10 CLV 20 V=100 30 L=20 35 N=12 40 R=V/L 50 [H/L%3]=ABS(H/L%2*(L-1)-H%L)*R:H=(H+1)%(6*L) 60 WS.LED12 65 COPY#800+N*2*3-1,#800+(N-1)*2*3-1,-(N-1)*3*2 70 WAIT3 80 GOTO 50

links
- BASICプログラム1行で色相環!20分で作るアキバエモメガネでアガるパーティー

今日はダブルヘッダー、京都オープンソースカンファレンスと、福井発の起業家創出を目指す NEW LOCAL FUKUI。共にオンライン登壇なので移動時間0! コロナ禍、世界中のどんなイベントにも参加し放題です。


(追記、OSPN.jpより、当日の講演動画が公開されました)

大切なのは自分の中の熱い想い。何をやりたいか、そのために何を創る必要があり、自分はどんな役割を果たし、足りないものは何か。 すべては始まりは「想い」です。好きなもの、気になるものを突き詰めてみるもよし。SDGsに代表される世界中で解決すべき地域の課題から、ビビッと来るものを選ぶもよし。 人と違ってOK、むしろ多様であるほど社会にプラス!


小中学生向けプログラミングコンテスト、PCNこどもプロコンと共に、小学4年生の好きな作品「おかあさんのスマホ使いすぎを防止するマシーン」を紹介。 もっとかまって欲しいお年頃、スマホばかり見ている母親を見た寂しい想いを形にする、新しい伝え方。

特に「何か」が思い当たらない人や、好奇心旺盛なこどもにオススメしたいのがプログラミング!プログラミングは、オープンデータや、さまざまなツール、ライブラリ、APIを使って、いろんな作品を創造可能な便利で技です。 まずは安くてネットにつながっていない誰にも迷惑かけ無いことが保証された、安心安全なIchigoJamでシンプルにはじめてみましょう。おもしろさにハマった人は、深く広いコンピューターの世界を自由に遊び回りましょう。


BASICからオールマシン語まで、オープンデータとIchigoJamで創るプログラミング教育 - セミナープログラム - オープンソースカンファレンス2020 Online/Kyoto
資料はこちら(20200829-IchigoJam-kyoto-osc.pdf)です。 1996年の経団連の提言「創造的な人材の育成に向けて~求められる教育改革と企業の行動~」、今こそ行動の時!

今年のjigインターン生から、ボードゲームはオンラインでの人と人との距離をぐっと縮めるステキなツールだと学びました。 サイコロ5つを振って、役を作って点数を競うゲーム「ヤッツィー」。遊んでみると確かにいい!自然と会話がはずみ、行動から人となりが見えてきます。

IchigoJamで、サイコロ5つを揃える快感を味わうゲームを作ってみました。


まずはサイコロのデザイン。左上に絵を描いて、プログラムで絵文字にしてみます。これはサイコロ1のつもり。

10 LET[0],0,#BA,#101,#111,#145,#155,#16D:FORI=0TO6:A=#700+I*8:COPYA,#700,8:N=[I]:M=#82:POKEA,#7C,M,N>>6<<3|M,N>>3&7<<3|M,N&7<<3|M,M,#7C:NEXT 20 FORI=0TO6:?CHR$(224+I);:NEXT

1〜6までを枠の中3x3の9ドットで表現することにします。配列に1〜6までのパターン記録し、プログラムでパターン生成。 単純なデータにしてもいいですが、写経するならデータより、プログラムの方が楽しく、打ち込めますよね!20行でテスト表示。

?CHR$(225+RND(6))

これでサイコロがビジュアルにふれます!


残念、サイコロの目、揃わず、ノットヤッツ...
キーボード、1から5のキーを押して、振り直すサイコロを選び、エンター。振り直しは1ゲームに3回まで。全部のサイコロの目をできるだけ早く揃えましょう!


35回目のトライでようやく揃って、YATZ! ゲームクリアです!


プログラムはこんな感じ。1画面に収まりました。全部揃う以外の役の判定をいれたり、対戦ゲームにしたり、いろいろと改造して遊んでみましょう。 コピペですぐ遊べてしまっては学習にならないので、今回はソース添付なし。Let's 写経!


NEW LOCAL FUKUI のオンライン講演。次世代のリーダー、イノベーターを生み出す要、Hana道場! これをやりたい!一人じゃできないから誰か手伝って!強い想いを持った人がリーダーとなり、何かやってしまった人がイノベーター? 大人も子供もみんなで楽しく学ぶ、Hana道場モデルを、世界中に創って0距離でつなぎたい!


新しい福井を創る試みは、キックオフしたばかり。ものづくり王国、福井。チャレンジする人は増えるほどにおもしろい! なにかつくってみたい人、つくってみた人におすすめイベント10/3-4土日開催、NT鯖江2020、入場も出展も無料です! ステキスポットSCCの見学も合わせてぜひどうぞ!

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