ガイド · 読了まで10分

Arduinoのプロジェクトを生徒と共有する:自作プロジェクトで授業をする方法

自分のArduinoプロジェクトを、フォーラムのチュートリアル投稿として共有しましょう。写真、回路、コード、部品リスト、生徒へのリンクの送り方、プレミアムコード、40分の授業例を紹介します。

先生からArduinoのプロジェクトを生徒と共有する方法を聞かれるとき、質問はたいていこうです。「自分で作ったプロジェクトで授業をしたい。生徒は回路図、コード、部品リストをどうやってスマホで見ればいいのか?」BlueGraysでの答えは学ぶ > フォーラム > 新規投稿です。カテゴリーにチュートリアルを選び、プロジェクトの写真と回路の写真を画像として追加し、コードを貼り付け、使った部品を説明欄に書きます。投稿は審査なしで公開されます。そのあと、投稿の共有アイコンで生徒にリンクを送ると、生徒のアプリで同じ投稿が開きます。

このガイドでは、前提条件、写真とコードの準備、新規投稿画面の項目ごとの入力方法、説明欄にそのままコピーできるテンプレート、投稿の公開と生徒が投稿を見つける方法、このプロジェクトを使った40分の授業例、そして公開前に確認するチェックリストを紹介します。最初に正直にお伝えしておくと、共有した投稿はクラス専用のスペースに置かれるわけではありません。公開された時点で誰でも見られるフォーラムの投稿になります。それが先生にとって何を意味するかは、後ほど説明します。

なぜ自作プロジェクトで教えるのか?

アプリにある既成のプロジェクトは、ほとんどの授業にしっかりした骨組みを与えてくれます。LED、ボタン、センサー、ディスプレイ、モーター。けれども、ほぼすべての先生には自分だけのプロジェクトがあります。学校の温室に取り付けた水分アラーム、休み時間のチャイムのように動くタイマー、物理の授業で使う照度計、あるいはクラブで何年もかけて改良してきた小さなロボット。それを毎年、コピーした資料や黒板に描いた回路図、グループチャットに送ったコードファイルで教えるのは骨が折れます。回路図はぼやけ、コードは写し間違えられ、部品リストはどこかへ消えてしまいます。

プロジェクトをフォーラムのチュートリアル投稿として共有すると、そうした要素がすべて1か所にまとまります。プロジェクトと回路の写真、コピーできるコード、数量付きの部品リスト、そして添付した関連の既製プロジェクト。生徒は家でも同じ投稿を開き、コードをパソコンに移し、足りない部品を確認できます。翌年は、すべてを説明し直す代わりに、新しいクラスに同じリンクを送るだけです。投稿を更新する必要があれば、編集して保存します。

始める前に:前提条件

前提条件必要な理由準備の方法
BlueGraysのアカウントフォーラムへの投稿は無料ですが、サインインしたアカウントが必要です。プレミアムは不要です。アプリをダウンロードしてアカウントを作成します。教育者向けパッケージがある場合は、そのコードは生徒用に取っておきます。
動作確認済みのコード生徒の最初の体験がコンパイルエラーであってはいけません。投稿を読む人は皆、コードをそのままコピーします。自分の回路でコードを書き込み、最初から最後まで少なくとも1回は動かします。
プロジェクトの写真投稿の最初の画像です。生徒が最初にプロジェクトを目にする場所になります。完成したプロジェクトの、ピントが合った明るい写真。
回路の写真生徒が配線するときに見る画像です。投稿に追加できる5枚の画像のうちの1枚です。読みやすい回路図、またはすべての接続がはっきり見える写真。
部品のリスト生徒はここで足りない部品を確認します。部品リストは説明欄に書きます。使ったすべての部品を数量と一緒に事前に書き出しておきます。
投稿に添付する既製プロジェクトの中には、プレミアムのものもあります。生徒にプレミアムを渡したい場合は、プロフィール > 教育者向けパッケージ画面でパッケージを購入し、マイコードからコードを配ってください。生徒はプロフィール > コードを利用画面でコードを入力します。教育者向けパッケージの仕組みや、クラスの人数に応じて何パック必要かについては、クラスで使うArduinoアプリとまとめ買いのプレミアムコードの記事で説明しています。

準備:写真、回路の画像、コード、部品リスト

