Arduinoのプロジェクトをさがす
初級から上級まで、回路図・コード・動画付きのプロジェクトを数百件収録しています。自分のレベルに合ったところから始められます。

Raspberry Pi Picoで流れるLED(6個のLED、GP14 → GP9)
Picoで定番の「流れるLED」アニメーションを、6個のLEDで作ります!6個のLEDが左から右へ順に点灯し、光が列に沿って移動しているように見えます。Pythonのリスト、リスト内包表記([Pin(p, Pin.OUT) for p in LED_PINS])、forループによるピン制御、enumerate()を学びます。GP9-GP14に6個のLEDを接続し、それぞれに220Ωの電流制限抵抗を使います。6個のLEDを1個ずつ定義する代わりにリストを使うため、コードがすっきりします。使用可能な空きGPIOピンの数まで、それぞれに抵抗を付けてLEDを追加できます。

Raspberry Pi Picoでナイトライダー風LED(6個が往復、GP9 ↔ GP14)
Picoで定番の「ナイトライダー」風LED点灯パターンを作ります!6個のLEDが左から右へ、次に右から左へと、点灯を繰り返します。1980年代の人気ドラマに登場する車、KITTのフロントグリルのような動きです。このプロジェクトは#153の流れるLEDの発展版です。6個のLEDを使う回路(GP9-GP14)は同じで、コードのパターンを変えます。`reversed()`関数でリストを逆順にたどる方法、2つの`for`ループで往復させる方法、**同じ回路で複数のアニメーション**を作る方法を学びます。同じハードウェア(LED6個、220Ωの抵抗6個)を使います。

Raspberry Pi Picoでボタンを押してLEDを点灯(GP14 + GP2)
Picoで初めての**入力**プロジェクト、ボタンの読み取りです!ボタンを押している間はLEDが点灯し、離すと消灯します。LEDアニメーションから一歩進んで、**外部からPicoに信号を入力する方法**を学びます。`Pin.IN`(入力モード)、`Pin.PULL_UP`(ボタンで一般的に使う内蔵プルアップ抵抗)、`button.value()`による読み取りを扱います。LEDはGP14、ボタンはGP2(内蔵PULL_UP)に接続します。押すとLOW(0)、離すとHIGH(1)になります。この逆の論理は最初は戸惑いますが、業界で標準的に使われています。

Raspberry Pi PicoでボタンによるLEDの点灯・消灯切り替え(GP14 + GP2)
ボタンとLEDを使って、さらに一歩進みます!#155と違い、ボタンを押し続ける必要はありません。1回押して離すとLEDが点灯し、もう1回押して離すと消灯します(トグル動作)。回路は#155と同じ(LEDはGP14、ボタンはGP2)ですが、コードは大きく変わります。**エッジ検出**(1→0に変わる瞬間の検出)、**状態の記録**、**チャタリング対策**(機械的な接点の振動を除去)を学びます。MicroPythonの`led.toggle()`なら1行で状態を切り替えられます。モード切り替え、IRQ、ダブルクリックなど、ボタン操作を使うあらゆるプロジェクトの基礎になります。

Raspberry Pi Picoで2個のボタンから2個のLEDを個別に制御(GP12-13 + GP4-5)
2個のボタンと2個のLEDが、それぞれ独立して動作します!各ボタンが対応するLEDを制御し、BTN1を押すと赤色LED、BTN2を押すと緑色LEDが点灯します。両方を同時に押すと、2個とも点灯します(並列動作)。**複数のPinオブジェクトの管理**(複数の入出力を同時に扱う方法)、**三項演算子**(`1 if x else 0`というPythonの簡潔なif-else)、**独立したI/O制御**(並列動作の仕組み)、**GPIOの割り当て**(GP12/13をLED出力、GP4/5をボタン入力に分ける基本的な構成)を学びます。

Raspberry Pi PicoのPWMでLEDをフェード(呼吸のような明滅、GP14)
LEDを単に点滅させるだけでなく、呼吸するように明滅させます!Raspberry Pi Picoの**PWM**(パルス幅変調)を使い、スリープ中のMacBookのランプのように、明るさをゆっくり上げてからゆっくり下げます。**machine.PWMクラス**、**duty_u16()**(0–65535の16ビットの明るさ)、**PWM周波数**(`freq(1000)`で1秒間に1000回オン・オフし、ちらつきを感じさせない)、**range()による段階的なループ**(増加と減少)、デジタルピンからの**アナログのような出力**を学びます。PWMはRGBの混色やモーターなどに使われる、組み込み開発の基本技術です。

