Arduinoが壊れたかも?症状、診断、復活させる方法
Arduinoが壊れたかも?ON LEDが消えている、チップが熱い、ポートが出ないときに、Vin、ポリスイッチ、レギュレーター、USBチップ、ピンを調べ、ブートローダーを書き直し、ATmega328Pを交換する方法を紹介します。
「Arduinoが壊れたかも?」は、電子工作をしていれば誰もが一度は抱く疑問です。ワイヤーが間違った場所に触れたり、モーターをつないだりした途端、ボードが急に静かになってしまいます。うれしいことに、ほとんどの場合、ボード全体が壊れているわけではありません。Arduino Unoはいくつかの独立した部分でできています。USB接続とそのヒューズ、電圧レギュレーター、USBシリアル変換チップ、そしてメインのマイコンであるATmega328Pです。どれか1つが故障しても、ほかは無事なことが多く、正しく診断できれば、ボードの救出がわずか2分で済むこともあります。
このガイドでは、症状を正しく読み取り、ボードを段階的に切り分けて、どの部分が故障したのかを突き止める方法を紹介します。Vin入力からの給電、テスターによるポリスイッチとレギュレーターの確認、熱くなるチップの発見、ループバックテストによるUSBチップの確認、そしてピンを1本ずつ調べる2つのArduinoスケッチを順に見ていきます。続いて、壊れたブートローダーを2台目のArduinoで書き直し、必要ならATmega328Pを交換し、二度とボードを壊さないために守るルールをまとめます。書き込みエラーのソフトウェア面は「Arduinoに書き込めないとき」で別に取り上げています。

Arduinoが壊れたかも?最初の症状とその意味
診断を始める前に、ボードが伝えていることに耳を傾けましょう。緑のON LEDは5 Vラインに電源が来ているか、L LED(D13)はマイコンとブートローダーが動いているか、TX/RX LEDはUSBシリアル変換チップがデータをやり取りしているかを示します。下の表に、よくある症状とまず確認すべき場所をまとめました。
| 症状 | 考えられる故障 | 最初のステップ |
|---|---|---|
| ON LEDがまったく点灯しない | 5 Vラインのショート、作動したポリスイッチ、レギュレーターの故障、またはケーブル不良 | すべて外し、別のケーブルとVinからの給電で試す |
| ON LEDは点灯するが、ボードがとても熱くなる | チップが内部でショートしている | すぐに電源を抜き、熱いチップを探す |
| パソコンがボードを認識しない | 充電専用ケーブル、ドライバ未インストール、またはUSBチップの故障 | 別のケーブルを試し、次にループバックテストを行う |
| ポートは表示されるが、書き込めない | ブートローダーの破損、D0/D1につないだモジュール、またはATmega328Pの損傷 | リセット時にL LEDが点滅するか確認する |
| コードは動くが、1本のピンが反応しない | そのピンが過電流や過電圧で焼損している | ピンテスト用スケッチを実行する |
| ボードがランダムにリセットする | 電源不足、モーターのノイズ、またはレギュレーターの過熱 | 負荷を別の電源から給電する |
ステップ1:目と鼻とケーブルで最初の確認
- 明るい場所でボードをよく見ます。黒ずんだりふくらんだりしたチップ、割れたパッケージ、溶けたはんだ、焦げたパターンを探します。特にレギュレーター、ポリスイッチ、USBチップの周りを見てください。
- においをかぎます。焼けた電子部品は鼻をつく独特のにおいを残し、たいてい故障した部品の周りがいちばん強くにおいます。
- ボードの裏側を確認します。金属の机、ワイヤーの切れ端、導電性スポンジがはんだ付け部分同士をつないでショートさせることがあります。
- 別のUSBケーブルと別のUSBポートを試します。安いケーブルの中には電源線しかなく、データを送れないものがあります。これが、壊れたボードのように見える最も多い原因です。
- ボードを挿したときにパソコンがUSBの接続音を鳴らすか、ON LEDが点灯するかをメモします。次のステップはこの2つの観察結果で決まります。
Arduino Unoの電源経路:どの部品が何に電源を送る?
故障を最速で見つけるには、ボード上で電流が通る道を知ることです。USBからの5 Vは、まず500 mAのポリスイッチ(自己復帰型ヒューズ)を通り、次に小さなPチャネルMOSFETを通って5 Vラインに届きます。DCジャックからの電圧は、まず逆接続を防ぐダイオードを通ってVINラインに届き、NCP1117レギュレーターで5 Vに下げられます。VINが約6.6 Vを超えると、コンパレーターがUSB側のMOSFETをオフにするので、2つの電源がぶつかり合うことはありません。3.3 Vは、小さなLP2985レギュレーターで5 Vラインから作られます。ON LED、USBシリアル変換チップ(純正品ではATmega16U2、互換品では多くがCH340)、ATmega328Pはすべてこの5 Vラインから電源を受けます。
| 部品 | 役割 | 故障するとどうなる? |
|---|---|---|
| ポリスイッチ(500 mA) | USBを過電流から保護する | USBではON LEDが消灯、Vinでは点灯 |
| 逆接続保護ダイオード | DCジャックを逆極性から保護する | DCジャックではON LEDが消灯、USBでは点灯 |
| NCP1117 5 Vレギュレーター | VINを5 Vに下げる | DCジャックから5 Vが出ない、または5 Vラインに高い電圧がかかる |
| LP2985 3.3 Vレギュレーター | 3V3ピンに電源を供給する(最大50 mA) | 3V3ピンに電圧が出ない |
| ATmega16U2またはCH340 | USBシリアル変換 | パソコンがポートを認識しない、またはデータが通らない |
| ATmega328P | コードを実行するマイコン | 書き込めない、リセット時にL LEDが点滅しない、ピンが動かない |