投稿を書くこと自体は5分で終わります。本当に時間がかかるのは準備です。よく準備された投稿は、生徒が授業中に聞いてくるはずの質問の半分に前もって答えてくれます。下のリストの順に進めれば、新規投稿画面を開いたときにすべてがそろっています。

  • プロジェクトの写真:プロジェクトが動いている状態で、日光の下か白いデスクライトの下で撮ります。背景はシンプルにし、ボードと出力(点灯したLED、ディスプレイの文字)を同じフレームに入れます。真上から撮るより、スマホをプロジェクトの少し上から約45度の角度で構えるほうが、配線をたどりやすくなります。
  • 回路の写真:いちばんよいのは、回路図作成ソフトで描いた回路図です。写真を撮る場合は、ブレッドボードを真上から撮り、すべてのワイヤーの両端が見えるようにします。ワイヤーの色を統一しましょう。5Vまたは3.3Vは赤、GNDは黒、信号はそれ以外の色にします。ピン番号を紙に書いてボードの横に置くと、ぐっと読みやすくなります。
  • コード:ピン番号はコードの冒頭で定数として定義し(例:const int ledPin = 8;)、各セクションに短いコメントを付け、テスト用に残っている行は削除します。ライブラリを使う場合は、説明欄にその名前を書きます。最後にもう一度Arduino IDEでコードをコンパイルして書き込み、そのとおりのコードをコードを追加で貼り付けます。
  • 動画(任意):フォーラムの投稿には動画をアップロードできません。プロジェクトが動いている様子を30〜90秒ほどの短い動画で見せたい場合は、YouTubeにアップロードして説明欄にリンクを追加します。動画の中で一度回路をアップで映しておくと、生徒が自分の回路と見比べやすくなります。
  • 部品リスト:すべての部品を数量と一緒にメモし、抵抗やLEDは値や色も書きます。220 Ωの抵抗×3、赤色LED×1、黄色LED×1といった具合です。このメモはそのまま説明欄に入れられます。
写真に顔、学校名、身分証などの個人情報が写らないようにしてください。フォーラムの投稿は公開された時点で誰でも見られるので、公開したくないものはフレームに入れないでください。

新規投稿画面を項目ごとに入力する

準備ができたら、下部のバーで学ぶタブをタップし、上部のフォーラムセクションに切り替えて、新規投稿をタップします。カテゴリーにはチュートリアルを選びます。画面の項目と、おすすめの書き方は次のとおりです。

項目必須?入力する内容例
カテゴリーはい自分のプロジェクトを順を追って説明する投稿にはチュートリアルチュートリアル
タイトルはい何をするものかがわかる短い名前土壌水分アラーム(LEDとブザー)
説明はい下のテンプレートを使って、目的、配線、仕組み、課題テンプレートの6つの見出し
画像いいえ(最大5枚)完成したプロジェクトの鮮明な写真と、読みやすい回路の画像画像1は鉢の横に置いたアラーム、画像2はブレッドボードを真上から撮った写真
コードいいえ「コードを追加」から入れる、動作確認した最終版のArduinoコードピンの定数を冒頭に置いた、コメント付きのコード
プロジェクトいいえ(最大3件)同じアイデアをもとにした、BlueGraysの既成のプロジェクトLDRを使ったナイトライト
部品いいえ(最大5個)使った主な部品ブザー、赤色LED
ツールいいえ(最大3個)計算に役立つ電子工作ツールLED抵抗

投稿では、説明欄が、生徒が読むおもな文章です。既成のプロジェクトにあるステップごとの解説の代わりになるので、1つの段落にまとめるのではなく、見出しのある構成にしましょう。下のテンプレートをコピーして、自分のプロジェクトに合わせて埋めてください。

  1. 目的:このプロジェクトは何をするのか?1文で。(土が乾くとLEDが点灯し、ブザーが短く鳴ります。)
  2. 学べること:2つか3つの概念。(analogReadでセンサーを読む、しきい値、if-elseで判断する。)
  3. 配線:各部品がどのピンにつながるかを1行ずつ。(センサーAO → A0、LED → D8 + 220 Ω → GND、ブザー → D9。)
  4. 仕組み:コードの流れを4〜6ステップで。(センサーを読む、値をシリアルモニタに表示する、しきい値と比べる、LEDとブザーを制御する、1秒待つ。)
  5. 自分で試す:2つか3つの小さな変更。(しきい値を500から600に上げて違いを見る、土がとても乾いているときだけブザーを鳴らす。)
  6. 安全:短い注意事項。(回路を変更する前にUSBを抜く、センサーは印の線までしか水に浸けない。)

部品リストと難易度

部品リストは数量とともに説明欄に書きます。同じ種類の部品ははっきり区別しましょう。「330R」「10K」「青色LED」「オス・メス」などです。2種類の値の抵抗を使う場合は、それぞれを値と数量とともに別の行に書き、どの抵抗がどこに入るかを生徒が部品リストから読み取れるようにします。主な部品は関連するプロジェクト、部品、ツールセクションで投稿に添付することもできます(部品は最大5個)。必要な部品が一覧にない場合は、アプリの「サポート」から知らせることができます。

