見出し画像

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にはこれらのブロックを組み合わせて、処理を順番に実行(順次実行)したり、条件により処理を分岐(条件判断)したり、同じ処理を繰り返し(繰り返し)実行する「構造化プログラミング」の一つです。


詳しいセットアップや起動の方法、簡単なゲームの作成を「ラズパイ実験室ブログ」に投稿しましたので参考にしてください。





いいなと思ったら応援しよう!