Raspberry Pi PicoでRGB LEDの色を順に切り替える(3チャンネルPWM、GP11-13)
1つのLEDで何百万もの色を表現できます!RGB LEDには、実は**赤、緑、青**の3つのLEDが入っています。それぞれをPicoの個別の**PWM**チャンネルで制御すると、赤+緑=黄、緑+青=シアン、3色すべて=白のように色を混ぜられます。このプロジェクトでは、LEDの色を8色に順番に切り替えます。**複数のPWMチャンネル**、**関数の定義**(`def set_color(...)`)、**RGBの混色**(画面やスマート電球の仕組み)、**8ビットから16ビットへの変換**(`x257`で0–255を0–65535に変換)、LEDの**カソードコモンとアノードコモンの違い**を学びます。

Arduinoお絵描きタブレット(ポテンショメーター2個+OLEDディスプレイ)
昔ながらのお絵描きタブレットをArduinoで再現します!左の**ポテンショメーター**でペンを横に、右のポテンショメーターで縦に動かすと、**0.96インチOLED**に途切れない線が描かれます。**ペン**ボタンでペンを上げ下げし、**消去**ボタンで消しゴムのアニメーションと**ブザー**音とともに画面を消去します。アナログ入力、揺らぎのフィルタリング、ディスプレイへの描画を楽しく学べる初級プロジェクトです。

ESP32ポモドーロタイマー(NeoPixelリング+ボタン+ブザー)
勉強中にスマートフォンを見ずに済む、光る卓上タイマーです!**24個のLEDを備えたNeoPixelリング**が、時計の文字盤のように残り時間を表示します。作業中は**赤**、短い休憩は**緑**、4回の作業ごとに取る長い休憩は**青**です。最後の5秒間はリングが点滅し、**パッシブブザー**がカチカチと鳴ります。各時間が終わると虹色の光で知らせます。1つの**ボタン**で開始、一時停止、リセットができ、`delay()`を一切使わずに**ESP32**で動作します。

Raspberry Pi Picoの駐車センサー(HC-SR04+LED3個+ブザー)
車のバック時に使う駐車センサーを机の上で再現します!**Raspberry Pi Pico**が**HC-SR04超音波センサー**を使い、前方の障害物までの距離を1秒間に約16回測定します。障害物が近づくと**緑、黄、赤のLED**が順に点灯し、**ブザー**のビープ音が速くなります。10 cm未満では音が鳴り続け、赤のLEDが点滅します。超音波による距離測定、PWMによる音、処理を止めない時間制御を1つのプロジェクトで学べます。

Raspberry Pi Picoのボタンピアノ(ボタン5個+ブザー+メロディー録音)
演奏を覚えてくれる5鍵のミニピアノです!**Raspberry Pi Pico**が**5個のボタン**でド、レ、ミ、ファ、ソを**パッシブブザー**から鳴らし、キーを押している間は音が続きます。**ドを1秒間長押し**してメロディーを弾き、もう一度ドを長押しすると、Picoが演奏を再生します。その際、**音と音の間の1.5秒を超える無音部分は1.5秒に短縮されます**。録音表示にはボード上のLEDを使うので、追加の部品は不要です。PWMによる音階、チャタリング対策、処理を止めない時間制御を1つのプロジェクトで学べます。

Raspberry Pi Picoの駐車場ゲート(SG90サーボモーター+LED2個+ボタン+ブザー)
駐車場の入口にあるバー式ゲートの小さな模型です!ボタンを押すと、**Raspberry Pi Pico**が**SG90サーボモーター**でバーを滑らかに上げ、**緑のLED**が点灯します。3秒間開いたままになり、その後は**赤のLEDが点滅**し、**ブザー**で警告音を鳴らしながらゆっくり下がります。下がっている途中でもう一度ボタンを押すと、**安全のためにバーがすぐに上がります**。サーボモーターの制御、状態機械、処理を止めない時間制御を1つのプロジェクトで学べます。
