ガイド · 読了まで18分

Arduinoプロジェクトをステップごとに:プロジェクトページの進め方

Arduinoプロジェクトをステップごとに進める方法。部品リスト、回路図、コード、「コードを理解」、テストを正しい順番で読みます。無料のLDR常夜灯を例に解説します。

Arduinoプロジェクトをステップごとに進めるとき、順番はいつも同じです。まず部品リストと回路図を読んで回路を組み、次にコードをボードに書き込み、最後にコードが何をしているかを理解して回路をテストします。この順番を崩して、先にコードをコピーし、回路はあとで見る、というやり方こそ、初心者がいちばん時間を失うところです。コードは問題なく書き込めるのにLEDは暗いまま、原因が配線なのかコードなのか誰にもわからない、という状態になります。プロジェクトページの各セクションは、この4つの作業のどれかのためにあります。どのセクションをいつ開けばいいかがわかれば、初心者向けのプロジェクトはたいてい1回の作業で完成させられます。

この記事は、BlueGraysアプリをセクションごとに紹介するシリーズのうち、プロジェクトページの回です。具体的に説明するため、実際のプロジェクトを1つ最初から最後まで使います。プロジェクトNo.12のLDRで作る常夜灯です。無料で、難易度は初級、ブロック表示があり、7行の部品リストで作れます。部屋が暗くなるとLEDが自動で点灯し、明るくなると消灯します。まず表でページのセクションを確認し、次にこのプロジェクトで各セクションを読んでいき、最後に次のプロジェクトの選び方、難易度、レベルアップについて説明します。最後のチェックリストはコピーして、どのプロジェクトにも使えます。

プロジェクトページにはどんなセクションがある?

