「ロボットを作ってみたいけれど、黒い画面に英語のコードを打つなんて自分には絶対無理……」
「プログラミングの授業で難しくて挫折しかけたことがある……」
そんな不安を抱えていませんか?ちょっと待ってください!
実は、文字を1文字も打たなくても、マウスをパチパチ動かすだけで本格的なロボットを自由自在に動かせる魔法の方法があるんです。
それが、「ビジュアルプログラミング(ブロックプログラミング)」です。
この記事では、プログラミング完全未経験の中高生でも、今日からすぐにロボット開発の楽しさを味わえる「Scratch(スクラッチ)」や「Blockly(ブロックリー)」を使ったロボット制御の世界を分かりやすく解説します!
1. 「文字を打たないプログラミング」ってどういうこと?
私たちが普段イメージするプログラミングは、パソコンの黒い画面(エディタ)に向かって、英語の呪文のような文字をキーボードで打ち込んでいく姿かもしれません。1文字でも「;(セミコロン)」や「,`(カンマ)」を打ち忘れるとエラーになり、動かなくなってしまいます。
一方、ビジュアルプログラミングの世界は全く違います。
【ビジュアルプログラミングのイメージ】
[ もし "前方のセンサーが反応した" なら ]
├── [ モーターを「逆回転」させる ]
└── [ 5秒間「右に曲がる」 ]
このように、あらかじめ用意されたパズルのピース(ブロック)を画面上でマウスで組み合わせていくだけでプログラムが完成します。
ピースの形が合わないと結合できない仕組みになっているため、「文法エラーで動かない」という絶望を味わうことが一切ありません。
2. 世界中の子供たちが熱中する「Scratch(スクラッチ)」とは?
ビジュアルプログラミングの代名詞といえば、マサチューセッツ工科大学(MIT)が開発した「Scratch(スクラッチ)」です。
-
対象: 小学生から高校生、大人まで世界中で数千万人が利用
-
コスト: 完全無料(ブラウザ上で動くためインストール不要、スマホやタブレットでも遊べる)
-
特徴: 猫のキャラクター(スプライト)を動かしたり、ゲームを作ったりするのが有名ですが、実は「現実世界のロボット」を動かすこともできるんです!
Scratchでできること
画面上のキャラクターを動かすだけでなく、パソコンのUSBポート経由でArduinoなどのロボットボードと連携させると、「画面上のボタンを押すと、目の前のロボットカーが走り出す」といった制御が簡単に実現できます。
3. ロボット専用のブロック言語「Blockly(ブロックリー)」&専用ソフト
ロボット開発に特化してさらに便利になったのが、Googleが開発した「Blockly(ブロックリー)」や、各ロボットメーカーが用意している専用のビジュアルプログラミングソフトです。
中高生のロボットづくり(教育用ロボットキットなど)でよく使われる代表的なソフトを見てみましょう。
① mBlock(エムブロック)
-
特徴: Scratchをベースに作られた、ロボット教育で大人気の無料ソフト。
-
できること: 画面上にはScratchそっくりの可愛いブロックが表示されますが、右側の画面を見ると、そのブロックが「Python」や「C言語」のどのようなコードに変換されているのかがリアルタイムで表示されます!
-
ここがスゴい: 最初はブロックで直感的に動かし、慣れてきたら実際のコード表示を見ることで、自然に本物のプログラミング言語(テキストコーディング)へステップアップできます。
② レゴ SPIKEプライム / レゴ マインドストーンズ用アプリ
-
特徴: 世界的なブロック玩具「レゴ」のロボットを動かすための専用ビジュアルプログラミング環境。
-
できること: モーターの回転速度やセンサーの感度をパズルブロック感覚で設定し、一瞬でロボットに無線転送して走らせることができます。
4. 【実践】ブロックでロボットを動かしてみよう!
実際に、ビジュアルプログラミングを使って「自動で障害物をよけるロボット」を作るプログラムが、頭の中でどのように組み立てられるか見てみましょう。
ステップ1:基本の動きを作る
-
ブロック:「 [モータA] と [モータB] を [前進] させる、スピード [50] 」
-
これを配置するだけで、ロボットがまっすぐ走り出します。
ステップ2:センサーの条件分岐を入れる(「もし〜なら」)
ロボットに「もしもの世界」を教えてあげます。
