
Raspberry Pi4とScratch3.0でプログラミングをはじめよう。
この記事は「ラズパイ実験室」ブログで紹介した内容を要約したものです。
実際のセットアップや起動の方法等については「まとめ・ブログ紹介」にリンクを貼りつけてありますので、ご利用ください。
Scratchは、アメリカにあるScratch財団とマサチューセッツ工科大学メディアラボ が8歳から16歳向けに共同開発している、プログラミング言語です。
Scratch3.0はWindows、MacOS等、色々な環境で使うことができます。
ここでは、Raspberry Pi4にScratch3.0をインストールして、LEDやスイッチ、モーターなどの制御をするための事前準備について簡単にまとめました。
Scratch3.0のインストールと起動
コンピュータとしてセットアップしたRaspberry Pi4にモニター、キーボード、マウス等の周辺機器を接続します。
メニューの「Recommended Software」を選択して起動します。

Scratch3.0を選択してインストールします。

メニューの「プログラミング」から、「Scratch 3」を選択して起動します。

Scratch3.0の起動画面が表示されますので、画面左下の「拡張機能を追加」ボタンで、ScratchでLEDやスイッチを制御できる機能を追加します。

「Raspberry Pi GPIO」を追加します。

画面左の「ブロックパレット」に「Raspberry Pi GPIO」ブロックが追加されます。

「Raspberry Pi GPIO」と同じように、「Raspberry Pi Simple Electronics」を追加します。

Scratch3.0の画面構成
Scratch3.0の画面は「ステージ」、「スプライトリスト」、「ブロックパレット」、「コードエリア」の主に4つのブロックで組立てられています。

Scratch3.0の基本的な操作(例)
ブロックパレットは、プログラムを作るための「ブロック」が入っているエリアと、「ブロック」を種類ごとに色分けし、まとめた「ブロックメニュー」で構成されています。

「動き」ブロックメニューの「10歩動かす」を使ってみる
「ブロック」を使ってステージ上をネコが左右に動くプログラムを作成します。
「動き」ブロックメニューの「10歩動かす」ブロックをコードエリアにドラッグ&ドロップ します。

ドラッグ&ドロップ した「10歩動かす」ブロックをクリックすると、ネコが右に10歩(10ピクセル)移動します。

「(緑の旗)が押されたとき」を使ってみる
プログラムは色々なきっかけを受取って動き始めます。
きっかけはイベントと呼ばれ、「イベント」ブロックはイベントブロックメニューにまとめられています。
「(緑の旗)が押されたとき」ブロックは、画面右上の「(緑の旗)」をクリックした時、下につなげられたブロックを実行します。
イベントブロックメニューにあるブロックは、スクリプト(コード)が開始されるタイミングを制御します。
帽子のようなブロック(以下 帽子ブロック)は、イベントが発生したときに、その下のブロックを動かします。
帽子のように上部が丸くなっているので、どのブロックもその上につなげることはできません。
「イベント」ブロックメニューの「(緑の旗)が押されたとき」ブロックをコードエリアにドラッグ&ドロップ し、先ほどの「10歩動かす」ブロックの上につなげます。

画面右上の「(緑の旗)」をクリックするとネコが右に10歩(10ピクセル)移動します。

構造化プログラミング
ブロックメニューには、「動き」の他に、「見た目」、「制御」などがあり、ステージ上のスプライト(ネコ)の動作を変化させます。
Scratchはこれらのブロックを組み合わせて、処理を順番に実行(順次実行)したり、条件により処理を分岐(条件判断)したり、同じ処理を繰り返し(繰り返し)実行します。
Scratchを含め、多くのプログラミング言語は、「順次実行」、「条件判断」、「繰り返し」という3つの要素で成り立っています。
この3つの要素の組み合わせてプログラムを作ることを「構造化プログラミング」と言います。
まとめ・ブログ紹介
Raspberry Pi 4にScratch3.0をインストールし、LEDやスイッチを制御する機能を追加しました。
基本的な操作例として、ネコが右に10歩(10ピクセル)移動するという、簡単なプログラムを作ってみました。
操作例で使った「動き」の他に、「見た目」、「制御」などを行うためのブロックメニューがあります。
Scratchにはこれらのブロックを組み合わせて、処理を順番に実行(順次実行)したり、条件により処理を分岐(条件判断)したり、同じ処理を繰り返し(繰り返し)実行する「構造化プログラミング」の一つです。
詳しいセットアップや起動の方法、簡単なゲームの作成を「ラズパイ実験室ブログ」に投稿しましたので参考にしてください。