プロジェクトをタップすると、上部にプロジェクトの写真が開き、難易度、プラットフォーム、無料なら無料ラベル、プロジェクト番号(常夜灯は#12)が表示されます。その下にはプロジェクト名、星の評価と評価した人数、…人が完了の行、短い説明があります。続いて3つのタイル(作りました、評価、お気に入り)と、ページのメインボタンであるステップごとに作るが並びます。資料の見出しの下には、折りたたみ式のセクションが3つあります:プロジェクトの動画、回路図、ソースコード。いちばん下には必要な部品とトラブルシューティングがあります。注意したいのは、画面上の順番が作業の順番ではないことです。部品リストはページのいちばん下にありますが、最初に見るべき場所です。

セクション表示される内容開くタイミング無料プロジェクトでは
必要な部品部品、その数量(×1、×5)と特別な名前(330R、10k)最初に。箱を開ける前や買い物に行く前開放
回路図ボードとブレッドボードの間のすべての接続。拡大でき、「ギャラリーに保存」でスマホに保存可能部品がそろったら、組み立て中に開放
プロジェクトの動画プロジェクトが動いたときの様子(ほとんどのプロジェクト)組み立て前に1回、テスト中にもう1回開放
ソースコード書き込むコード。「コピー」と「リンクをコピー」のボタン回路を組んだあと開放
ブロックで表示同じプログラムをブロックで表示(ブロック対応のプロジェクト)コードが読みにくいとき開放
コードを理解要約、ステップごとの解説、「困ったときは」、「自分で試す」書き込んだあと、何かを変更する前開放
トラブルシューティング確認項目のリスト(常夜灯は10ステップ)回路が期待どおりに動かないときプレミアムで開放
一緒に作りましょう部品、回路、コード、テストのステップで進むガイドモードプロジェクトを1つの流れで進めたいとき開放

おすすめの順番:7ステップでプロジェクトを進める

  1. 説明を読み、動画を見る:結果がどうなるべきかを知らないまま組み立てを始めないでください。常夜灯の目標は一文で言えます。「暗いとLEDが点灯し、明るいと消灯する」。
  2. 必要な部品:すべての行の部品を、数量と特別な名前どおりに机に並べ、足りないものをメモします。
  3. 回路図:USBケーブルを抜いた状態で、図の順番どおりにワイヤーを挿し、各ワイヤーの両端を確認します。
  4. ソースコード:コードをパソコンに移し、Arduino IDEでボードとポートを選んで書き込みます。
  5. コードと回路図を照らし合わせる:コードに出てくるすべてのピン番号に、回路図上のワイヤーがあることを確認します。
  6. テスト:期待される動作を1項目ずつ試します。うまくいかなければ「コードを理解」の中の「困ったときは」を見て、次にトラブルシューティングを確認します。
  7. 理解して変更する:「コードを理解」を読み、値を1つ変えて結果を予想し、もう一度書き込みます。最後に「作りました」でプロジェクトに印を付けます。

必要な部品:数量と特別な名前の読み方

部品リストの各行には、写真、部品名、必要に応じてその下に小さく特別な名前、右側に数量が表示されます。特別な名前は、その種類の部品がどの値でなければならないかを示しています。「LDRで作る常夜灯」のリストは7行で、そのうち2行が抵抗です。1つは330R、もう1つは10kです。この2つの抵抗は入れ替えられません。330RはLEDに流れる電流を制限し、10kはLDRと分圧回路を作って、コードが読み取る数値を決めます。右側の×5のような数字も重要です。ジャンパーワイヤーの本数は、回路図のワイヤーの本数とぴったり一致します。机の上に5本のワイヤーがあれば、回路図にも5本のワイヤーがあるはずです。1本多かったり少なかったりする場合は、回路図を読み間違えているか、接続を1つ飛ばしています。

行数量特別な名前プロジェクトでの役割
Arduino Uno×1–コードを実行。D13が出力、A0がアナログ入力
ブレッドボード×1–はんだ付け不要の接続ボード
LED×1–暗くなると点灯するランプ
抵抗×1330RLEDの電流を制限(橙・橙・茶)
抵抗×110kLDRとの分圧回路(茶・黒・橙)
ジャンパーワイヤー×5–D13、GND、A0、5Vとブレッドボード上のブリッジ1本
LDR×1–光センサー。光が弱くなると抵抗が上がる

部品が足りない場合は、まず何で代用できるかを考えましょう。330Rの代わりに220 Ωから1 kΩまでのどの抵抗でもLEDは点灯します。値が大きいほどLEDは暗くなります。ただし、10kは替えないでください。コードのしきい値はこの抵抗に合わせて決められており、別の値にするとLEDが点灯する暗さが変わってしまいます。部品が何かわからなければ、その行をタップしてください。説明とこの部品を使うプロジェクト一覧のある部品ページが開きます(一部の部品ページはプレミアムです)。持っている部品をマイ工房タブの部品に保存すると、すべての部品がそろっているプロジェクトは作れるプロジェクトに、部品が1〜2個足りないプロジェクトは部品が不足しているプロジェクトに表示されます。「部品」はプレミアム機能です。これはシリーズの後の回で取り上げます。

回路図の読み方

回路図セクションを開くと、回路図が小さく表示されます。タップすると全画面で開き、指で拡大できます。下のギャラリーに保存ボタンを押すとスマホのギャラリーに保存されるので、組み立て中にギャラリーから見たり、パソコンの画面で大きく開いたりできます。BlueGraysの回路図はボードとブレッドボードを上から見た図なので、記号を読み解く必要はありませんが、ブレッドボードの内部がどうつながっているかは知っておく必要があります。ブレッドボードでは、番号の付いた各列の5つの穴(A〜EまたはF〜J)が互いにつながっていて、中央の溝が左右の半分を分けています。つまり、同じ側の同じ番号に2本の足を挿すと、その2本はつながります。回路図を読むときは、すべての足について「この足は何番にあって、同じ番号にはほかに何があるか?」と確認してください。ブレッドボードの仕組みをもっと詳しく知りたい場合は、ブレッドボードとは?をご覧ください。

「LDRで作る常夜灯」の回路図では、LEDの2本の足がH7とH8の穴に挿さっています。曲がっている長いほうの足(アノード、プラス)は7列目です。330 Ωの抵抗はI3からI7まで渡され、赤いワイヤーがJ3からボードの13番ピンへ伸びています。つまり、電流はD13から抵抗に入り、そこからLEDの長い足に流れます。LEDの短い足がある8列目からは、青いワイヤーがボードのGNDピンまで下り、短い青のブリッジがI8からI12に渡っています。10 kΩの抵抗はF12とF16の間、LDRはH16とH19の間にあります。黄色のワイヤーはJ16からA0へ、赤いワイヤーはJ19から5Vへ伸びています。まとめると、経路は2つです。5V、LDR、接続点(A0)、10 kΩ、GNDが分圧回路を作り、D13、330 Ω、LED、GNDがLEDの経路を作ります。

この回路図からは4つのルールが読み取れ、どのプロジェクトでも使えます。1つ目はワイヤーの色です。ここでは赤が5VとD13の信号、黄色がA0、青がGNDを担っています。色で電気の流れは変わりませんが、同じ配色を使えば確認が楽になります。2つ目は共通のGNDです。LEDと10 kΩの抵抗はそれぞれ別のGNDピンにつながっているのではなく、I8–I12のブリッジのおかげで1本のGNDワイヤーを共有しています。回路内のすべてのGNDは、ボードのGNDで合流していなければなりません。3つ目はLEDの向きです。長い足はプラス側、つまり抵抗から来る信号側に向け、短い足とLED本体の平らな縁はGND側に向けます。逆向きに挿したLEDは点灯しませんが、たいていは壊れません。4つ目は抵抗値です。330 Ωなら、赤色LEDには約(5 − 2) / 330 ≈ 9 mAが流れ、安全で十分な明るさになります。自分のLEDに合わせた計算はLED抵抗計算ツールで、抵抗の値は抵抗のカラーコードツールで確認できます。

回路図の読み間違い症状見つけ方
2本の足が溝の反対側に分かれているLEDやLDRがまったくつながっていないかのように動く文字を見る。片方がE行、もう片方がF行なら反対側にある
穴が1つずれているLEDが暗いまま、またはA0がランダムな値を読む回路図の番号と自分のブレッドボードの番号を比べる
LEDが逆向きボードのLランプは点灯するが、外付けのLEDは点灯しない長い足は330 Ωと同じ列にある?
330Rと10kが入れ替わっているLEDがとても暗く、常夜灯が想定した暗さで反応しないカラーコードの帯を読むか、テスターで測る
LDRと10kが入れ替わっている明るいとLEDが点灯し、暗いと消灯するLDRの空いている端は5Vに、10kの空いている端はGNDにつながっている?
GNDワイヤーまたはブリッジがない何も動かない、または片方の経路だけ動く青いワイヤーはLEDの短い足と同じ列にある?ブリッジは12まで届いている?
ボード上でワイヤーが1ピンずれている(12やA1)コードは書き込めるが、回路が反応しないボードのピン表記をたどって、ワイヤーが挿さっているソケットまで確認する
ワイヤーを挿したり動かしたりするときは、ボードのUSBケーブルを抜いておいてください。うっかり5VのワイヤーをGNDと同じ列に挿すと、ボードがUSBから受け取っている電源がショートします。回路が完成したら、USBケーブルを挿す前に、赤と青のワイヤーを端から端までもう一度たどって確認しましょう。

ソースコード:コピーして、パソコンに移して、書き込む

ソースコードセクションには2つのボタンがあります。コピーはコードをスマホのクリップボードに入れるもので、メッセージで自分宛てに送りたいときに便利です。リンクをコピーは、パソコンでコードを開くためのリンクを作ります。リンクを自分宛てに送り、パソコンのブラウザで開いて、そこからコードをコピーしてください。リンクの有効期間は短い(約1時間)ので、期限が切れたらアプリで新しいリンクを作れば大丈夫です。Arduino IDEで新しいスケッチを開き、空のsetupとloopの行を削除してコードを貼り付けます。次に、「ツール」>「ボード」でArduino Unoを、「ツール」>「ポート」でボードがつながっているポートを選び、「書き込み」を押します。初めてIDEをインストールする場合はArduino IDEのインストール方法を、書き込みがうまくいかない場合はArduinoに書き込めないときを参考にしてください。常夜灯のコードは短いものです。下は、アプリと同じピンとしきい値で、2か国語のコメントを付けたバージョンです。

C++ (Arduino IDE)
1int value;   // Işık okuması (0-1023) / Light reading (0-1023)
2
3void setup() {
4  pinMode(13, OUTPUT);   // LED çıkışı / LED output
5}
6
7void loop() {
8  value = analogRead(A0);   // Işık seviyesini oku / Read the light level
9
10  // Eşik 50: altı karanlık sayılır / Threshold 50: anything below counts as dark
11  if (value < 50) {
12    digitalWrite(13, HIGH);   // Karanlık: LED yanar / Dark: LED on
13  } else {
14    digitalWrite(13, LOW);    // Aydınlık: LED söner / Bright: LED off
15  }
16}
17

コードと回路図の照らし合わせ方

コードは書き込めるのに回路が動かない場合、問題の多くは、コード内のピンが回路図のワイヤーと一致していないことから起こります。これを見つける系統的な方法はシンプルです。コード内のピン番号とピン名に1つずつ印を付け、それぞれに対応するワイヤーを回路図で探します。コードには出てくるのに回路図にワイヤーがないピンや、回路図にはあるのにコードに一度も出てこない信号線が、間違いの場所を示しています。常夜灯のコードが使うピンは13とA0の2つだけです。5VとGNDは電源ラインなのでコードには出てきませんが、回路図には必ずあります。たとえばLEDを13番ピンから8番ピンに移すなど、自分でプロジェクトを変更するときは、この表をもう一度埋めれば、書き込む前に間違いに気づけます。

コードの行回路図では確認の質問
pinMode(13, OUTPUT);(出力に設定)赤いワイヤー:J3 → D13ワイヤーは本当にボードの12ではなく13に挿さっている?
digitalWrite(13, HIGH / LOW);(LEDの点灯・消灯)D13 → 330 Ω → LEDの長い足 → 短い足 → GNDLEDの向きとGNDワイヤーは正しい?
value = analogRead(A0);(アナログ読み取り)黄色のワイヤー:J16 → A0、LDRと10kの接続点黄色のワイヤーはLDRや10kと同じ列(16)にある?
if (value < 50)(しきい値の比較)分圧回路:5V → LDR → A0 → 10 kΩ → GNDLDRは5V側にある?逆になっているとロジックも逆になる
(コードにはない)5VとGND赤(J19 → 5V)、青(J8 → GND)、青のブリッジ(I8–I12)すべてのGNDが同じ場所で合流している?

しきい値も回路図と結びついています。analogRead(A0)は、A0にかかる0〜5 Vを0〜1023の数値に変換します。この回路ではLDRが5V側にあるため、光が強くなるとLDRの抵抗が下がり、読み取り値は上がります。読み取り値が50を下回るには、LDRの抵抗がおよそ195 kΩを超える必要があり、これはかなり暗いときにしか起こりません。LDRを手で覆ってもLEDが消えたままなら、コードが壊れているわけではありません。しきい値がその部屋には低すぎるだけです。自分の部屋の値を確かめるには、同じLDRと10kの配線を使うLDRで光の強さを測定プロジェクトを書き込んでください。値が0.5秒ごとにシリアルモニタに表示されます。明るいときと暗いときの読み取り値のちょうど中間に近い数値をしきい値に選びましょう。シリアルモニタについてはこちらの記事で詳しく説明しています。LDRそのものに興味があれば、LDR光センサーをお読みください。

ブロックで表示と「コードを理解」

ブロック表示のあるプロジェクトでは、ソースコードセクションにブロックで表示スイッチがあります。オンにすると、同じプログラムがアプリの言語のブロックで表示されます。画像をタップすると全画面で開きます。常夜灯では、ブロックとコードが1対1で対応しています。「グローバル変数(最初に宣言)」ブロックの中にvalueの宣言、「セットアップ(1回だけ実行)」の中に「ピン 13 を 出力 に設定」ブロック、そして「ずっと繰り返す」ループの中にアナログ読み取りと、value < 50を条件とする「もし」ブロックがあります。コードの行で迷ったら、ブロックをオンにして同じ場所を見るだけで十分なことがよくあります。ただし、期待は正しく持ってください。ブロックは読んで理解するためのものです。アプリ内でブロックを編集することはできず、ブロックがボードに書き込まれることもありません。ボードに書き込まれるのは、常にソースコードのコードです。「もし」ブロックについて詳しく知りたい場合は、ifブロックとボタンでもこのプロジェクトを取り上げています。

「LDRで作る常夜灯」プロジェクトの英語のブロック:セットアップでピン13を出力に設定し、ループの中でA0をアナログ読み取りして、value < 50を条件とするifブロック
「ブロックで表示」をオンにすると、同じプログラムがブロックで表示されます。どのブロックもソースコードの1行に対応しています。

ソースコードの隣にあるコードを理解タブは4つの部分からなります。このコードの働きの要約、ステップごとの解説(常夜灯では5ステップで、それぞれに該当するコードの抜粋と説明があります)、よくある症状と対処法をまとめた困ったときは、そして最後に自分で試すの課題です。このプロジェクトの課題は、しきい値を50から300に上げ、LDRをゆっくり手で覆って、LEDがいつ点灯するかを確かめることです。行き詰まったらヒントと解答を表示が助けてくれます。「ブロックで表示」をオンにしているときは、このタブの名前がブロック解説になります。「コードを理解」は無料プロジェクトで開放されています。このセクションはシリーズの次の記事で詳しく取り上げます。今は、「コードを理解」は書き込んだあと、何かを変更する前に読む、というルールを覚えておいてください。

テスト、プロジェクトの動画、トラブルシューティング、一緒に作りましょう

テストはやみくもにではなく、期待される動作に照らして行います。常夜灯なら確認は3つで十分です。部屋が明るいときはLEDが消えていること、指でLDRを完全に覆うとLEDが点灯すること、指を離すと消灯することです。LEDがまったく点灯しない場合は、ボードのLランプを見てください。Arduino Unoでは13番ピンにつながっています。Lは点灯するのに外付けのLEDが点灯しなければ、コードは動いていて、問題はLEDの配線にあります。Lも消えたままなら、しきい値を下回るほど暗くなっていないか、問題がA0側にあります。しきい値を一時的に300にして、もう一度試してください。結果を比べるにはプロジェクトの動画セクションを開き、プロジェクトが動いたときにどう見えるべきかを確認しましょう。組み立てる前に一度動画を見ておくと、何をテストするのかも最初からはっきりします。

トラブルシューティングセクションは、「プロジェクトが動作しない場合は、以下のステップを確認してください。」という一文で始まるチェックリストです。常夜灯には10のステップがあります。電源、コードの書き込み、ピン番号、ブレッドボードの接続、ジャンパーワイヤー、GND、LEDが点灯しない場合、抵抗値、LEDの足の向き、そしてLEDが焼損していないかです。このセクションは無料プロジェクトでもプレミアムで開放されるもので、無料プランではリストのステップ数を確認できます。無料プロジェクトでは、「コードを理解」の中の「困ったときは」が応急処置になります。常夜灯では、「明るいとLEDが点灯し、暗いと消灯する」などの5つの症状とその対処法が挙げられています。テスターがあるとワイヤーや抵抗の確認がずっと楽になります。使ったことがなければ、テスターの使い方から始めてください。

セクションを行き来するより1つの流れで進めたい場合は、ページ上部のステップごとに作るボタンをタップしてください。ガイドモードではプロジェクトが4つのステップに分かれます:1.部品を準備(持っている部品にチェックを入れます)、2.回路を組む、3.コードを書き込む、4.動作させてテスト。このモードを開いている間は画面が点灯したままになり、途中でやめても、ボタンに「続き・2/4」のように中断した場所が表示されます。この記事の順番とガイドモードの順番は同じです。違いは、ガイドでは今のステップに必要な情報だけに集中できることです。このモードは別の記事で最初から最後まで紹介します。

完成したら:作りました、評価、そして次のプロジェクト

プロジェクトが動いたら、ページ上部の作りましたタイルをタップします。プロジェクトが完了として記録され、タイルが作成済みに変わり、マイ工房の完了したプロジェクト一覧に追加されます。プレミアムを使っていて部品をマイ工房で管理している場合、プロジェクトの部品がマイ工房にないと、先に追加するよう求められることがあります。評価では、プロジェクトに1〜5の星を付けます。評価はページの平均値と「評価が高い順」の並べ替えに反映されます。お気に入りはプロジェクトをお気に入りに追加する機能で、もう一度作りたいプロジェクトや誰かに見せたいプロジェクトを集めておけます。完成したらすぐにメモを取ることもおすすめします。自分の部屋ではどのしきい値がうまくいったか、どのワイヤーを挿し間違えたか。こうしたメモがあれば、次のプロジェクトで同じ間違いをせずに済みます。

次のプロジェクトを選ぶには、見つける › プロジェクトで絞り込みと並べ替えのボタンを組み合わせて使います。絞り込みには難易度、プラットフォーム、料金区分、部品、ブロック対応のプロジェクト、IoTプロジェクトがあり、「マイ工房で絞り込み」の下には作れるものだけがあります。並べ替えは、新しい順、古い順、名前、完了数が多い順、評価が高い順から選べます。初心者におすすめの組み合わせは、プラットフォームをArduino、料金区分を無料、難易度を初級にして、古い順で並べ替えることです。最初のほうのプロジェクトはLED、ボタン、LDR、ブザーといった基礎を順番に扱っているので、リストに沿ってステップごとに進めます。手持ちの部品で続けたい場合は、部品の絞り込みでLDRやLEDを選び、同じ部品で作れるプロジェクトを一覧表示しましょう。IoTプロジェクトの絞り込みでは、BlueGrays IoT向けに用意された8件の無料テンプレートプロジェクトが表示されます。マイ工房 › マイデバイス › 新しいデバイスを追加でESP32またはRaspberry Pi Pico Wを追加すると、Ohmiがデバイスキー入りのコードを用意するので、BlueGraysIoTライブラリを使ってArduino IDEから1回書き込みます。そのあとは、スイッチ、リアルタイムの値、グラフがスマホに表示されます(2.4 GHzのWi-Fiが必要です)。すべての手順はESP32をスマホから操作するガイドで説明しています。

難易度は何を意味する?いつレベルを上げるべき?

すべてのプロジェクトには、初級、中級、上級のいずれかのラベルが付いています。ラベルはコードの長さだけを表しているわけではありません。回路の部品数、ライブラリが必要かどうか、うまくいかないときに問題を見つけるのがどれだけ難しいかも反映しています。下の表は、各レベルの典型的な特徴、各レベルのプロジェクト例、そして次のレベルに進む準備ができたサインをまとめたものです。

レベル典型的な回路典型的なコードプロジェクト例次のレベルに進めるサイン
初級主要な部品が1〜3個、ライブラリなし30行まで、条件やループが1つLDRで作る常夜灯、信号機(無料)回路図どおりに間違いなく回路を組め、コードが何をするかを予想できる
中級センサーやモジュールが1つと出力がいくつか、ときにはライブラリも30〜100行、配列、複数の条件速度調整できる流れるLED、DHT11で温度と湿度を測定(無料)コードの値を変えたとき、結果を事前に言える
上級複数のモジュール、ディスプレイ、モーター、または無線通信100行以上、状態の管理、タイミングスマート水やりステーション、障害物回避ロボット(プレミアム)動かない回路の問題を自分で見つけられる

レベルを上げるときに役立つルールがあります。1つのレベルで「自分で試す」の課題も含めて3つのプロジェクトを終えたら、次のレベルに進むことです。常夜灯のあとの自然なルートは、たとえば次のようになります。まず同じ部品で、LDRで光の強さを測定でセンサーの値を数値として見ます。次に速度調整できる流れるLEDに進みます。LED 6個、330Rの抵抗6本(6 × 330R)、ポテンショメーター1個、ジャンパーワイヤー16本の回路で、部品リストが長くなるほど、回路図を読む習慣が本当に試されます。その次のDHT11で温度と湿度を測定では、初めてライブラリとI2C LCDディスプレイを扱います。上級のプロジェクトはプレミアムです。そこまで進むと、長いコードではトラブルシューティングのリストや「コードを理解」のステップがいっそう役立ちます。1つのプロジェクトで2回行き詰まったら、1つ下のレベルに戻って似たプロジェクトをやるのは後退ではありません。多くの場合、それがいちばん速く前に進む方法です。

コピーして使えるプロジェクトのチェックリスト

  • 説明を読み、プロジェクトの動画を見る。最後に何が起こるべきかを一文で書き出す。
  • 「必要な部品」のすべての行を、数量と特別な名前どおりに机に並べる(例:抵抗 ×1 330R、抵抗 ×1 10k)。
  • 足りない部品をメモする。代わりの値を考えるか、同じ部品で作れる別のプロジェクトを選ぶ。
  • 抵抗値をカラーコードの帯かテスターで確認する。
  • 回路図を「ギャラリーに保存」でスマホに保存し、必要に応じて拡大する。
  • USBを抜いた状態で、回路図の順番どおりにワイヤーを挿す。すべての足について、番号と溝のどちら側にあるかを確認する。
  • LEDの長い足がプラス側、短い足がGND側を向いていること、すべてのGNDがつながっていることを確認する。
  • 「コピー」か「リンクをコピー」でコードをパソコンに移し、Arduino IDEでボードとポートを選んで書き込む。
  • コード内のすべてのピン番号について、回路図上のワイヤーを見つける。一致しないものは直す。
  • 期待される動作をステップごとにテストする。うまくいかなければ、まず「困ったときは」、次にトラブルシューティングを確認する。
  • 「コードを理解」を読み、「自分で試す」の課題をやる。値を1つ変え、先に結果を予想する。
  • 「作りました」でプロジェクトに印を付け、「評価」で評価し、絞り込みで次のプロジェクトを選ぶ。

この順番をいくつかのプロジェクトで使えば、もうリストは必要なくなります。部品リスト、回路図、コード、理解、テストが自然に身につくからです。常夜灯は、この習慣を身につけるのにぴったりです。1つの小さな回路で、分圧回路、しきい値、LEDの向き、共通のGNDがまとめて学べるからです。試してみたい場合は、BlueGraysアプリで「LDRで作る常夜灯」を開き、この記事の順番どおりに進めてください。60件(各プラットフォーム20件)のすべての無料プロジェクトで、部品リスト、回路図、コード、「コードを理解」が開放されています。

よくある質問

Arduinoのプロジェクトはどうやってステップごとに進めればいいですか?

まずプロジェクトが何をするものかを読んで部品リストの部品を用意し、次にUSBケーブルを抜いた状態で回路図どおりに回路を組みます。続いてコードをArduino IDEに貼り付け、ボードとポートを選んで書き込みます。最後に期待される動作をテストし、コードが何をしているかをステップごとに確認します。

Arduinoの回路図はどう読めばいいですか?

それぞれの足がブレッドボードのどの番号の列に挿さっているかを確認します。同じ番号の5つの穴はつながっていて、中央の溝が左右の半分を分けています。次に、各ワイヤーを両端からたどり、ボードのどのピンにつながっているかを確認します。コード内のピン番号と回路図のワイヤーを照らし合わせるのが、間違いを見つけるいちばんの近道です。

既製のArduinoコードはどうやって書き込みますか?

コードをコピーし、Arduino IDEの新しいスケッチに貼り付け、「ツール」メニューでボード(たとえばArduino Uno)とポートを選んで「書き込み」をクリックします。BlueGraysでは、「リンクをコピー」ボタンでパソコンのブラウザからコードを開ける短時間有効のリンクを作れます。書き込みがうまくいかない場合は、まずUSBケーブルと、ボードとポートの選択を確認してください。

LDRの常夜灯が点灯しないのはなぜですか?

よくある原因は2つあります。しきい値がその部屋には低すぎるか、LDRと10 kΩの抵抗が入れ替わっているかです。「LDRで作る常夜灯」プロジェクトでは、読み取り値が50を下回るとLEDが点灯しますが、これはかなり暗いときにしか起こりません。しきい値を200〜300に上げてもう一度試してください。LEDの動きが逆になる場合は、LDRが5Vに、10kがGNDにつながっているかを確認してください。

初心者はどのArduinoプロジェクトから始めればいいですか?

LEDの点滅、信号機、ボタンで点灯するLED、LDRの常夜灯のように、一度に1つずつ新しい考え方を教えてくれるプロジェクトから始めるのがおすすめです。主要な部品は1〜3個でコードも短いので、間違いを見つけやすくなります。BlueGraysでは、これらのプロジェクトは無料で、難易度は初級です。

BlueGraysの無料プロジェクトでは何が開放されていますか?

60件の無料プロジェクト(各プラットフォーム20件)では、部品リスト、回路図、ソースコード、「コードを理解」、そしてある場合はブロックが開放されています。トラブルシューティングのリストとマイ工房 › 部品はプレミアムで開放されます。「作りました」「評価」「お気に入り」のタイルは無料プロジェクトでも使えます。BlueGrays IoTでは最初のデバイスが無料です。無料プランではデバイス1台、1つの値のグラフ履歴、24時間分の履歴が使え、プレミアムではデバイス10台、20の値のグラフ履歴、30日分の履歴が使えます。

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

LDRで作る常夜灯

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

4.8(102)
205
LDRで光の強さを測定
#11初級

LDRで光の強さを測定

部屋の明るさを数値で見てみませんか?光に反応する小さな部品、LDRで周囲の光を測定し、Arduinoが0.5秒ごとにその値をコンピューターの画面に表示します。手で覆うと数値が変わる様子を確認できます。自動で点灯する常夜灯などのプロジェクトへの第一歩です。

4.6(81)
139
LEDの点滅
#1初級

LEDの点滅

電子工作の第一歩は、1個のLEDを点けたり消したりすることです。Arduinoで短い間隔で点灯と消灯を繰り返すと、LEDが素早く点滅します。ボードが光を制御する仕組みを最もシンプルな形で確かめ、これから取り組むプロジェクトの基礎を身につけます。

4.6(188)
1127
信号機
#3初級

信号機

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

4.8(131)
397
ボタンでLEDを点灯(押している間のみ)
#9初級

ボタンでLEDを点灯(押している間のみ)

呼び鈴のように、押している間は点灯し、離すと消灯します。Arduinoはボタンの状態を常に読み取り、押されている間はLEDを点灯させ、指を離した瞬間に消灯させます。このシンプルな回路で、ボードが外部からの操作を検知する仕組みを学べます。

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

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

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

4.8(100)
167
速度調整できる流れるLED
#7中級

速度調整できる流れるLED

6個のLEDが順番に点滅し、光が端から端へ走るように見えます。ポテンショメーターのつまみを回すと、その速さがすぐに変わります。一方に回すと光が素早く進み、反対に回すと各LEDが1秒近く点灯します。つまみで動きの速さを調整する仕組みを目で確かめられます。

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

DHT11で温度と湿度を測定

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

4.7(47)
73