ステップ2:ON LEDが消えているなら、USBとVinでテスト
ボードに一度はUSBから、一度はDCジャックにつないだ9 VのACアダプター(またはVinピンへの7〜12 V)から給電し、そのたびにON LEDを見ます。2つの経路に共通するのは5 Vラインなので、この簡単な比較で故障箇所をかなり絞り込めます。ポリスイッチが過電流で作動した場合は、数分間電源を切ったままにすると自然に復帰します。ショートが残っていれば、挿し直したときにまた作動します。電池やACアダプターの選び方は「Arduinoを電池で動かす方法」で詳しく説明しています。
| USBでのON LED | DCジャック/VinでのON LED | 意味 |
|---|---|---|
| 消灯 | 点灯 | USB側:ケーブル、USBソケット、ポリスイッチ、またはUSB側のMOSFET |
| 点灯 | 消灯 | ジャック側:ACアダプター、逆接続保護ダイオード、またはNCP1117レギュレーター |
| 消灯 | 消灯 | 5 Vラインのショート(チップが熱くなる)、または両方の経路が損傷 |
| 点灯 | 点灯 | 電源部は正常。問題はUSBチップ、ブートローダー、またはATmega328P |
ステップ3:テスターでショート、ポリスイッチ、レギュレーターを確認
- ショートのテスト(ボードの電源オフ):テスターを抵抗レンジか導通レンジにして、テスト棒を5VピンとGNDピンに当てます。最初は低い値から始まり、コンデンサが充電されるにつれて上がっていくのは正常です。ブザーが鳴り続ける、または数Ωより低い値のまま変わらない場合はショートしています。
- ポリスイッチのテスト(USBを挿した状態):直流電圧レンジで黒のテスト棒をGNDに当て、ポリスイッチの両端を順に測ります。どちらの端でも約5 Vになるはずです。片方が5 Vで、もう片方がほぼ0なら、ポリスイッチが開いています。
- レギュレーターのテスト(DCジャックに9 V):NCP1117の入力ピンで約8.3 V(ダイオードで0.7 V下がる)、出力で5.0 Vになるはずです。
- 3.3 Vのテスト:3V3ピンとGNDの間で3.2〜3.4 Vになるはずです。
- 測定はこの順番で行ってください。各ステップの結果で、次の測定の意味が変わります。テスターのレンジと安全な測り方は「テスターの使い方」で詳しく説明しています。
ステップ4:熱くなるチップを探す
5 Vラインがショートしていると、ショートした部品が電流の大半を引き込み、数秒で熱くなります。ボードをUSBに挿し、3〜5秒待ってから抜き、ATmega328P、USBチップ、レギュレーターに指先を順に軽く触れてみます。触れないほど熱い部品が見つかれば、そこがショートの場所です。ATmega328Pが熱い場合は、たいていどこかのピンに5 Vを超える電圧がかかっています。USBチップが熱い場合はUSB側に問題があり、レギュレーターが熱い場合は、レギュレーター自体の故障か、5 Vライン上の負荷が電流を引きすぎています。このテストはボードに長く電源を入れたままにせずに行ってください。そうしないと、正常な部品まで損傷することがあります。
ステップ5:ポートが表示されないときはUSBチップをテスト
ON LEDは点灯するのにパソコンがボードを認識しない場合は、まずソフトウェア側の原因を取り除きます。互換品のCH340チップ用のドライバをインストールし、Windowsではデバイスマネージャーの「ポート(COMとLPT)」、macOSとLinuxでは/dev/cu.*や/dev/ttyUSB*のデバイスを確認します。デバイスがまったく出てこない、または不明なデバイスとして表示される場合は、USBシリアル変換チップそのものをテストします。ループバックテストはATmega328Pを切り離し、USBチップが送ったデータをそのまま受け取らせるテストです。これで問題がUSBチップにあるのか、マイコンにあるのかを見分けられます。
- ボードの電源を切り、ジャンパーワイヤーでRESETピンをGNDにつなぎます。これでATmega328Pがリセット状態に保たれ、TX/RXラインが空きます。
- 2本目のジャンパーワイヤーで、D0(RX)ピンとD1(TX)ピンをつなぎます。
- ボードをUSBに挿し、Arduino IDEでポートを選んでシリアルモニタを開きます(ボーレートは何でもかまいません)。
- 何か入力して「送信」を押します。入力した文字がそのまま返ってきてTX/RX LEDが点滅すれば、USBチップは正常です。問題はATmega328Pかブートローダーにあります。
- 文字が返ってこず、ポートも表示されない場合は、USBチップかUSBソケットが損傷しています。その場合でも、外付けのUSB-TTL変換モジュールやISP書込装置を使えばコードを書き込めます。
ステップ6:ピンの焼損テスト
書き込みはできるのにプロジェクトの動作がおかしい場合は、ピンが1本だけ焼損しているかもしれません。モーター、リレーのコイル、抵抗なしのLEDをピンにつないだり、2つの出力同士をショートさせたり、ピンに5 Vを超える電圧をかけたりすると、ATmega328Pのほかの部分は動いたまま、そのピンだけが壊れることがあります。下の1つ目のスケッチは、すべてのピンを内部プルアップ付きの入力に設定します。正常なピンは、何もつないでいないときHIGHを読むはずです。次に、ジャンパーワイヤーの一端をGNDにつなぎ、もう一端でピンに順に触れます。触れるたびに、シリアルモニタでそのピンがLOWに変わるのが見えるはずです。
1// Arduino Uno giriş testi / input test (D0 ve D1 seri port için hariç / D0 and D1 skipped for serial)
2const byte PINS[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, A0, A1, A2, A3, A4, A5};
3const byte COUNT = sizeof(PINS);
4bool lastState[COUNT];
5
6void printPin(byte p) {
7 if (p >= A0) {
8 Serial.print('A');
9 Serial.print(p - A0);
10 } else {
11 Serial.print('D');
12 Serial.print(p);
13 }
14}
15
16void setup() {
17 Serial.begin(9600);
18 for (byte i = 0; i < COUNT; i++) pinMode(PINS[i], INPUT_PULLUP); // dahili pull-up açık / internal pull-up on
19 delay(10);
20 Serial.println(F("1) Bos pin testi / free pin test:"));
21 for (byte i = 0; i < COUNT; i++) {
22 lastState[i] = digitalRead(PINS[i]);
23 printPin(PINS[i]);
24 Serial.println(lastState[i] ? F(" HIGH tamam / ok") : F(" LOW SUPHELI / suspect"));
25 }
26 Serial.println(F("2) GND'ye bagli kabloyla pinlere sirayla dokun / touch each pin with a GND wire"));
27}
28
29void loop() {
30 for (byte i = 0; i < COUNT; i++) {
31 bool v = digitalRead(PINS[i]);
32 if (v != lastState[i]) { // durum değişti / state changed
33 lastState[i] = v;
34 printPin(PINS[i]);
35 Serial.println(v ? F(" birakildi / released") : F(" GND algilandi / GND detected"));
36 }
37 }
38 delay(20);
39}何もつないでいないのにLOWを読むピンや、GNDに触れてもまったく変わらないピンは怪しいです。入力段が内部でショートしているか、断線しています。互換品の一部ではD13のL LEDがピンに直接つながっているため、何もつないでいなくてもD13がLOWを読むことがあります。これは故障ではありません。2つ目のスケッチは、ピンの出力段をテストします。すべてのピンが1秒ごとにHIGHとLOWを繰り返します。LEDのカソードをGNDに、アノードを220 Ωの抵抗の一端につなぎ、抵抗のもう一端でピンに順に触れると、正常なピンではLEDが点滅します。適切な抵抗値は「LED抵抗計算ツール」で求められます。テスターで測ると、HIGHのとき約5 Vになるはずです。まったく点灯しない、暗く光る、4 Vを大きく下回るピンは損傷しています。
1// Arduino Uno çıkış testi / output test: bütün pinler 1 sn HIGH, 1 sn LOW / all pins 1 s HIGH, 1 s LOW
2const byte PINS[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, A0, A1, A2, A3, A4, A5};
3const byte COUNT = sizeof(PINS);
4
5void setAll(bool level) {
6 for (byte i = 0; i < COUNT; i++) digitalWrite(PINS[i], level);
7}
8
9void setup() {
10 Serial.begin(9600);
11 for (byte i = 0; i < COUNT; i++) pinMode(PINS[i], OUTPUT);
12 Serial.println(F("LED + 220 ohm probuyla pinlere dokun / touch the pins with an LED + 220 ohm probe"));
13}
14
15void loop() {
16 setAll(HIGH);
17 Serial.println(F("HIGH (~5 V)"));
18 delay(1000);
19 setAll(LOW);
20 Serial.println(F("LOW (0 V)"));
21 delay(1000);
22}このスケッチの実行中は、ピンにほかのものを何もつながないでください。すべてのピンが出力として駆動されるからです。アナログ入力もテストしたい場合は、A0をGND、3V3、5Vに順につなぎ、analogRead()で読み取ります。それぞれ約0、675、1023になるはずです。ピンの一覧と各ピンの機能は「Arduino Unoのピン配置」で、ボードの図は「ピン配置」ツールで確認できます。
ブートローダーの書き直し:Arduino as ISP
電源部は正常でループバックテストも通るのに、リセット時にL LEDが点滅せず、書き込むたびに「avrdude: stk500_getsync(): not in sync」(同期できない)エラーが出る場合は、ブートローダーが消えたか壊れている可能性があります。ブートローダーは、USB経由の書き込みを可能にする小さなプログラムで、ISP(インシステムプログラミング)で書き直せます。そのために専用の書込装置を買う必要はありません。正常な2台目のArduino Unoに、ArduinoISPのスケッチ例を書き込めば書込装置になります。ISP接続にはSPIピンを使います。書き込み先ボードの6ピンICSPヘッダーも使えます。
| 書込装置のUno(ArduinoISP) | 書き込み先のUno | ICSPヘッダー上 |
|---|---|---|
| D13 | D13 (SCK) | 3番ピン |
| D12 | D12 (MISO) | 1番ピン |
| D11 | D11 (MOSI) | 4番ピン |
| D10 | RESET | 5番ピン |
| 5V | 5V | 2番ピン |
| GND | GND | 6番ピン |
| RESETとGNDの間に10 µF(プラス側をRESETへ) | ― | 書込装置の自動リセットを防ぐ |
- 正常なUnoをパソコンにつなぎ、「ファイル」>「スケッチ例」>「11.ArduinoISP」>「ArduinoISP」を開いて、このボードに書き込みます。
- パソコンから外し、上の表のとおりに2台のボードを配線して、書込装置側のUnoのRESETピンとGNDピンの間に10 µFのコンデンサを取り付けます。
- 書込装置をもう一度USBに挿します。「ツール」メニューで、ボードにArduino Uno、ポートに書込装置のポートを選びます。
- 「ツール」>「書込装置」でArduino as ISPを選びます。似た名前の「ArduinoISP」は別売りのUSB書込装置用なので、選ばないでください。
- 「ツール」>「ブートローダを書き込む」(Burn Bootloader)を実行します。数秒で終わり、「Done burning bootloader」(ブートローダーの書き込み完了)と表示されます。
- 配線を外し、書き込み先のボードをそのボード自身のUSBでつないで、Blinkのスケッチ例を書き込みます。リセット時に再びL LEDがすばやく点滅すれば、ボードは救出できました。
失敗した場合は、avrdudeが出すシグネチャ(signature)のメッセージが多くを教えてくれます。「Device signature = 0x000000」や「0xffffff」は、書込装置が書き込み先のチップとまったく通信できていないことを示します。配線、10 µFのコンデンサ、書き込み先に5 Vが来ているかを確認してください。すべて正しければ、ATmega328Pはおそらく壊れています。シグネチャが1E 95 0Fなら、チップはATmega328Pで、通信は正常です。1E 95 14が表示された場合、手元のチップは「P」の付かないATmega328です。このチップに合ったボード定義を使う必要があります。
ATmega328Pの交換
純正のArduino Uno R3や多くの互換品では、ATmega328Pは28ピンのDIPパッケージでソケットに挿さっているので、はんだ付けなしで交換できます。マイコンが熱くなる、シグネチャが読めない、ピンの大半が壊れている場合は、これが最も経済的な修理方法です。チップを外したらショートも消えた(ON LEDが再び点灯し、ボードが熱くならない)なら、故障がチップにあることが確定します。新しいチップを買うときは、Unoのブートローダーが書き込み済みのATmega328P-PUを選ぶと楽です。何も書き込まれていないチップを買った場合は、上のArduino as ISPの方法でブートローダーを自分で書き込めます。NanoやSMD版のUnoのようなボードでは、チップがボードにはんだ付けされているので、交換にはホットエアーステーションと経験が必要です。
- ボードの電源を切り、チップの切り欠き(1番ピン側)がどちらを向いているか写真を撮ります。
- 小さなマイナスドライバーをチップとソケットの間に差し込み、両端を交互に少しずつ持ち上げます。片側だけから無理にこじると、足が曲がります。
- 新しいチップの足は、たいてい少し外側に開いています。チップを横に倒して平らな机に押し当て、両側の足の列をそろえて少し内側に曲げます。
- 切り欠きが古いチップと同じ向きになるようにチップをソケットに合わせ、すべての足が穴に入っていることを確かめてから、均等な力で押し込みます。
- ボードをUSBに挿し、リセット時にL LEDが点滅することを確認し、Blinkのスケッチ例を書き込んでテストを終えます。
ESP32とRaspberry Pi Picoについての短いメモ
同じ考え方はほかのボードにも当てはまり、変わるのは部品だけです。ESP32の開発ボードには、5 Vを3.3 Vに下げるAMS1117のようなレギュレーターと、CP2102またはCH340のUSBチップが載っています。レギュレーターが熱くなるなら、3.3 Vラインのショートを探します。ESP32のピンは5 V非対応なので、最も多い故障はピンに5 Vをかけてしまうことです。書き込み中の「Failed to connect」(接続できない)エラーは、多くの場合故障ではなく、BOOTボタンを押し続ける必要があるだけです。詳しくは「Arduinoに書き込めないとき」を見てください。Raspberry Pi Picoでは、BOOTSELボタンを押したままUSBに挿すのが最速のテストです。パソコンにRPI-RP2というドライブが現れれば、RP2040とUSB接続は正常です。Picoのピンも5 V非対応で、3V3(OUT)ピンでは約3.3 Vが測れるはずです。
Arduinoを壊さないための10のルール
- 1ピンあたり20 mA:1本のピンから引く電流は最大20 mAにします。絶対最大定格は40 mAで、全ピンの合計は200 mAを超えないようにします。
- LEDには必ず抵抗:抵抗なしでLEDをつなぐと、ピンにもLEDにも負担がかかります。5 Vなら220〜330 Ωで十分です。
- ピンに5 Vを超える電圧をかけない:入力ピンの電圧は、電源電圧より0.5 V以上高くしてはいけません。12 Vの信号はピンを一瞬で壊します。
- モーター、リレー、ポンプはピンに直接つながない:トランジスタかMOSFETとフライバックダイオードを使います。回路の例は「ミニウォーターポンプ」のガイドにあります。
- Vinには7〜12 V:これが推奨範囲です。12 Vを超えるとレギュレーターが熱くなり、20 Vを超えると定格を超えます。
- Vinピンに逆極性で給電しない:DCジャックの保護ダイオードは、Vinピンから入れる電源を守りません。プラスとマイナスを間違えるとボードが壊れます。
- 3V3ピンから50 mAを超えて引かない:Wi-Fiモジュールや大きなディスプレイのような負荷には、別の3.3 Vレギュレーターを使います。
- 配線を変えるときは電源を切る:電源が入った回路でワイヤーを抜き挿しすることが、一瞬のショートの最も多い原因です。
- ボードを金属の上に置かない:裏側のはんだ付け部分が金属の机や工具、ワイヤーの切れ端に触れるとショートします。プラスチックの足やケースを使ってください。
- GNDは共通に、電源は別に:外部電源で動かす負荷とはGNDをつなぎますが、大きな電流をボード経由で流さないでください。
Arduinoが壊れたと決めつける前に、どの部分が沈黙したのかを突き止めれば、多くの場合ボードは救えます。ON LEDで電源経路を、ループバックテストでUSBチップを、リセット時のL LEDでブートローダーを、ピンテスト用スケッチでATmega328Pの足を1本ずつ確かめます。ブートローダーは書き直せますし、ソケットのチップは数分で交換でき、上のルールを守れば次のボードは長持ちします。ボードが再び正常に動く様子を見るには、BlueGraysアプリの「LEDの点滅」「信号機」「ボタンでLEDを点灯(押している間のみ)」「LCDディスプレイ付きデジタル電圧計」のプロジェクトを、ステップごとの回路図とコードで試してみてください。
よくある質問
Arduinoが壊れたかどうかは、どうすれば分かりますか?
まずボードにつないでいるものをすべて外し、USBだけで試します。ON LEDが点灯しなければ電源側の問題、ボードが熱くなればチップのショート、パソコンが認識しなければUSBチップかケーブルの問題です。リセットボタンを押したときにL LEDがすばやく点滅すれば、ATmega328Pとブートローダーは動いていて、ボードはおそらく壊れていません。
ArduinoのONランプが点灯しません。どうすればいいですか?
別のUSBケーブルと、DCジャックにつないだ9 VのACアダプターでそれぞれ試します。USBのときだけ消えているならポリスイッチかUSBソケット、ジャックのときだけ消えているならダイオードかレギュレーターが怪しいです。どちらでも消えているなら、テスターで5VとGNDの間がショートしていないか測り、熱くなるチップを探します。
Arduinoのチップが熱くなったら、壊れていますか?
正常なATmega328PやUSBチップは、触って分かるほど温かくなりません。数秒で触れないほど熱くなるチップがあれば、おそらく内部でショートしています。すぐに電源を切ってください。ソケットのATmega328Pなら外してボードをもう一度試し、ショートが消えればチップの交換だけで済みます。
Arduinoがパソコンに表示されないのは、故障ですか?
必ずしもそうではありません。最も多い原因は充電専用のUSBケーブルか、互換品のCH340用ドライバが入っていないことです。別のケーブルとドライバでも表示されない場合は、RESETをGNDに、D0をD1につないでループバックテストを行います。シリアルモニタに入力した文字が返ってくれば、USBチップは正常です。
Arduinoにブートローダーを書き込むには?
正常な2台目のArduinoに「ファイル」>「スケッチ例」>「ArduinoISP」を書き込み、そのD13、D12、D11を書き込み先ボードの同じピンに、D10を書き込み先のRESETピンにつなぎ、5VとGNDも互いにつなぎます。書込装置のRESETとGNDの間に10 µFのコンデンサを入れ、書込装置として「Arduino as ISP」を選んで「ブートローダを書き込む」を実行します。
Arduinoのピンが1本だけ壊れることはありますか?
はい。1本のピンから40 mAを超える電流を引く、2つの出力をショートさせる、ピンに5 Vを超える電圧をかける、といったことで、そのピンだけが壊れ、ボードのほかの部分は動き続けることがあります。どのピンが壊れたかは、INPUT_PULLUPを使う入力テストと、すべてのピンを点滅させる出力テストで見つけられます。見つけたら、プロジェクトを正常なピンに移しましょう。
この記事を読んだ後に作れるプロジェクト
全プロジェクトを見る
LEDの点滅
電子工作の第一歩は、1個のLEDを点けたり消したりすることです。Arduinoで短い間隔で点灯と消灯を繰り返すと、LEDが素早く点滅します。ボードが光を制御する仕組みを最もシンプルな形で確かめ、これから取り組むプロジェクトの基礎を身につけます。

2個のLEDを点灯
2個のLEDが素早く交互に点滅します。一方が点くともう一方が消え、まるでボールを投げ合っているようです。ArduinoがそれぞれのLEDを5分の1秒ずつ点灯させ、次のLEDに切り替えます。1個のLEDの次に、複数の光をまとめて制御する方法を学ぶのに最適なステップです。

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

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

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

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

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

LCDディスプレイ付きデジタル電圧計
自作の測定器で、電池や電源アダプターが出力する電圧を調べます。2つの抵抗で作る分圧回路が、高い電圧をボードで読み取れるレベルまで下げます。Arduinoが元の電圧を計算し、2行のLCDディスプレイにボルト単位で表示します。この回路では約55ボルトまでの直流電圧を測定できます。コンセントの商用電源には絶対に接続しないでください。
ほかの記事
BlueGraysアプリ
この回路をスマホでステップごとに作る
回路図、コード、部品リストを1つの画面で確認できます。Arduino、ESP32、Picoのプロジェクトを200件以上用意しています。

