Scratchで電子工作入門|LED・センサーを動かして学ぶプログラミング
Scratch(スクラッチ)は、ブロック式のプログラミングツールです。文字を打つ必要はありません。命令のブロックを、パズルのようにつなげるだけです。本記事では、Scratchを使った電子工作を紹介します。ハードウェアには、いくつかの選択肢があります。どれか1つに決めつけず、公平に比較します。あなたに合った始め方が、きっと見つかります。
🧩 最初に、ざっくりまとめます
むずかしい話は、あとで説明します。まずは全体のイメージだけつかんでください。
Scratchって何?
文字を打たずに、ブロックを組み合わせてプログラムを作れる、無料のツールです。
何も持っていないなら?
Raspberry Piがおすすめです。追加ソフトが不要で、公式の学習教材まであります。
Arduinoを持っているなら?
mBlockという無料ソフトを追加するだけで、そのまま活用できます。
誰向けの内容?
お子さんはもちろん、文字のコードに苦手意識がある大人にも、最初の一歩としておすすめです。
まとめ:Scratchのブロックで、実際の部品を動かせます。あなたが今持っている物に応じて、最適な始め方を選びましょう。
01Scratchとは何か

Scratchは、無料のプログラミング学習ツールです(Scratch入門|使い方・始め方を初心者向けにやさしく解説で当サイトでも詳細に解説しています。)。アメリカのMIT(マサチューセッツ工科大学)が開発しました。文字でコードを書く代わりに、何を使うでしょうか。色分けされたブロックを使います。画面上でドラッグして、ブロック同士をつなげます。「10歩動かす」「もし〜なら」「ずっと繰り返す」。こうした命令が、あらかじめブロックの形で用意されています。組み合わせる順番を間違えても、大きな問題は起きません。直感的に、試行錯誤しながら学べる設計になっています。
世界中で使われている理由
Scratchは、8歳前後の子ども向けに設計されました。しかし今では、事情が変わっています。世界中の学校教育で、プログラミング入門の定番として使われているのです。文字のコードを覚える前に、大切なことがあります。「順番に処理を進める」「条件によって分岐する」。こうした、プログラミングの根っこの考え方があります。この考え方を、遊びながら身につけられるからです。
02なぜ電子工作と組み合わせるのか
Scratch単体でも、楽しめることはあります。画面の中のネコを動かせます。簡単なゲームも作れます。しかし、画面の中だけで完結してしまいます。少し物足りなさを感じる方もいるでしょう。ここに、電子工作を組み合わせるとどうなるでしょうか。ブロックをつなげるだけで、目の前のLEDが実際に光ります。センサーに手をかざせば、どうなるでしょうか。画面の外にある現実の部品が反応します。「プログラムが、現実の世界に影響を与える」。この体験は、モチベーションを大きく高めてくれます。
033つの選択肢|あなたに合うのはどれか

