mBlockを使ってArduinoを動かしてみた8:パソコン画面のキャラクターと連動(小学生こう君のブログ )

mBlock画面のキャラクター

父の解説:Scratchをベースにしたビジュアルプログラミング言語mBlockでは、mBlockのアプリ画面に「スプライト」というキャラクターがいます。Scratchのデフォルトのキャラクターは猫ですが、mBlockはパンダです。そのmBlockキャラクターと、Arduinoマイコンを連動させることができる!ということで、挑戦してみました。日本語で読める情報はまだ限られているようですので、記事の末尾に補足情報も掲載しておきます。)

こんにちは! こう君です。今回は、コンピュータのアプリのキャラクターと、Arduinoを連動させてみたいと思います。キャラクターを画面上でクリックすると、ArduinoのLEDがついたり消えたりするプログラムです。

まずは、回路から作っていきたいと思います。回路はとても簡単で、第1回の記事で作った2番目の回路と同じです。

デジタル13番ピンにLEDをつなぎました。抵抗は220オームです。

次に、プログラミングをしたいと思います。初めて「ブロードキャスト」を使います。

画像の「拡張」というボタンをクリックしてください。

すると、画像のような画面が出るはずです。

この、「ブロードキャスト」の+追加というボタンをクリックしてください。

すると、ブロック定義の下に、画像のような画面が出るはずです。

そして、新しく追加された「ブロードキャスト」を使って、Arduinoに画像のようなプログラミングをしてください。PCからメッセージを受け取るとLEDをオンやオフします。

Arduinoのプログラム。3つにわかれています。

Arduinoのプログラムはこれだけです。

次に、画像の部分の「スプライト」という部分をクリックしてください。

すると、プログラムのブロックが変わったはずです。キャラクターについてプログラムができます。

そして、画像のようにプログラミングをしてください。

スプライトのプログラム

父 注: スプライト(キャラクター)がクリックされたとき、「PC(スプライト)側でLEDをONかOFFか決める」→「ブロードキャストでArduinoへメッセージを送る」→「OKのメッセージが返って来るまで待つ」→「返ってきたら、スプライトをランダムに動かす」→「2秒間スプライトが話す」という構成です。)

そして、Arduinoを接続して、「デバイス」にもどして、接続とアップロードをクリックしてください。

デバイス→接続→アップロード

このとき、画像の部分をクリックしてください。すると、キャラクターの枠が大きくできます。

パンダの枠を大きくできます。

そして、右上図の画像の矢印にあるパンダをクリックしてください。

すると、パンダがしゃべって、LEDがつくはずです。

パンダをさわるとパンダが動いてから話をして、LEDがついたり消えたりします

できました!

次回は、番外編ということで、Arduinoスターターキットについている液晶ディスプレイを使ってみたいと思います。

父の補足: mBlockの情報はまだ英語か中国語(mBlockを作っている会社は中国・深圳(シンセン)市のスタートアップ)が多く、日本語ではあまり情報を見つけられませんでした。今回のプログラム作成にあたっては、英語の公式サイトのマニュアル[1]だけを見てもよくわからなかったので、検索で見つけた中国の方のレクチャー動画[2]を参考にしました。

今回紹介した、「PCから命令をArduinoに送る」「Arduinoは命令実行の完了後、確認の信号をPCに戻す」という基本動作さえできれば、いろいろな遊び方が可能になると思います。

[1] “Upload Mode Broadcast,” Makeblock Co., Ltd., 2020, https://www.mblock.cc/doc/en/use-extensions/upload-mode-broadcast.html.
[2] 周泰民, “mBlock5 + Arduino UNO 互動範例(インタラクティブな例),” Feb. 2019, https://www.youtube.com/watch?v=k9-nPWfv64U.

続き: mBlockを使ってArduinoを動かしてみた9:液晶ディスプレイ(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた10:コードブレーカーゲームのルール(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた11:コードブレーカーの暗号を作る(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた12:コードブレーカーの暗号判定(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた13:コードブレーカー判定結果の出力(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた14:コードブレーカー正解/失敗時の動作(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた15:コードブレーカー答えの入力(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた16:コードブレーカー完成して遊んでみた(小学生こう君のブログ )

バックナンバー:

mBlockを使ってArduinoを動かしてみた1:セットアップ(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた2:LEDライト点滅(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた3:LEDで信号機(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた4:スイッチ取り付け(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた5:早押しボタン(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた6:音を出す(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた7:モータを回す(小学生こう君のブログ )

--

--

Hiraku Sakamoto
東京工業大学エンジニアリングデザインプロジェクト

Associate Professor; Engineering Sciences and Design (ESD) Graduate Major, Department of Mechanical Engineering, Tokyo Institute of Technology, Japan.