« 2019年3月 | トップページ | 2019年5月 »

2019年4月

2019/04/30

プログラミング講座(183) ロボットの制御

今回はアニメはちょっと小休止。タミヤの CAM-PROGRAM ROBOT というキットを買ったのでいろいろやってみました。最初はキットを説明書のとおりに作って動かしてみました。プログラムバーにカムを差し込むことで左右のステアリングレッグが出てきてキャタピラを浮かせる仕組みになっています。一連の写真や動画をインスタグラムにアップロードしました。

次に micro:bit 用モータードライバ拡張基板 DFROBOT-DFR0548 とタミヤの単三電池ボックス×2を購入し、CAM-PROGRAM ROBOT の一部を作り換えました。組み換えにはサヌキテックネットのこちらのサイトを参考にしました。

micro:bit 互換の chibi:bit と micro:bit を1台ずつ持っていたので、chibi:bit を CAM-PROGRAM ROBOT の制御用、micro:bit を無線制御用に使いました。受信(chibi:bit)側のプログラムをこちらに、送信(micro:bit)側のプログラムをこちらに公開しました。どちらも Microsoft MakeCode エディターを使いました。

Small Basic のプログラムは WMF008-1 として発行しました。20cm x 20cm の正方形を描くように進みます。その後マニュアルで操作できます。

受信側のプログラムでは配列を入出力バッファとして無制限に使う仕様になっているためか、chibi:bit がエラー表示をすることがあります。改良版ができたらまたコメント欄にお知らせします。

ちなみに下図はロボットとは関係ないですが最近書き直した micro:bit の絵を表示するプログラム GMT047-1 です。

Microbit03

【図183 micro:bit

| | コメント (0)

2019/04/21

プログラミング講座(182) 図形グループの回転

図形グループの回転 Group_Rotate を書いたのはずいぶん前になります。PowerShell のコマンドで調べてみました。

get-childitem *.sb -Recur | select-string Group_Rotate

で一覧を出したあとそのファイルを修正して get-children <見つけたファイル名>.sb を実行する files.ps1 を作り

.\files

と打って一番古いものを見つけました。それは2017年5月の今月のチャレンジの出題に答えるために作った運転ゲームでした。

Trafficgame07b

【図182 運転ゲーム】

それから2年のうちに Group_Rotate は若干改善されて現在の形になっています。この運転ゲームのために図形グループを扱うサブルーチンをいくつか書いていたことを思い出しました。図形グループの仕様については GitHub の Wiki にまとめてあります。

関連項目

 

| | コメント (0)

プログラミング講座(181) 図形グループの拡大縮小

図形グループの拡大縮小を行う Group_Zoom を書いてみました。また、サンプルプログラムを GitHub に公開しました。どちらもコピーする場合はリンク先で [Raw] ボタンを押してからコピー&ペーストしてください。

Zoom

【図181 Zoom】

このプログラムは以前から行っているピクショナリプロジェクトの一環として作成しました。ピクショナリとは元々は絵で表現した言葉を当てるゲームですが、このプロジェクトは、Small Basic で使う英単語を絵で表し、英語圏以外の子供たちがプログラミングに取り組みやすくする目的で始めました。Pictionary.sb では LitDev 拡張機能を使って、各単語のプログラムを呼び出したり、英単語を発音したりしています。

次回は図形グループの回転について書こうと思います。(つづく)

関連項目

| | コメント (0)

2019/04/20

プログラミング講座(180) 左右反転の改善

以前、図形の左右反転について書きました。この時点では Group_Flip というサブルーチンが単に図形を左右反転するだけでした。その後、角度をパラメータとして与える方式に変更しました。変更前後の違いを GitHub Gist に公開しました。新しい Group_Flip を使ったサンプルとして、水族館 0.6 を TKW252-9 として発行しました。

Aquarium05

【図180 水族館 0.6】

Group_Flip は角度を指定して内部では Shapes.Zoom() を呼び出しています。このサブルーチンを変形し図形グループ全体を拡大縮小するものを作ってみたいと思います。(つづく)

関連項目

 

| | コメント (0)

2019/04/10

プログラミング講座(179) 図形シリーズ

今年の正月の記事にもちょっと書いたのですが、Small Basic の日本のファンのための Facebook ページのノートに「図形シリーズ」を載せています。

Shapes(図形)オブジェクトを組み合わせていろいろな図形を描く方法を公開しています。現在作ったのは以下の8種類です。

  • 円をつなぐ
  • 角丸三角形
  • 葉っぱ
  • 台形
  • 平行四辺形
  • 六角形
  • 円弧
  • 角丸四角形

この他にも以下の図形を検討中です。

  • 円形吹き出し
  • パイ
  • 上矢印
  • しっぽ

これらのいくつかは Microsoft Office の図形を元にしています。図形シリーズで用意した図形を、拡大したり回転したりして組み合わせて図形グループを作り、その図形グループをアニメーションのスプライトとして使えるようにしたいと考えています。ここで作っているサブルーチンはいずれ、GitHubGist に登録する予定です。

ちなみに図形シリーズの英語版は TechNet Gallery に公開しています。
 

| | コメント (0)

« 2019年3月 | トップページ | 2019年5月 »