Scratchで電子工作をする方法には、複数の道があります。どれか1つが絶対的に正しい、というわけではありません。あなたが今持っている物によって、最適な選択は変わります。まずは、3つの選択肢を正直に比較してみましょう。
Raspberry Pi|追加ソフトが不要
Raspberry Piには、大きな利点があります。Scratchが、OSに最初から入っているのです。しかも、電子部品を操作する機能(GPIO)まで、標準で組み込まれています。追加のソフトを探す必要は、一切ありません。しかも、これは非公式な工夫ではありません。Raspberry Pi財団自身が、公式のカリキュラムまで用意しています。「Physical Computing with Scratch」という名前の教材です。ゼロから始めるなら、もっとも迷いが少ない選択肢です。
Arduino+mBlock|すでに持っているなら
すでにArduinoをお持ちの方もいるでしょう。C++での電子工作に、慣れている方もいるかもしれません。その場合は、mBlockという無料ソフトを追加するだけです。Scratchとほぼ同じ操作感で、Arduinoを動かせます。センサーの種類も豊富です。世の中の電子工作の作例も、Arduino向けが圧倒的に多くあります。将来的に、より幅広いセンサーを試したい場合にも向いています。
micro:bit|配線なしで今すぐ試したいなら
もっとも手軽な選択肢です。Scratch 3.0には、公式のmicro:bit拡張機能があります。Bluetoothでワイヤレスに接続します。配線の手間が、ほとんどありません。ただし、扱える機能は限られます。ボタン、傾きセンサー、LED画面表示程度です。「まず何か動かす感動を味わいたい」という、最初の1歩に向いています。
3つを並べて比較する
| 比較項目 | Raspberry Pi | Arduino + mBlock | micro:bit |
|---|---|---|---|
| 追加ソフト | 不要 | mBlockが必要 | 拡張機能を追加 |
| 公式サポート | Raspberry Pi財団の公式教材あり | 非公式(Makeblock社製) | Scratch公式の拡張機能 |
| 接続方法 | 本体内で完結 | USBケーブル | Bluetooth |
| 拡張性 | 幅広いセンサーに対応 | 幅広いセンサーに対応 | 本体内蔵の機能が中心 |
| 向いている人 | ゼロから始める方 | Arduinoを持っている方 | 配線なしで試したい方 |
※本記事では、この3つすべての始め方を紹介します。実践例は、もっとも間口の広いRaspberry Pi/Arduinoの2系統で解説します。
04必要なもの
Raspberry Piの場合
Raspberry Pi本体があれば、ソフトの準備は終わりです。電子工作をするなら、部品も必要です。LED、抵抗、ブレッドボード、ジャンパーワイヤです。
Arduino+mBlockの場合
Arduino本体、USBケーブルが必要です。パソコンには、mBlockをインストールします。部品は、Raspberry Piの場合と同じです。
共通で使う部品
| 物 | 役割 |
|---|---|
| LED・抵抗 | 最初の実践で使用 |
| タクトスイッチ | ボタン操作の実践で使用 |
| CdS光センサー | 明るさセンサーの実践で使用 |
| 超音波距離センサー(HC-SR04) | 距離センサーの実践で使用 |
05始め方|Raspberry Piの場合
Raspberry Pi OSが入った本体があれば、準備はほぼ終わっています。デスクトップ画面から、Scratchのアイコンを探しましょう。クリックするだけで起動します。ダウンロードも、インストールも必要ありません。
GPIOブロックを追加する
起動したら、画面右下あたりを見てみましょう。「拡張機能を追加」というボタンがあります。そこから「Raspberry Pi GPIO」を選びます。これで、電子部品を操作するブロックが使えるようになります。
06始め方|Arduino+mBlockの場合
ソフトを準備する
mBlockの公式サイトから、無料でダウンロードできます。パソコン用のアプリ版がおすすめです。接続の安定性が高いためです。
Arduinoとつなぐ
USBケーブルで、ArduinoとパソコンをつなげたらmBlockを起動しましょう。画面右下あたりにある「デバイス」の欄から、「Arduino Uno」を選びます。ケーブルがつながっていれば、自動的に認識されます。
07ブロックの基本操作
どちらのソフトを選んでも、基本操作はよく似ています。画面の左側に、ブロックの一覧が並んでいます。色ごとに、役割が分かれています。使いたいブロックを、ドラッグして移動させます。中央の作業スペースへ運びます。ブロック同士は、パズルのように、上下にカチッとはめ込んで連結します。
本記事での表記ルール
本記事では、ブロックの組み合わせを、次のような形式で紹介します。実際の画面では、これらは色付きのブロックとして表示されます。文章として読みやすくするための、表記上の工夫だとお考えください。
[緑の旗が押されたとき]
ずっと
[ピン 13(17) を 高(オン) にする]
ピン番号や表現は、ソフトによって少し異なります。カッコの中に、それぞれの表記の目安を添えています。左がArduino+mBlock、右がRaspberry Pi(GPIO番号)です。
08実践1:LEDを光らせる

