Arduinoの質問の仕方:フォーラムで早く答えをもらう7つのルール
Arduinoの質問をフォーラムでする方法を解説します。ボード、コード、配線、エラーメッセージ、写真についての7つのルール、コピーして使えるテンプレート、悪い例とよい例をまとめました。
フォーラムで早く正確な答えをもらえるArduinoの質問は、どう書けばよいでしょうか?短く答えると、机の前にいない人にも問題が見えるように説明することです。どのボードを使っているか、コード全体、どのピンがどこにつながっているか、何を期待していたかと実際に何が起きているか、エラーメッセージの正確な文面、すでに試したことを書き、回路のはっきりした写真を添えます。これがすべてそろった質問は、最初の返信で解決することがよくあります。そろっていない質問は、「どのボード?」「コードを載せてもらえますか?」から始まる長いやり取りになります。
答える人は、回路を見ることも、ボードを手に取ることも、シリアルモニタを読むこともできません。手がかりは、書かれた文章と添付された写真だけです。「センサーが動かない」の裏には、ピンの間違い、逆に挿したワイヤー、足りないライブラリ、間違ったボーレート、弱い電源、コードのたった1文字の打ち間違いなどが隠れている可能性があります。原因を絞り込むには情報が必要です。この記事では、まずBlueGraysアプリのフォーラムを紹介し、続いて悪い例とよい例付きの7つのルール、コピーして埋めるだけの質問テンプレート、同じ質問の悪い版とよい版、答えが来たあとにすること、そしてコミュニティのルールを説明します。
BlueGraysフォーラムとは?どこにある?
BlueGraysアプリでは、フォーラムは下部にある学ぶタブのセクションの1つです。Arduino、ESP32、Raspberry Pi Picoに取り組む人たちが質問し、アイデアを共有し、助け合う場所です。フォーラムは無料で、投稿、コメント、閲覧にプレミアムは必要ありません。どの投稿も5つのカテゴリーのどれかに入り、正しいカテゴリーを選ぶと質問が適切な人の目に届きます。プロジェクトで行き詰まったときに選ぶのは、ほとんどの場合質問です。ほかの4つは次の表のとおりです。
| カテゴリー | 選ぶとき | タイトルの例 |
|---|---|---|
| 質問 | プロジェクトが動かない、エラーの意味がわからない、何かで行き詰まった | Uno + DHT11:シリアルモニタにnanと表示される |
| アイデア | プロジェクトのアイデアを共有して意見がほしい | 植物の水やりプロジェクトに、水タンクが空のときの警告を追加したい |
| ガイド | 学んだことを順を追って説明したい | WindowsにCH340ドライバをインストールする手順 |
| 議論 | 正解が1つではないテーマについて話したい | 最初のボードはUnoとNanoのどちら? |
| 不具合報告 | アプリやプロジェクトの内容に誤りを見つけた | プロジェクトの部品リストで抵抗の値が抜けている |
投稿は言語ごとに分かれています。新しい投稿は、アプリで使っている言語で公開されます。新規投稿の画面の下にあるメモでも、このことが案内されます。フォーラムの一覧も、最初はアプリの言語の投稿が表示されます。検索バーの横にある投稿の言語で、トルコ語、英語、ドイツ語、スペイン語、フランス語、イタリア語、日本語、ポルトガル語、インドネシア語、ロシア語の投稿に切り替えたり、すべてを選んで10の言語の投稿をまとめて見たりできます。同じ問題をほかの言語で質問し、解決した人がいるかもしれません。エラーメッセージとコードはどの言語でも同じなので、そうした投稿も役に立ちます。投稿を検索にエラーメッセージの一部や部品名(「HC-SR04」「avrdude」など)を入力すると、過去の投稿が見つかります。一覧のいちばん上にある固定済みの投稿は注目の投稿なので、初めてフォーラムを開いたときに目を通しておく価値があります。
新規投稿の作成と答えの確認
- 学ぶ › フォーラムで新規投稿をタップします。
- カテゴリーで質問を選びます。新規投稿では最初から選択されています。
- タイトルの欄に、ボード、部品、症状を1行で書きます(後述のルール1)。
- 説明の欄に、この記事のテンプレートを埋めて書きます。配線、期待した動作と実際の動作、エラーの文面、試したことです。
- 画像から写真を5枚まで追加します。回路を真上から撮ったものと、接続部分のアップです。
- コードを追加をタップし、開いた欄にコード全体を貼り付けます。
- シェアで投稿を公開します。あとから情報を追加する必要があれば、投稿ページの編集アイコン(投稿を編集)から更新できます。
投稿への返信は、その下のコメントセクションに一覧表示されます。誰かが投稿にコメントしたり、自分のコメントに返信したりするとスマホに通知が届くので、フォーラムを何度も確認する必要はありません。コメントに直接答えるには、その下の返信を使います。コメントにも写真を4枚までとコードを追加できるので、「今度はこうなりました」と書くときに、新しい出力や修正したコードを見せられます。問題を解決してくれたコメントがあれば、その下の承認をタップします。そのコメントに承認された答えのラベルが付き、投稿は自動的に解決済みになります。「承認」が表示されるのは投稿を始めた人、つまり質問者本人だけです。1つのコメントではなく自分の試行錯誤で解決した場合は、投稿ページの解決済みにするボタンを使います。
早く答えをもらうための7つのルール
次のルールはどれも、答える人が最初のメッセージで聞くはずの質問を1つずつなくします。すべて守ると質問は少し長くなりますが、読んだ人は1回読むだけで問題を絞り込めます。各ルールの下に悪い例とよい例を載せています。その多くは無料のHC-SR04で距離を測定(シリアルモニタ表示)プロジェクトをもとにしています。このプロジェクトでは、HC-SR04センサーをArduino Unoにつなぎ(Trig D7、Echo D6)、測った距離をシリアルモニタに表示します。
1.タイトルにボード、部品、症状を入れる。フォーラムの一覧では、まずタイトルが目に入り、それを見て自分が手伝えるかどうかを判断します。「助けて!!!」「至急」「Arduinoの問題」のようなタイトルでは、何が問題なのかわかりません。ESP32を使っている人はUnoの質問と区別できず、サーボに詳しい人はセンサーの質問に気づけません。よいタイトルは3つの要素でできています。ボード、関係する部品や作業、そして観察した症状です。タイトルは検索にも重要です。あとで同じ問題にぶつかった人が投稿を検索に「HC-SR04」や「avrdude」と入力したとき、その投稿が見つかります。
| 悪いタイトル | よいタイトル |
|---|---|
| 助けて、動きません!!! | Uno + HC-SR04:シリアルモニタに1行も表示されない |
| Arduinoの問題 | Nano(CH340の互換品):avrdude: stk500_recv(): programmer is not responding(書込装置が応答しない) |
| ESP32が壊れた? | ESP32 DevKit:WiFi.status()が常に6を返し、ネットワークにつながらない |
2.ボードとバージョンを書く。「Arduino」は1種類のボードではありません。Uno R3とUno R4、純正のNanoとCH340を使った互換品のNano、ESP32 DevKitとESP32-C3では、ピンもドライバも違い、コードの命令が異なることもあります。ESP32では、ボードパッケージのメジャーバージョンも重要です。2.xで動く命令の中には、3.xではコンパイルできないものがあります。Arduino IDEのバージョンは「Arduino IDEについて」のウィンドウで、ESP32のボードパッケージのバージョンはボードマネージャで、PicoのMicroPythonのバージョンはThonnyのシェルが接続時に表示する最初の行で確認できます。OSも書き添えましょう。特に書き込みやポートの問題は、Windows、macOS、Linuxで解決方法が異なります。
| 悪い例 | よい例 |
|---|---|
| Arduinoを使っています | Arduino Nano、CH340の互換品、Arduino IDE 2.3、Windows 11 |
| ESP32でやっています | ESP32 DevKit V1(30ピン)、esp32ボードパッケージ3.x、macOS |
| Picoで動きません | Raspberry Pi Pico W、ThonnyのシェルのMicroPythonバージョン行を添付 |
3.「コードを追加」でコード全体を共有する。バグはたいてい、疑っている行ではなく別の場所にあります。setup()で書き忘れたpinMode、間違って定義したピンの変数、間違ったボーレートなどです。ですから、loop()だけでなく、先頭の#includeの行から最後の閉じかっこまで、すべてを載せてください。コードはスクリーンショットや画面を撮った写真ではなく、テキストとして貼り付けます。テキストのコードなら、答える人が自分でコンパイルして試せます。BlueGraysのプロジェクトのコードを使っている場合は、プロジェクト名を書き、何を変更したかを具体的に書きましょう。コードにWi-Fiのパスワード、ボットのトークン、APIキーが含まれている場合は、共有する前に「xxxxxxxx」に置き換えてください。
| 悪い例 | よい例 |
|---|---|
| 画面から斜めに撮ったコードの写真 | コードを追加の欄に貼り付けた、テキストのコード全体 |
| 「loopの部分はこれです:」と6行だけ | #includeの行から最後の閉じかっこまでのスケッチ全体 |
| 「BlueGraysのコードを使いました」(でもピンを変更している) | 「HC-SR04のプロジェクトのコードで、trigPinを7から9に移しただけです」 |
| const char* password = "home1234wifi";(パスワードがそのまま) | const char* password = "xxxxxxxx";(伏せ字に置き換え) |
4.回路のはっきりした写真を添える。Arduinoの問題の多くは、コードではなく配線にあります。1列ずれたジャンパーワイヤー、逆に挿したLED、ブレッドボード中央の溝の反対側に挿した足などです。これがわかるのは写真だけです。昼間の光の下か明るい机の上で、真上から撮影しましょう。ボードのピンの表示と、ワイヤーがどの穴に入っているかが読み取れる必要があります。1つの投稿に画像は5枚まで追加できます。全体の様子、ボードのピンのアップ、センサーやモジュールの接続部分のアップがあれば、たいていの質問には十分です。ワイヤーの色も書いておきましょう(「TrigからD7へのオレンジのワイヤー」)。写真では2本のワイヤーが重なって見えることがあるからです。
| 悪い例 | よい例 |
|---|---|
| 暗く、斜めから撮影し、フラッシュで白飛びしている | 昼間の光の下で真上から撮影し、ピンの表示が読める |
| 図だけ:「回路図のとおりに組みました」 | 回路図と並べて、実際に組んだ回路の写真 |
| 写真1枚だけで、ワイヤーの端が写っていない | 写真3枚:全体の様子、ボードのピン、センサーの接続 |
5.シリアルモニタの出力とエラーメッセージをテキストで貼り付ける。「エラーが出ます」だけでは足りません。必要なのは、Arduino IDEの下部のパネルに表示されるメッセージそのものです。コンパイルエラーでは、いちばん下の「exit status 1」の行だけでは何もわかりません。本当の情報は最初のエラー行にあり、どの行のどの名前に関係するかがわかります(これらのメッセージはArduinoのコンパイルエラーの記事で1つずつ説明しています)。書き込みエラーならavrdudeやポートの行を、スケッチの実行中の問題なら、シリアルモニタに何が表示されているかとボーレートの設定を添えましょう。シリアルモニタに何も表示されないなら、それも情報です。さらによいのは、生の値を表示するようにコードを少し変えて、その出力を共有することです。次のコードはHC-SR04のプロジェクトと同じ測定をしますが、距離のフィルターはなく、0.5秒ごとに生の時間と距離を表示します(sureはトルコ語で「時間」、mesafeは「距離」の意味です)。「sure(us): 0」と表示される場合は、センサーからエコーが返ってきていないので、原因は配線か電源である可能性が高くなります。
1int echoPin = 6; // Echo girişi / Echo input
2int trigPin = 7; // Trig çıkışı / Trigger output
3
4void setup() {
5 pinMode(trigPin, OUTPUT);
6 pinMode(echoPin, INPUT);
7 Serial.begin(9600); // Seri monitör de 9600 baud olmalı / Serial Monitor must be 9600 baud too
8 Serial.println("Basladi"); // Kart açıldı mı? / Did the board start?
9}
10
11void loop() {
12 // 10 us tetik darbesi / 10 us trigger pulse
13 digitalWrite(trigPin, LOW);
14 delayMicroseconds(2);
15 digitalWrite(trigPin, HIGH);
16 delayMicroseconds(10);
17 digitalWrite(trigPin, LOW);
18
19 // Yankı süresi, 30 ms zaman aşımı (yankı yoksa 0) / Echo time, 30 ms timeout (0 if no echo)
20 unsigned long duration = pulseIn(echoPin, HIGH, 30000UL);
21 int distance = duration * 0.034 / 2;
22
23 // Filtre yok: ham değerleri her seferinde yaz / No filter: print raw values every time
24 Serial.print("sure(us): ");
25 Serial.print(duration);
26 Serial.print(" mesafe(cm): ");
27 Serial.println(distance);
28
29 delay(500); // 0,5 s bekle / Wait 0.5 s
30}| 悪い例 | よい例 |
|---|---|
| 「エラーが出ます」 | 「'trigPin' was not declared in this scope」(コンパイル時、12行目) |
| 「exit status 1」 | exit status 1より前にある最初のエラー行の全文 |
| 「シリアルモニタに変な文字が出ます」 | 「シリアルモニタは115200ボーで、文字化けしています。コードにはSerial.begin(9600)があります」 |
| 「距離がおかしいです」 | 「シリアルモニタにsure(us): 0 mesafe(cm): 0がずっと表示されます」 |
6.試したことと結果を書く。試したことを書くと2つの効果があります。答える人が同じ提案を繰り返さずに済み、除外できた可能性によって問題が絞り込まれます。「全部試しました」では何も伝わりません。何をして何が起きたかを1つずつ書きましょう。短いリストで十分です。別のUSBケーブル、別のポート、別のボードでのセンサーの確認、ワイヤーの交換、プロジェクトの元のコードに戻す、などです。テスターがあれば、測った電圧も書き添えましょう。センサーのVCCとGNDのピンの間が5 Vではなく3 Vだとわかれば、答える人には多くのことが伝わります。
| 悪い例 | よい例 |
|---|---|
| 「全部試したけど、だめでした」 | 「TrigとEchoのワイヤーを新しいものに替えましたが、結果は同じでした」 |
| 「センサーが壊れていると思います」 | 「友達のUnoでセンサーを試したら、そちらでは動きました」 |
| 「配線は合っています」 | 「テスターで、センサーのVCCとGNDのピンの間に4.9 Vを測定しました」 |
7.1つの投稿では1つだけ質問する。1つの投稿に「センサーが動かない、ディスプレイも点かない、それとモーターにはどのドライバを買えばいい?」と3つの質問を書くと、答えが入り混じります。ある人はセンサーについて、別の人はモーターについて答え、どのコメントが何を解決したのかわからなくなります。「承認」で印を付けられる答えは1つだけなので、質問ごとに投稿を分けたほうが整理しやすくもなります。説明の最後は、はっきりした1つの質問で締めくくりましょう。そうすれば、答える人は何を聞かれているのかが正確にわかります。
| 悪い例 | よい例 |
|---|---|
| 「センサーとディスプレイとモーターに問題があって、プロジェクトのアイデアもほしいです」 | 3つの別々の投稿:センサー(質問)、ディスプレイ(質問)、プロジェクトのアイデア(アイデア) |
| 「どうすればいいですか?」 | 「エコーが返ってこないのは、配線が原因ですか、それとも電源ですか?」 |
| 「コードを書き直してもらえますか?」 | 「このコードで、ボタンを押すとLEDが一度点いたまま消えないのはなぜですか?」 |
コピーして使えるArduinoの質問テンプレート
次のテンプレートを説明の欄にコピーし、角かっこの中を埋めてください。わからない項目は消さずに、「わかりません」と書くか、どこで調べられるかを質問しましょう。項目を消すと、答える人がそれをもう一度聞くことになるだけです。最初の項目はタイトルの欄用、最後の項目は説明の最後の行です。埋めるのには数分かかりますが、その間に問題の半分を自分で見つける人もたくさんいます。接続を1つずつ書き出しているうちに、逆に挿したワイヤーやピンの間違いに気づくことがよくあるからです。
- タイトル:[ボード]+[部品または作業]:[症状]。例:Uno + HC-SR04:シリアルモニタに1行も表示されない
- ボードと環境:[ボードの型番、純正品か互換品か]、[Arduino IDEのバージョン/ボードパッケージのバージョン/MicroPythonのバージョン]、[OS]
- プロジェクト:[BlueGraysのプロジェクト名、または自作のプロジェクト]、[コードと回路に加えた変更]
- 配線:[部品のピン → ボードのピン、ワイヤーの色も]、[電源:USB、電池、ACアダプター]
- 期待した動作:[何が起きると思っていたか、できれば数値で]
- 実際の動作:[何が起きるか、いつ起きるか、毎回起きるか]
- エラーメッセージまたはシリアルモニタの出力:[テキストで]、[シリアルモニタのボーレート]
- 試したこと:[試したこと → 結果、1行に1つずつ]
- 添付:[「コードを追加」でコード全体]、[写真1〜5枚:全体の様子、ボードのピン、モジュールの接続]
- 質問:[はっきりした質問を1つ]
同じ問題、2つの質問:悪い例とよい例
HC-SR04で距離を測定(シリアルモニタ表示)プロジェクトを組んだとしましょう。コードは、センサーが測った距離を0.5秒ごとにシリアルモニタに表示するはずなのに、何も表示されません。最初に思いつく質問は、たいてい次のようなものです。タイトル:「センサーが動きません助けて!!!」。説明:「距離センサーのプロジェクトを作りましたが、動きません。コードは確認したので合っています。どうすればいいですか?至急です」。添付は、薄暗い中で横から撮った写真1枚です。この質問への最初の返信は、おそらくまた質問になるでしょう。どのボード?どのピン?シリアルモニタのボーレートは?何が表示されている?1往復ごとに数時間かかることもあり、本当の問題について話し始める前に1日が過ぎてしまうこともあります。
同じ問題を、よい書き方にするとこうなります。タイトル:「Uno + HC-SR04:シリアルモニタに1行も表示されない(Trig D7、Echo D6)」。説明:「ボード:Arduino Uno R3、Arduino IDE 2.3、Windows 11。プロジェクト:BlueGraysの『HC-SR04で距離を測定(シリアルモニタ表示)』、コードは変更せずに書き込みました。配線:VCC → 5V(赤)、GND → GND(黒)、Trig → D7(オレンジ)、Echo → D6(黄色)。期待した動作:0.5秒ごとにセンチメートル単位の距離が1行ずつ表示される。実際の動作:シリアルモニタは9600ボーで、1行も表示されない。試したこと:生の値を表示するテスト用スケッチを書き込むと、ずっとsure(us): 0と表示される。センサーの前を手で覆ったり外したりしても変わらない。USBケーブルを替えても同じ。質問:時間が常に0になるのは、配線ミスとセンサーの故障のどちらを意味しますか?」。添付は、コードを追加で入れたテスト用スケッチと、真上から撮った写真3枚です。
2つ目の質問を読んだ人は、推測する必要がありません。時間が0なら、センサーのEchoピンから信号がまったく来ていません。たいていは、TrigとEchoが逆になっているか、VCCが5Vではなく3.3Vにつながっているか、ブレッドボードでワイヤーが1列ずれているかのどれかです。真上から撮った写真で、オレンジのワイヤーが実際にはD6に、黄色のワイヤーがD7に入っているのが見えれば、答えはメッセージ1通で済みます。「TrigとEchoが逆です。2本のワイヤーを入れ替えてください」。なぜシリアルモニタが完全に空なのかも説明がつきます。このプロジェクトのコードは3〜100 cmの測定値だけを表示するので、0 cmは表示されないのです。この細かい点に気づけるのは、コードを見られる人だけです。
答えが来たらすること
- 通知で届いたコメントを読み、提案を順番に1つずつ試します。3つを同時に変えると、どれが効いたのかわからなくなります。
- 結果は、提案してくれた人のコメントに返信で書きます。何をしたか、何が変わったか、シリアルモニタの新しい出力はどうか。必要なら、返信に写真や修正したコードを添えます。
- 問題を解決したコメントが見つかったら、承認をタップします。そのコメントは承認された答えになり、投稿に解決済みのラベルが付きます。同じ問題を探している人は、一覧ですぐに解決策を見つけられます。
- 自分で解決策を見つけた場合や、いくつかのコメントを組み合わせて解決した場合は、何をしたかを短いコメントで書き、解決済みにするを使います。「解決しました」とだけ書いて去ると、同じ問題にぶつかる次の人が答えのないまま残されます。
- 投稿は削除しないでください。解決済みの投稿は、あとで投稿を検索を使う人にとって、そのまま使える答えになります。お礼を言い、役に立ったコメントに「いいね」をすれば、答えてくれた人たちに、その手間が報われたことも伝わります。
質問する前に確認できる場所
- プロジェクトのトラブルシューティング:BlueGraysのプロジェクトページの多くにはトラブルシューティングのセクションがあり、そのプロジェクトでよくある問題と確認すべきことを順に説明しています。このセクションはプレミアムで開きます。プロジェクトページのほかのセクションはプロジェクトページの使い方ガイドで紹介しています。
- 「コードを理解」の中の「困ったときは」:どのプロジェクトの「コードを理解」タブにも、ステップごとの解説のあとに困ったときはのセクションがあり、そのコードでよくつまずく点を説明しています(プレミアムのプロジェクトではプレミアムで開きます)。詳しくは「コードを理解」のガイドをご覧ください。
- フォーラムの検索:投稿を検索にエラーメッセージの特徴的な部分や部品名を入力し、投稿の言語をすべてにして、解決済みの投稿を見てみましょう。
- コードがボードに書き込めない場合:ポート、ドライバ、avrdudeのエラーについてはArduinoに書き込めないときを参照してください。
- コンパイルエラーが出る場合:「was not declared」や「expected ';'」のようなメッセージについてはArduinoのコンパイルエラーを参照してください。
- シリアルモニタに何も表示されない場合:ボーレートと改行コードの設定についてはシリアルモニタの使い方を参照してください。
- ボードがリセットを繰り返す場合や、ESP32が再起動を繰り返す場合:Arduinoがリセットを繰り返すときとESP32のブラウンアウトとGuru Meditationを、ESP32がネットワークにつながらない場合はESP32がWi-Fiにつながらないときを参照してください。
- 抵抗の値に自信がない場合:カラーコードの帯は「カラーコード」ツールで、LEDに必要な抵抗は「LED用抵抗」ツールで確認しましょう。どちらも無料です。
コミュニティのルール:安全に、礼儀正しく質問する
- 個人情報を共有しない:電話番号、自宅や学校の住所、メールアドレス、自分のフルネームやほかの人の名前は、質問に書かないでください。写真に自分の顔、学生証、住所の書かれた封筒が写っていないかも確認しましょう。コードを貼り付ける前に、Wi-Fiのパスワード、ボットのトークンなどの秘密の情報を削除してください。
- 礼儀正しい言葉を使う:誰にでも始めたばかりの時期があります。今は初歩的に見える質問も、誰かにとっては初めてのプロジェクトかもしれません。答える人はボランティアで答えています。きつい言い方や「こんなことも知らないの?」という態度は、誰の助けにもなりません。すべて大文字で書いたり、感嘆符を連ねたりするのも同じです。
- 同じ質問を何度も投稿しない:答えが来ない場合は、新しい投稿を作るのではなく、今の投稿を編集して足りない情報を追加しましょう。同じ質問が3つあると、答えが3か所に分散してしまいます。
- 宿題を代わりにやってもらうのではなく、助けを求める:「信号機の課題を書いてもらえますか?」という質問には、たいてい答えがつきません。「信号機のコードで黄色のライトが点かないのはなぜですか?この行を試しました」という質問なら答えがもらえ、自分の学びにもなります。行き詰まっているステップについて質問し、残りは自分でやりましょう。
まとめると、タイトルにはボード、部品、症状。説明には配線、期待した動作と実際の動作、エラーの文面、試したこと。添付には「コードを追加」で入れたコード全体と、真上から撮ったはっきりした写真。このように書いた質問は最初の返信で解決することが多く、解決したあとはほかの人の道しるべにもなります。次にプロジェクトで行き詰まったら、BlueGraysアプリの学ぶタブでフォーラムを開き、新規投稿からこのテンプレートを使って質問してみましょう。
よくある質問
Arduinoの質問はどこですればよいですか?
BlueGraysアプリの学ぶタブにあるフォーラムで、「質問」カテゴリーの新規投稿を作成できます。フォーラムではArduino、ESP32、Raspberry Pi Picoについての質問が投稿され、ほかのユーザーやBlueGraysのマスコットのOhmiが答えます。投稿は、アプリで使っている言語で公開されます。
BlueGraysのフォーラムは無料ですか?
はい、フォーラムは無料です。投稿、コメント、写真やコードの追加にプレミアムは必要ありません。プレミアムでは、すべてのプロジェクトの全ステップ、コード、トラブルシューティングのセクションなどのコンテンツが使えるようになります。
フォーラムの投稿にArduinoのコードを追加するには?
新規投稿の画面で「コードを追加」をタップし、開いた欄にコード全体を貼り付けます。答える人がコンパイルして試せるように、コードはスクリーンショットではなくテキストで共有してください。Wi-Fiのパスワードなどの秘密の情報は、共有する前に削除しましょう。
フォーラムの質問に誰も答えてくれないときは?
新しい投稿を作るのではなく、投稿を編集して足りない情報を追加しましょう。ボードとバージョン、配線、エラーメッセージの正確な文面、はっきりした写真です。タイトルにボード、部品、症状が入っているかも確認してください。新しいコメントが付くと通知が届きます。
フォーラムの「承認された答え」とは何ですか?
投稿を始めた人が、問題を解決してくれたコメントの下にある「承認」をタップすると、そのコメントに「承認された答え」のラベルが付き、投稿が「解決済み」になります。「承認」が表示されるのは投稿者本人だけです。こうして、同じ問題を探している人がすぐに解決策を見つけられます。
フォーラムで宿題を手伝ってもらえますか?
はい。ただし、代わりにやってもらうのではなく、行き詰まっている部分について質問してください。コード、回路の写真、試したことを共有して具体的な質問をすれば、答えがもらえ、内容も身につきます。受けた助けを課題に明記するのも、よい習慣です。
この記事を読んだ後に作れるプロジェクト
全プロジェクトを見る
HC-SR04で距離を測定(シリアルモニタ表示)
HC-SR04センサーは、コウモリが暗闇で道を見つけるのと同じ仕組みで動作します。人には聞こえない音を出し、その反響を捉えて前方の物体までの距離を測ります。Arduinoは0.5秒ごとに距離をセンチメートル単位でコンピューターの画面に表示し、3〜100センチメートルの測定値を示します。駐車センサーや障害物を避けるロボットなどのプロジェクトの基礎になります。

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

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

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

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

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

ESP32でLEDを点滅
ESP32のGPIO出力の基本を学びます。デジタルピンからLEDを点灯・消灯させて、点滅させます。Arduino UNOの定番のLED点滅プロジェクトのESP32版です。Arduino環境で使う基本的な点滅コマンドは同じですが、ESP32のピン配置と3.3 VのGPIO電圧レベルはArduino UNOとは異なります。

Raspberry Pi Picoで外付けLEDを点灯(ブレッドボード)
Picoの内蔵LEDの次は、ブレッドボードに外付けLEDを接続し、GP14ピンで制御します。このプロジェクトでは、Picoの汎用GPIOピンを出力として使う方法、LEDの極性(長い足=アノード/+、短い足=カソード/−)、電流制限抵抗(220Ω)が必要な理由を学びます。抵抗を入れないと、LEDに過大な電流が流れて壊れることがあります。回路はとても簡単です。Pico GP14 → 220Ω抵抗 → LED(+)→ LED(−)→ Pico GND。Wokwiでシミュレーションできます。
ほかの記事
BlueGraysアプリ
この回路をスマホでステップごとに作る
回路図、コード、部品リストを1つの画面で確認できます。Arduino、ESP32、Picoのプロジェクトを200件以上用意しています。

