プログラミング・フォロ

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

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

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

続きを読む →

NovaStelo v1.2.6 公開

ブロック型のプログラミングが可能なマルチエージェントシミュレーション環境である NovaStelo v1.2.6 のリリースを公開した。

https://github.com/EiichiroIto/NovaStelo/releases/tag/v1.2.6

しばらくリリースを更新していなかったのでかなりの変更となった。

  • Pharo 10へ対応した。
  • Projectの読み込み・書き込みを行う ScratchProjectReadWriter クラスを追加した。
  • 変数値の入力時にテキストを全選択するようにした。
  • 文字列フィールド内での編集機能を追加した。
  • 右ドラッグやホイールで、スクリプトとブロックパレットをスクロールさせるようにした。
  • 色リストで色を選ばずにOKを押すとエラーが発生するバグを修正した。
  • kill id of Turtles が動いていないバグを修正した。
  • 死んだタートルのidでタートルを作ると、ユーザー変数が残ったままのバグを修正した。
  • sub nameの入力でエラーになるバグを修正した。
  • テキスト入力時に全選択させ、Enterで確定させるようにした。
  • SColorListをColorListに変更した。

これでUIなどが他のFromScratchアプリと同様になった。

Algorit v1.2.4 公開

Algorit のベータ版である v1.2.4 を公開した。

https://github.com/EiichiroIto/Algorit/releases/tag/v1.2.4

主な変更点は以下の通り。

  • 変数追加時に自動的にチェックを入れるようにした。
  • タイマー機能を追加した。
  • プロジェクト読み込み時にコンソールを消去するようにした
  • Projectの読み込み・書き込みを行う ScratchProjectReadWriter クラスを追加した。
  • リストを逆順にするブロックを追加した。
  • setup時に変数履歴を消去するようにした。
  • 不要なクラスを削除した。
  • projectDir未設定時の挙動を修正した。
  • プロジェクト以外の読み込みディレクトリを覚えておくようにした。
  • Pharoを終了させずに言語設定を変更できるようにした。

大きな変更はなく、今まで気に食わなかった部分の修正にとどまっている。

micro:witch v1.2.9 公開

久しぶりに micro:witch のリリースを公開した。

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

お手伝いしているロボット講座で得たいろいろな経験から、いろんなバグを取り除いたり新たなブロックを追加したりと、溜まっていたあれこれをまとめてみた。

講座に参加している子にたのんでロゴも作ってもらい、タイトルロゴにも加えてみた。

実際に使ってもらう場があり、その場に関われるのはとても有り難い。かなり古いコードベースなので新しい micro:witch2 へ移行してもらいたいのが本音だが、しばらくこちらも続きそうだ。

Algorit v1.2.2 公開

Algorit のベータ版である v1.2.2 を公開した。

https://github.com/EiichiroIto/Algorit/releases/tag/v1.2.2

主な変更点は以下の通り。

  • Pharo 10 に対応した。
  • ブロック内の入力欄での編集ができるようにした。
  • リスト変数を棒グラフで表示できるようにした。
  • 文字出力時に ConsoleMorph を使うように変更した。
  • 変数やリストの表示切り替えをタブに変更した。
  • マウスの右ボタンのドラッグやホイールでブロックパレットをスクロールするようにした。
  • 日本語の文字を含むスクリプトを保存できないバグに対応した。
  • フルスクリーン表示やリサイズの設定項目を追加した。
  • 設定関係のメソッドをクラスに独立させた。
  • ScratchFrameMorph2 クラスを削除した。
  • 日本語ロケールを変更した。
  • 細かいバグ修正を行った。

あわせてソーティング関係のサンプルをいくつか追加した。以下はクイックソートの実行中画面。

M5Apple2 を CORE2 対応にした

長らく放っておいた M5Apple2 を CORE2 に対応させた。(いままでは Fire対応)

https://github.com/EiichiroIto/m5apple2

それほどコードを変更する必要はなかったが、ビルド中にオンスクリーンキーボードとブートシステムでエラーが出たので思い切って関連コードを削除した。

CORE2 は素のままだと GPIO へのアクセスがよくないので、Grove コネクタは I2C 用と割り切り、アナログジョイスティックのサポートもやめた。

I2Cキーボードについては起動時に接続していれば使うし、そうでなければ使わないようにした。(今までのコードでは毎回、デバイスを確認していた)

以上

ScratchLink について

ScratchLink はScratch 3.0と連携して外部のデバイスの操作を可能にするソフトウェアである。(Scratch Japan Wikiより)

ソースはgithubで公開されており、Windows版とMac版が存在している。Windows版はC#で記述されており、ちょっと工夫すれば自前でビルドも可能なようである。ただ、残念ながらLinuxでは動作しない。

プロトコルの概要についてはgithubにドキュメントが公開されている。特にmicro:bitとの接続に興味があったが、より詳細に説明しているサイトを見つけられなかったので、Windows版でどうなっているのか調べてみた。

続きを読む →