プロジェクト · Arduino / ESP32 / Pico

Arduinoのプロジェクトをさがす

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

LED踏切警報灯
#146上級
プレミアム

LED踏切警報灯

踏切のように交互に点滅するLED警報灯です。

5.0(2)
14
Raspberry Pi Picoで3連続点滅のパトカー灯(2個のLED、GP11+GP12)
#152初級
プレミアム

Raspberry Pi Picoで3連続点滅のパトカー灯(2個のLED、GP11+GP12)

パトカーの点滅灯プロジェクトのリズムを変え、3回ずつ交互に点滅させます!#151と同じ2個のLEDの回路(GP11に赤、GP12に青)を使いますが、点滅パターンが異なります。赤のLEDが素早く3回点滅し、次に青が3回点滅する動作を繰り返します。この「連続点滅+切り替え」は、本物のパトカーの点滅灯でおなじみのリズムです。引数を持つ関数`def burst(led, count, duration_ms)`、リズムの設計、同じ回路でコードを変えて異なる光の演出を作る方法を学びます。

0.0(0)
15
Raspberry Pi Picoで流れるLED(6個のLED、GP14 → GP9)
#153初級
プレミアム

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を追加できます。

0.0(0)
8
Raspberry Pi Picoでナイトライダー風LED(6個が往復、GP9 ↔ GP14)
#154初級
プレミアム

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個)を使います。

0.0(0)
13
Raspberry Pi Picoでボタンを押してLEDを点灯(GP14 + GP2)
#155初級
プレミアム

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)になります。この逆の論理は最初は戸惑いますが、業界で標準的に使われています。

0.0(0)
11
Raspberry Pi PicoでボタンによるLEDの点灯・消灯切り替え(GP14 + GP2)
#156初級
プレミアム

Raspberry Pi PicoでボタンによるLEDの点灯・消灯切り替え(GP14 + GP2)

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

0.0(0)
9
Raspberry Pi Picoで2個のボタンから2個のLEDを個別に制御(GP12-13 + GP4-5)
#157初級
プレミアム

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をボタン入力に分ける基本的な構成)を学びます。

0.0(0)
7
Raspberry Pi Picoのボタンのチャタリング対策:IRQとソフトウェアポーリングの比較(GP5 + GP4)
#159中級
プレミアム

Raspberry Pi Picoのボタンのチャタリング対策:IRQとソフトウェアポーリングの比較(GP5 + GP4)

ボタンを1回押しただけで、コードでは3~4回と数えられますか?原因は**チャタリング**です。金属接点がマイクロ秒単位で振動します!シリアルモニタで、2つのカウント方法を並べて比較します。**未処理のポーリング**は振動も検出して多く数え、**IRQとソフトウェアによるチャタリング対策**は正確に数えます。接点が振動する仕組み、ソフトウェアによる対策(`ticks_diff() > 50ms`)、**Pin.irq()**による割り込みの登録、**IRQ_FALLING**トリガー、ISRハンドラー、`global`とISRの安全な扱い方を学びます。IRQでLEDを切り替え、動作を目で確認できます。シリアルモニタには押すたびに両方のカウントが表示されます。

0.0(0)
12
Raspberry Pi PicoのPWMでLEDをフェード(呼吸のような明滅、GP14)
#160初級
プレミアム

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の混色やモーターなどに使われる、組み込み開発の基本技術です。

0.0(0)
4
Raspberry Pi PicoでRGB LEDの色を順に切り替える(3チャンネルPWM、GP11-13)
#161初級
プレミアム

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の**カソードコモンとアノードコモンの違い**を学びます。

0.0(0)
6
Arduinoで傾けると流れるデジタル砂(MPU-6050+8x8 NeoPixelマトリクス)
#163中級
プレミアム

Arduinoで傾けると流れるデジタル砂(MPU-6050+8x8 NeoPixelマトリクス)

回路を傾けた方向に流れるLEDの砂を作ります!**MPU-6050**加速度センサーが傾きを測り、**8x8 NeoPixelマトリクス**上の24個の粒が重力の方向に落ちて、本物の砂のように端に積もります。**テーマボタン**で砂、水、溶岩、虹の色に切り替えられます。ライブラリを使わないI2Cの読み取り、傾きからの重力方向の算出、砂の落下を再現するシンプルなアルゴリズムを1つのプロジェクトで学べます。

0.0(0)
Arduino超音波テルミン(HC-SR04+NeoPixelリング+ブザー)
#165中級
プレミアム

Arduino超音波テルミン(HC-SR04+NeoPixelリング+ブザー)

触れずに空中で手を動かすだけで演奏できる楽器を作ります!手を**HC-SR04**に近づけるほど**パッシブブザー**の音が高くなり、**24個のLEDを備えたNeoPixelリング**が色と点灯する割合で音程を示します。ボタンで2つのモードを切り替えられます。**SCALE**モードでは距離に応じて五音音階の音に合わせ、**GLIDE**モードでは昔のSF映画のように音が滑らかに変化します。メロディーを生み出すのは、用意されたコードではなく手の動きです。

0.0(0)