配線の考え方
LEDには、長い足と短い足があります。長い足(アノード)は、抵抗を経由してピンへつなぎます。短い足(カソード)は、GNDへつなぎます。この考え方は、どちらのハードウェアでも共通です。
ブロックを組んでみる
ブロックの構成イメージ(Arduino / Raspberry Pi)
[緑の旗が押されたとき]
ずっと
[ピン 13(17) を 高(オン) にする]
[1 秒待つ]
[ピン 13(17) を 低(オフ) にする]
[1 秒待つ]
「高(HIGH)」または「オン」が、ピンをONにする命令です。「低(LOW)」または「オフ」が、OFFにする命令です。「1秒待つ」ブロックで、点滅のリズムを作っています。緑の旗を押すだけで、目の前のLEDが、実際に点滅を始めます。
独自アイデア:明るさを変化させる(Arduino+mBlockの場合)
PWM対応のピン(3・5・6・9・10・11番)を使えば、明るさを滑らかに変化させることもできます。
[緑の旗が押されたとき]
ずっと
[変数 明るさ を 0 にする]
[明るさ < 255 の間繰り返す]
[アナログピン 9 に 明るさ を出力する]
[変数 明るさ を 5 ずつ変える]
[0.02 秒待つ]
09実践2:ボタンで操作する

次は、入力を扱ってみましょう。タクトスイッチが押されたときだけ、LEDを点灯させます。
ブロックの構成イメージ
[緑の旗が押されたとき]
ずっと
もし <ピン 2 を読む = 1> なら
[ピン 13(17) を 高(オン) にする]
でなければ
[ピン 13(17) を 低(オフ) にする]
「もし〜なら」というブロックは、条件分岐の基本です。C++のif文と、まったく同じ役割を果たしています。
独自アイデア:押した回数をカウントする
[緑の旗が押されたとき]
[変数 カウント を 0 にする]
ずっと
もし <ピン 2 を読む = 1> なら
[変数 カウント を 1 ずつ変える]
[(カウント) を 1 秒言う]
[0.3 秒待つ]
ボタンが押されるたびに、カウントという変数が1つずつ増え、その数字が画面に表示されます。
10実践3:明るさセンサーで自動点灯
CdS光センサーという部品があります。明るさを感じる部品です。これを使い、暗くなったら自動でLEDを点灯させる仕組みを作ります。
ブロックの構成イメージ(Arduino+mBlockの場合)
[緑の旗が押されたとき]
ずっと
もし <アナログピン A0 を読む < 300> なら
[デジタルピン 13 を 高 にする]
でなければ
[デジタルピン 13 を 低 にする]
「アナログピンを読む」というブロックが、センサーの値を、0〜1023の数値として取得します。値が300より小さい(=暗い)ときだけ、LEDを点灯させています。この「入力を感じ取る→判断する→出力で反応する」という流れは、電子工作全般に共通する、基本の型です。Raspberry Piでこの実践をしたい場合は、アナログ値を扱うための追加回路(AD変換IC)が必要になります。GPIOがデジタル入出力を主とする設計のためです。デジタルなON/OFFのセンサー(人感センサーなど)であれば、Raspberry Piでもそのまま扱えます。
11実践4:超音波距離センサーで反応させる