フォーラムには難易度の専用の欄がないので、タイトルか説明欄の冒頭にレベルを書きます。レベルを決めるときは、コードの行数と回路の複雑さをあわせて考えます。おおまかな目安は下の表のとおりです。迷ったら低いほうのレベルを選びましょう。初級と書かれたプロジェクトで苦労する生徒は、中級のプロジェクトを簡単だと感じる生徒よりも早くやる気をなくします。

レベル典型的な回路典型的なコード例
初級部品1〜3個、ライブラリなし30行まで、ifまたはループが1つボタンで点くLED、LDRで作る常夜灯
中級センサー1つと出力1〜2つ、ライブラリを使うことも30〜100行、複数の条件、関数水分アラーム、距離に応じて鳴るブザー
上級複数のモジュール、ディスプレイ、モーター、無線通信100行以上、ステートマシン、タイミング制御水やりステーション、障害物を避けるロボット

公開:審査はないが、言語が大切

各欄に入力して公開をタップすると、投稿は審査なしでフォーラムに公開されます。投稿は、そのときアプリで使っている言語で公開され、自動翻訳はされません。ほかの言語でアプリを使う生徒は、フォーラムのトピックの言語でその言語かすべてを選ぶと投稿を見られます。あとで直したいところがあれば、投稿を編集で投稿を更新します。

フォーラムの投稿は、プロジェクトの一覧、プロジェクトの検索、絞り込みには表示されません。生徒はフォーラムで、または先生が送ったリンクから投稿を見つけます。投稿は使う授業の前に公開し、自分のスマートフォンで一度開いて、画像とコードが正しく表示されるか確認しておきましょう。授業で使っている投稿を学期の途中で大きく変更する予定があるときは、生徒に知らせてください。

公開後:生徒がプロジェクトを見つける方法

投稿は、フォーラムのチュートリアルカテゴリーに先生の名前で表示されます。自動翻訳はされないので、ほかの言語でアプリを使う生徒は、フォーラムのトピックの言語で先生の言語を選ぶ必要があります。生徒が投稿にたどり着く方法は3つあります。

  • 共有リンク:投稿の上部にある共有アイコンを使って、クラスのチャンネルにリンクを送ります。生徒がタップすると、アプリで同じ投稿が開きます(サインインしていない場合は、先にサインインを求められます)。
  • フォーラムの検索:投稿にほかと区別できるタイトルを付けていれば(例:「土壌水分アラーム(LEDとブザー)」)、フォーラムの検索ボックスに入力するだけで見つかります。チュートリアルカテゴリーを選ぶと一覧が絞り込まれます。
  • 既成のプロジェクトへのリンク:添付した既成のプロジェクトも、プロジェクトページの共有で送ることができます。生徒は気に入ったプロジェクトをお気に入りで「ワークショップ > お気に入り」に保存します。

ここで1つ大事な点があります。フォーラムの投稿は無料で読めますが、投稿に添付したプレミアムのプロジェクトを全部見るにはプレミアムが必要です。クラスでいちばん簡単なのは教育者向けパッケージを使う方法です。生徒一人ひとりにコードを渡せば、アプリにある200件以上のプロジェクトがすべて利用できるようになります。最初の授業は無料のプロジェクトで始め、プレミアムのプロジェクトに移る週にコードを配るという順番もよいでしょう。

このプロジェクトを使った40分の授業例

たとえば、先生のプロジェクトが「土壌水分アラーム」だとします。土壌水分センサーをA0、赤色LEDをD8、ブザーをD9につなぎ、土が乾くとLEDが点灯してブザーが短く鳴ります。24人のクラスを3人ずつ8グループに分けたと仮定します。下の流れは、どんな自作プロジェクトにも応用できます。

時間段階内容
0〜5分ウォームアッププロジェクトの動画か写真をプロジェクターで映し、「この回路は何を検知して、いつ知らせるのか?」と問いかけます。
5〜10分ページを一緒に読む生徒は先生が送ったリンクからフォーラムの投稿を開き、部品リストと回路の写真を全員で確認します。
10〜20分回路を組む各グループが説明欄の「配線」リストを見ながら回路を組み、先生は机を回ってGNDと5Vの接続を確認します。
20〜27分コードを書き込む投稿からコードをコピーしてArduino IDEに貼り付け、ボードとポートを選んでスケッチを書き込みます。シリアルモニタでセンサーの値を確認します。
27〜35分課題に挑戦各グループが乾いた土と湿った土で値を測って黒板に書き、自分たちの測定値に合わせてしきい値を変えます。
35〜40分まとめの質問「しきい値を300に下げたらどうなる?」という質問に、全員が1文で答えます。回路が動いたグループは、その写真をコメントとして投稿に追加します。

