micro:witch v1.3.3 公開

micro:bit のためのブロック型プログラミング環境である micro:witch の最新版を公開した。

https://github.com/EiichiroIto/microwitch/releases/tag/v1.3.3

前回から micro:bit のシミュレータを取り除いており、子どもたちの反応や評価をふまえて若干の修正を行った。

具体的な修正点は以下の通り。

  • プロジェクト名を表示するようにした。
  • ストップボタンを追加した。
  • スタートボタンを追加した。
  • ファイルがある場合だけファームウェアを読み込むようにした。
  • 変数ブロックをクリックしたときにエラーになるバグを修正した。
  • 変数の初期化コードを除去した。
  • 変数のウオッチャーを取り除いた。
  • ストップボタンを押してもブロックパレット内のブロックが元に戻らないバグを修正した。
  • 接続待機中にストップできるようにした。
  • HuskyLensのpythonスクリプトバグを修正した。

ステージをまるごと取り除いた関係で、プロジェクト名や一部のボタンがなくなっていた。これに不満を訴える児童が多かったので、少し機能を変更した上で再登場させた。

また、初期化の際に micro:bit のファームウェアファイルを毎回読み込むが、ファームウェアファイルが存在しない(見つけられない)とエラーが発生するため、ファイルがなければイメージ内のものを使うように修正した。(2023.6.6追記 このバグは対応できていなかった)

あとは、起動に使っていた Scratch.exe の名前を microwitch.exe に変更した。

中級者課題の顛末

お手伝いしているロボット講座で、以前から参加している児童のための中級者課題を5回(5週×1時間)にわたって実施した。

新メンバーが入るタイミングでは新たなロボット作りに入れないので、昨年までは手持ち無沙汰な児童が多かったが、今回の課題のおかげで一定のスキル向上と、児童に集中して取り組ませることができたと思う。

あわせて micro:witch の改造(v1.3.0)に対する評価もたくさんもらい、かなり改善に貢献してもらった。

  • AボタンとBボタン:4つ
  • ドット描画:4つ
  • tickタイマー:4つ
  • 無線通信:4つ
  • micro:maqueen:7つ

中級者課題は主に上記から成っている。

出題側としてはまんべんなくチャレンジして欲しかったのだが、1つずつ順番に取り組む児童が結構いて面白かった。そのせいか、無線通信とmicro:maqueen の課題に取り組んだ児童の少なかったのが残念だった。

これらの課題の裏テーマは「いかに変数を効率よく使うか?」で、その点につまづく児童が多かった。彼らに状態遷移図のアイデアを紹介したところ、(全員ではないが)そのアイデアを理解し活用していった。変数の使い方について、一定の理解をもたらしたのではないかと思う。

今回はこれで中級者課題は終わりになるが、時間が空いたときにはまた取り組んでもらうつもり。コンパスや加速度センサなど、使っていない機能についても充実させていきたい。

ThunderbirdでGmailが遅い

メインマシンではThunderbirdでメールを吸い上げているんだけど、ときどきGmailの反応が悪くなって、メールを読み込めなかったりしていた。

調べてみたら設定変更でなおりそうだ。

https://life-of-retirees.com/2022/05/20/imap-reception-is-slow/

具体的な設定方法は、

設定エディターで、mail.check_all_imap_folders_for_new を true に設定した上で、アカウント設定→サーバー設定→詳細→アカウントの詳細設定で、サーバーへの最大同時接続数を5から2に変更した。

設定がどのように働いているのかは未確認だが、遅延なくメールを受信できるようになった。

Pharo 11 早くなった

新しくリリースされた Pharo 11 を試すために、NovaStelo を使ってみたんだけど、めっちゃ早くなってる。手元のPCでライフゲーム(01-lifegame)がPharo 10で 12〜15fps だったのに、Pharo 11 では 22fps 以上になった。

ArrayedCollection のプラグインが早くなったのだろうか。

micro:witch 中級者向け課題

お手伝いをしているロボット講座に新しい児童が入ってきたので、もともといた児童向けに課題集を作った。

ロボット講座が始まって4年目となり、当初からずっと関わっている児童がいる一方、昨年の年度途中で加わった児童もいるので、学年に関係なくスキルレベルはばらついている。また、一通り使えるようになると、知っているブロックだけで世界が閉じてしまい、なかなか発展性がない。

そのため、今年度は新しく入った児童の入門と平行して、元からの児童向けトレーニングを行うことになり、新たなスキルを獲得してもらうために、この課題集を作った次第である。明示してはいないが、課題の狙いとしては、変数の効果的な使用にある。

ほとんどの課題はコード例のない「これ作って」的なものなので、micro:witch に限らず micro:bit 全般で利用できるんじゃないかと思い、Slide Share で公開してみた。

続きを読む →

Pharo 11 がリリースされた

Pharo 11 がリリースされた。

さっそく試してみたところ、FloatArray がなくなってたのにはビビった。実際のところ Float64Array が追加されたことにより、FloatArray が Float32Array に変わっただけのようだけれども。

NovaStelo とか Gratch とか FloatArray を多用しているアプリはかなりの修正が必要になりそう。

ともあれ無事にリリースされてよかった。

Pharo 11 のダウンロードはこちら。

https://pharo.org/download

micro:witch v1.3.0 公開

micro:witch を更新してマイナーバージョンを1つ上げた。(説明ページ

https://github.com/EiichiroIto/microwitch/releases/tag/v1.3.0

Assetsの microwitch-v1.3.0-win.zip をダウンロードしてZIPファイルを展開したフォルダ内にある Scratch.exe を実行すると以下のような画面が現れる。

以前のバージョンでは右側にmicro:bitのシミュレータがあったが、今回のバージョンからは取り除いて広いスクリプトエリアを確保するように変更した。

micro:bit に接続している状態でブロックをクリックするとスクリプトを転送してから実行されるが、接続していない状態ではブロックをクリックしても何も起こらない。

その他、以下のような細々とした修正を行った。

  • ファームウェアの送信時と完了時にメッセージを表示するようにした。
  • 日本語ロケールを更新した。
  • いくつかのクラスでリファクタリングを行った。

micro:witch v1.2.10 公開

micro:witch を更新した。

https://github.com/EiichiroIto/microwitch/releases/tag/v1.2.10

Assetsの microwitch-v1.2.10-win.zip をダウンロードして Scratch.exe を実行すると以下のような画面が現れる。ファイルメニュー左側のボタンから言語設定を変えられる。

主な変更内容は、以下の通り。

  • マイクロビットのアイコンクリックで接続・切断を切り替えられるようにした。
  • ファイル送信時にRAWモードではなくNORMALモードを使うように変更した。
  • ファームウェアのアップロードに関するメソッドをリファクタリングした。
  • スクリプトエリア上部のスプライト名変更ボックスを削除した。

次のバージョン(v1.3)からはスクリプトエリアの右側にあるステージを削除するので、見た目が大きく変わる予定。

プログラミング・フォロ

ヨドバシでプログラミング・フォロが安かったので買ってみた。以前から気にはなっていたものの、micro:bit を直接挿せることを知らなかったので見かけても素通りしていた。

プログラミング・フォロは、エレキットのフォロに micro:bit を取り付けられるようにしたもので、自由にプログラミングできるロボットになる。6足あって前後左右自在に移動できる。

実際にどのように動くのか見当もつかなかった(し、作っても仕組みはよくわからない)のだが、6足のリンク機構をうまく使って、回転するフォロの上半身に合わせて前進・後退できるようになっていた。作ってみて「へぇー、うまくできてるなぁ」と素直に感じた。

続きを読む →