超音波距離センサー(HC-SR04)は、物との距離を測れるセンサーです。デジタル信号でやり取りするため、Raspberry Pi・Arduinoのどちらでも扱えます。mBlockには、このセンサー専用のブロックが用意されています。
ブロックの構成イメージ
[緑の旗が押されたとき]
ずっと
[変数 距離 を (超音波センサー Trig:12 Echo:11 の距離) にする]
もし <距離 < 10> なら
[ピン 13(17) を 高(オン) にする]
でなければ
[ピン 13(17) を 低(オフ) にする]
手を10cmより近づけると、LEDが点灯する仕組みです。「Trig」「Echo」という2本の信号線を使って、距離を測ります。
12次のステップ|文字のコードへ進むには
Scratchのブロックに慣れてきたら、文字のコードにも挑戦してみましょう。mBlockには便利な機能があります。「Arduinoモード」に切り替えると、組んだブロックがC++のコードとして自動的に変換され、表示されるのです。
例えば、8章で組んだLED点滅のブロックは、次のようなコードに変換されます。
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
ブロックと見比べてみましょう。「ピンを高にする」がdigitalWrite(13, HIGH)に、「1秒待つ」がdelay(1000)に対応しています。Raspberry Pi側では、Pythonという言語で、同様の処理を書けるようになります。どちらへ進んでも、Scratchで学んだ考え方は、そのまま活きてきます。
13よくあるトラブルと対処法
| 症状 | 主な原因 | 対処法 |
|---|---|---|
| Arduinoが認識されない | ドライバ未インストール、ケーブル不良 | USBケーブルを交換する、mBlockを再起動する |
| Raspberry PiでGPIOブロックが出てこない | 拡張機能の追加忘れ | 5章の手順で拡張機能を追加する |
| ブロックを実行してもLEDが光らない | 配線ミス、ピン番号の指定違い | 配線とブロック内のピン番号を照合する |
| センサーの値が0や1023で固定される | 配線の接触不良 | ジャンパーワイヤの挿し直しを試す |
「実行」と「書き込み」の違いに注意(Arduinoの場合)
mBlockには、2つの動かし方があります。パソコンとつないだまま動かす「ライブモード」と、Arduino本体にプログラムを書き込んで単体で動かす「アップロードモード」です。パソコンを外すと動かなくなる場合は、書き込みができているか確認しましょう。
お子さんと一緒に取り組んでいたKさんは、ブロックを組んでもLEDが光らず、困っていた。何度も配線を確認したが、原因が分からなかった。そこで、ブロック内のピン番号を見直したところ、13番と指定すべきところを、誤って3番と入力していたことに気づいた。数字を直すと、無事にLEDが点灯した。ブロック内の細かい数値も、配線と同じくらい丁寧に確認する習慣が大切です。
14よくある質問
基本のQ&A
応用のQ&A
関連記事・参考資料
基礎を学べる記事
- YOFUKASI LAB「電子工作とプログラミング入門|初心者は何から始める?」2026年, https://yofukasi-lab-wp.com/2026/09/12/electronics-programming-getting-started/
- YOFUKASI LAB「Raspberry Piとは?基本と始め方」2026年, https://yofukasi-lab-wp.com/2026/07/19/raspberry-pi/
- YOFUKASI LAB「micro:bitの使い方」2026年, https://yofukasi-lab-wp.com/2026/09/10/microbit-how-to-use/
応用・関連記事
- YOFUKASI LAB「Raspberry PiとArduinoの違いを徹底比較」2026年, https://yofukasi-lab-wp.com/2026/08/19/raspberry-pi-vs-arduino/
- YOFUKASI LAB「Raspberry PiでLEDを光らせる方法」2026年, https://yofukasi-lab-wp.com/2026/08/19/raspberry-pi-led/
参考資料(外部・一次情報)
- Scratch公式サイト, https://scratch.mit.edu/
- Raspberry Pi Foundation「Physical Computing with Scratch」, https://projects.raspberrypi.org/en/projects/physical-computing-with-scratch
- mBlock公式サイト, https://mblock.makeblock.com/
- micro:bit財団「Scratchとの接続方法」, https://support.microbit.org/support/solutions/articles/19000026080
※本記事は個人の学習・電子工作用途を対象にしています。実際の製品や医療機器へ組み込む場合は、電気安全・製品規格の専門家に別途ご相談ください。
コメント