この流れでいちばん価値があるのは27〜35分の部分です。先生が書いたしきい値を、生徒が自分で測った数値に置き換えると、コードは決まりきった文章ではなく、調整できる判断の仕組みだとわかります。だからこそ、説明欄の「自分で試す」の部分は決して空欄にしないでください。同じセンサーの考え方を先に既成のプロジェクトで見せたいなら、無料のLDRで作る常夜灯プロジェクトが、光を使って同じしきい値の考え方を教えてくれます。自作プロジェクトの前の週にこれをやっておくと、よい準備になります。

正直に伝えたい限界:足りないものと代わりの方法

期待実際おすすめ
自分のクラスだけにプロジェクトを見せたいフォーラムの投稿は公開した時点で誰でも見られる公開したくない情報(学校名、生徒の名前)は文章や写真に入れない
自作プロジェクトにも「コードを理解」タブがほしいフォーラムの投稿には「コードを理解」の手順やブロック表示は付かない「仕組み」と「自分で試す」の見出しを詳しく書き、コードのコメントを学びになる内容にする
各生徒がプロジェクトを終えたか知りたい先生にクラスの進捗を表示する管理画面はない授業の終わりに、回路の写真を投稿へのコメントとして提出物として求める。既成のプロジェクトは、生徒自身の画面で「完了したプロジェクト」の一覧を確認する
ほかの言語でも読めるようにしてほしい投稿は自動翻訳されず、書いた言語のまま残る必要に応じてアプリの言語を切り替え、2つ目の言語で別の投稿を作成する

公開前のチェックリスト

  1. 最終版のコードがコンパイルでき、実際の回路で動作する。
  2. ピン番号がコード、説明、回路の写真で一致している。
  3. プロジェクトの写真に、動いている状態のプロジェクトが鮮明に、明るく写っている。
  4. 回路の写真で、すべてのワイヤーの両端が見える。
  5. 写真に顔、学校名、個人情報が写っていない。
  6. すべての部品が数量付きで説明内の部品リストにあり、抵抗の値も書いてある。
  7. 説明が6つの見出しのテンプレート(目的、学べること、配線、仕組み、課題、安全)に沿っている。
  8. 使っているライブラリの名前が説明に書いてある。
  9. タイトルまたは説明に書いた難易度が回路とコードの長さに合っている。迷ったときは低いほうのレベルを書いている。
  10. 投稿を使う授業の前に公開し、自分のスマートフォンで一度開いて確認した。

プロジェクトが公開されたら、既成のプロジェクトと組み合わせて授業の流れに組み込むのは簡単です。最初の数週間は無料のLEDの点滅と信号機、中盤はセンサーを使うプロジェクト、学期末に自作プロジェクト、という具合です。週ごとの骨組みを探しているなら8週間のロボットプログラミング授業計画から始めるとよく、新しいアイデアを探すならArduinoのプロジェクトアイデア30選も見てみてください。プロジェクトを共有する準備ができたら、BlueGraysアプリの「学ぶ」>「フォーラム」>「新しい投稿」から最初の一歩を踏み出せます。

よくある質問

自分のArduinoプロジェクトをBlueGraysで共有するには?

アプリで「学ぶ」>「フォーラム」>「新しい投稿」に進み、カテゴリーに「チュートリアル」を選びます。タイトルと説明を書き、最大5枚の画像(プロジェクトの写真と回路の写真)を追加し、「コードを追加」でコードを貼り付けます。必要に応じて関連する既成のプロジェクトや部品を選び、「公開」をタップします。投稿は審査なしで公開されます。

フォーラムでプロジェクトを共有するにはプレミアムが必要ですか?

いいえ、フォーラムへの投稿は無料です。先生が添付したプレミアムの既成プロジェクトを生徒がすべて見るにはプレミアムが必要です。教育者向けパッケージのコードで提供でき、生徒は「プロフィール」>「コードを利用」画面でコードを入力します。

共有したプロジェクトは自分の生徒だけが見られますか?

いいえ。フォーラムの投稿は誰でも見られ、先生の名前も表示されます。そのため、写真や文章には生徒の名前や学校名など、公開したくない情報を使わないでください。

生徒は先生のプロジェクトをどうやって見つけますか?

投稿の共有アイコンからリンクをクラスのグループに送ってください。生徒がタップすると、アプリで投稿が開きます。フォーラムでタイトルを検索する方法もあります。フォーラムの投稿はプロジェクト一覧やその絞り込みには表示されません。

投稿は他の言語に翻訳されますか?

いいえ、自動では翻訳されません。投稿はそのときアプリで使っている言語で公開されます。別の言語を使っている生徒は、フォーラムの「トピックの言語」の選択でその言語または「すべて」を選ぶと見られます。必要に応じてアプリの言語を切り替え、2つ目の言語で別の投稿を作成してください。

生徒が先生のプロジェクトを見るには何が必要ですか?

フォーラムの投稿を読むには、アプリにサインインしているだけでよく、プレミアムは必要ありません。投稿で紹介しているプレミアムのプロジェクトについては、教育者向けパッケージのコードを生徒一人ひとりに渡す方法がいちばん簡単です。生徒が「プロフィール」>「コードを利用」画面でコードを入力すると、アプリ内のすべてのプロジェクトが利用できるようになります。

全プロジェクトを見る
LDRで作る常夜灯
#12初級

LDRで作る常夜灯

暗くなると自動で点灯し、朝になると消灯する小さな常夜灯です。光センサーが部屋の明るさを測定し、Arduinoが十分に暗くなったらLEDを点灯させ、明るくなったら消灯させます。街灯が夕方になると自動で点灯する仕組みも理解できます。

4.8(102)
205
ブザーの使い方
#13初級

ブザーの使い方

呼び鈴やアラームがどうやって音を出すのか、気になったことはありませんか?Arduinoが小さなブザーを短い間隔で鳴らし、音を出す、止める、を繰り返します。電気で音が生まれる仕組みを学び、メロディーを演奏するプロジェクトへの第一歩を踏み出せます。

4.7(89)
161
HC-SR04で距離を測定(シリアルモニタ表示)
#27初級

HC-SR04で距離を測定(シリアルモニタ表示)

HC-SR04センサーは、コウモリが暗闇で道を見つけるのと同じ仕組みで動作します。人には聞こえない音を出し、その反響を捉えて前方の物体までの距離を測ります。Arduinoは0.5秒ごとに距離をセンチメートル単位でコンピューターの画面に表示し、3〜100センチメートルの測定値を示します。駐車センサーや障害物を避けるロボットなどのプロジェクトの基礎になります。

4.6(46)
71
DHT11で温度と湿度を測定
#55中級

DHT11で温度と湿度を測定

部屋の温度は何度で、空気は湿っているでしょうか、それとも乾燥しているでしょうか?DHT11センサーが温度と湿度を測定し、Arduinoが2行のLCDディスプレイに値を表示して、数秒ごとに更新します。センサーに異常があればエラーメッセージが表示されます。自分だけの小さな気象観測装置を作る第一歩です。

4.7(47)
73
信号機
#3初級

信号機

毎日道路で見かける信号機の小さな模型です。赤が2秒点灯し、黄が一瞬点灯した後、緑が2秒点灯します。その後、再び黄を経て赤に戻り、この動作を繰り返します。3個のLEDを順番に点けたり消したりしながら、タイミングの組み立て方を学びます。

4.8(131)
397
ボタンでLEDの点灯・消灯を切り替え
#10初級

ボタンでLEDの点灯・消灯を切り替え

部屋の照明スイッチのように、ボタンを1回押すと点灯し、もう1回押すと消灯します。Arduinoはボタンが押されるたびにLEDの状態を反転させます。ボタン内部の小さな接点の振動で誤動作しないよう、短い待ち時間も設けます。1つのボタンでオン・オフを切り替える、シンプルな仕組みです。

4.8(100)
167
HC-SR04で作る駐車センサー
#28中級
プレミアム

HC-SR04で作る駐車センサー

車の駐車センサーを小さく再現します。物体が近づくほど、ビープ音の間隔が短くなります。距離センサーが前方の物体までの距離を測り、20センチメートルより遠ければ緑のLEDが点灯します。近づくと赤いLEDが点滅してブザーが鳴り、さらに近づくほど警告の間隔が短くなります。車が壁にぶつからずに駐車できる仕組みを、机の上で確かめられます。

4.8(64)
85
スマート水やりステーション
#83上級
プレミアム

スマート水やりステーション

旅行中も植物が枯れないよう、自動で水やりをするシステムです。土壌水分センサーで土の湿り具合を測定し、乾燥するとArduinoが給水ポンプを数秒間動かして、青いライトを点灯させます。水分が適切なときは緑のライトが点灯します。土がひどく乾燥すると、赤いライトが点滅し、ブザーが鳴って知らせます。

5.0(42)
57