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

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

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

ESP32 DHT22温湿度計(LCDディスプレイ付き)
#117中級

ESP32 DHT22温湿度計(LCDディスプレイ付き)

DHT22センサーで周囲の温度と湿度を測定し、16x2 I2C LCDにリアルタイムで表示するプロジェクトです。Adafruit DHTライブラリを使い、1本の信号線を使うプロトコルでセンサーからデータを読み取ります。IoT気象観測装置やスマートホームの自動化、温室の環境監視システムの基礎となります。ESP32のGPIO 4ピンを介してDHT22と通信します。

4.8(38)
56
ESP32 MQ-2ガス・煙検知アラーム
#122中級

ESP32 MQ-2ガス・煙検知アラーム

このプロジェクトでは、MQ-2ガスセンサーモジュールで可燃性ガス(LPG、メタン、プロパン)と煙を検知し、パッシブブザーでサイレンのような警報音を鳴らします。センサーのしきい値判定用デジタル出力(DO)をESP32のGPIO 4ピンに接続します。ガスや煙がしきい値を超えるとDOがLOWになり、アラームが作動します。感度はモジュール上のポテンショメーターで調整します。パッシブブザーを`tone()`で駆動し、2つの周波数を交互に切り替えてサイレン音を作ります。

4.7(28)
42
ESP32 RFID RC522カードリーダー(LCD付き)
#123中級

ESP32 RFID RC522カードリーダー(LCD付き)

このプロジェクトでは、MFRC522を搭載したRC522 RFIDモジュールをSPIでESP32に接続し、カードやタグのUIDを読み取ります。ドアロック、会員システム、入退室管理などの基礎となる仕組みです。読み取ったUIDはLCDディスプレイに表示します。このバージョンでは、許可されたカードのリストとの照合は行いません。**注意:**RC522は**3.3V**専用です。5Vを供給するとモジュールが焼損します!

4.8(21)
39
ESP32 Wi-Fi STA接続(LCDディスプレイ付き)
#127上級

ESP32 Wi-Fi STA接続(LCDディスプレイ付き)

このプロジェクトでは、ESP32をステーション(STA)モードで家庭のWi-Fiネットワークに接続し、安全で障害に強い接続を実現します。SSIDとパスワードを別の`secrets.h`ファイルに保存してGitへの流出を防ぎ、自動再接続の仕組みを実装します。RSSIによる信号強度とIPアドレスはI2C LCDディスプレイに表示します。内蔵LEDは状態表示に使います。実運用を想定した接続管理の仕組みです。

4.4(21)
33
ESP32非同期Webサーバー(LCDにIPアドレスを表示)
#129上級

ESP32非同期Webサーバー(LCDにIPアドレスを表示)

このプロジェクトでは、ESP32を同じWi-Fiネットワーク上のスマートフォンやパソコンから操作できる**非同期Webサーバー**にします。ESPAsyncWebServerライブラリを使うと、従来の`WebServer.h`のように1つのリクエストで処理がブロックされず、複数のリクエストを同時に処理できます。ブラウザーでESP32のIPアドレスを開き、ON/OFFボタン(`/on`と`/off`のルート)を押すと、GPIO 5に接続したLEDを点灯・消灯できます。

4.8(16)
26
Raspberry Pi Picoの内蔵LEDを点滅(PicoとPico W)
#147初級

Raspberry Pi Picoの内蔵LEDを点滅(PicoとPico W)

Raspberry Pi Picoシリーズの最初のプロジェクトです!ボード上の緑色LEDを点滅させて動作を確認する、定番の「Hello World」に相当する実験です。外付け部品は不要で、PicoとUSBケーブルだけで始められます。コードは**MicroPython**(Raspberry Pi Foundationが公式にサポートする言語)で書きます。Thonny IDEで`machine.Pin`クラス、`Pin.OUT`モード、`led.on()/off()`メソッド、`time.sleep()`を学びます。シリアル(REPL)出力で、切り替わる様子をリアルタイムに確認できます。

5.0(1)
10
Raspberry Pi Picoで外付けLEDを点灯(GP14+ブレッドボード)
#148初級

Raspberry Pi Picoで外付けLEDを点灯(GP14+ブレッドボード)

Picoの内蔵LEDの次は、ブレッドボードに外付けLEDを接続し、GP14ピンで制御します。このプロジェクトでは、Picoの汎用GPIOピンを出力として使う方法、LEDの極性(長い足=アノード/+、短い足=カソード/−)、電流制限抵抗(220Ω)が必要な理由を学びます。抵抗を入れないと、LEDに過大な電流が流れて壊れることがあります。回路はとても簡単です。Pico GP14 → 220Ω抵抗 → LED(+)→ LED(−)→ Pico GND。Wokwiでシミュレーションできます。

4.5(2)
7
Raspberry Pi Picoで2個のLEDを交互に点滅(GP14+GP13)
#149初級

Raspberry Pi Picoで2個のLEDを交互に点滅(GP14+GP13)

PicoでLEDを1個点滅させた次は、2個のLEDを交互に点滅させる定番のフリップフロップパターンです。一方が消えるともう一方が点灯する、複数のGPIOを連動させる最も基本的な例です。このプロジェクトでは、色の異なる2個のLED(GP14に赤、GP13に緑)が500msごとに点灯状態を入れ替えます。MicroPythonの`Pin.toggle()`メソッドを使うと、コードを短く読みやすくできます。同じ基本的な仕組みが、信号機、パトカーの点滅灯、流れるLEDなど、複数のLEDを使ったアニメーションの基礎になります。回路はとても簡単で、各LEDに220Ωの抵抗を使います。

5.0(2)
19
Raspberry Pi Picoで信号機(3個のLEDを順に点灯、GP11/GP12/GP13)
#150初級

Raspberry Pi Picoで信号機(3個のLEDを順に点灯、GP11/GP12/GP13)

赤・黄・緑のLEDで本物の信号機を再現する、Picoシリーズ初の3個のLEDを使うプロジェクトです!緑が4秒間「進め」、黄が1.5秒間「準備」、赤が3秒間「止まれ」、赤と黄が1秒間「発進準備」を示します(ヨーロッパの信号機のパターン)。**関数の定義**(`def all_off()`)、**状態機械の仕組み**(順序)、**複数のGPIOの同期**を学びます。回路はとても簡単です。GP11(緑)、GP12(黄)、GP13(赤)に3個のLEDを接続し、それぞれに220Ωの電流制限抵抗を使います。

4.0(1)
12
Raspberry Pi Picoでパトカーの点滅灯(赤+青、GP11+GP12)
#151初級

Raspberry Pi Picoでパトカーの点滅灯(赤+青、GP11+GP12)

Raspberry Pi Picoで、パトカーの屋根にある点滅灯を最も簡単な形で再現します!赤と青のLEDが交互に点灯するフリップフロップ方式です。赤が点灯している間は青が消灯し、0.3秒ごとに状態を入れ替え、繰り返します。コードは1つの`while True`ループに2つの動作を直接記述し、速度は`WAIT_MS`定数で設定します。

4.7(3)
10
Raspberry Pi Picoで信号機の4モードをボタンで切り替え(ステートマシン、GP11-13 + GP4)
#158中級

Raspberry Pi Picoで信号機の4モードをボタンで切り替え(ステートマシン、GP11-13 + GP4)

1個のボタンで信号機の4つのモードを切り替えます!押すたびに、**通常サイクル**(赤→黄→緑の順に点灯)、**赤のみ**(停止)、**黄色点滅**(注意・夜間モード)、**消灯**(メンテナンス)へ切り替わります。**ステートマシン**(`mode`変数で実行する動作を決定)、**剰余演算によるモードの循環**(`(mode + 1) % 4`で0→1→2→3→0を繰り返す)、**処理を止めない時間管理**(`time.ticks_ms()` + `time.ticks_diff()`でLEDの各段階の時間を管理)を学びます。ただし、モード切り替え時には待ち時間があります。

5.0(1)
15
Raspberry Pi PicoのLED綱引きゲーム(NeoPixelテープ+ボタン2個+ブザー)
#168中級

Raspberry Pi PicoのLED綱引きゲーム(NeoPixelテープ+ボタン2個+ブザー)

2人でボタンを連打して対戦するゲームです!**Raspberry Pi Pico**が、30個のLEDを備えた**WS2812B NeoPixelテープ**を綱に変えます。左が赤のプレイヤー、右が青のプレイヤーです。ボタンを押すたびに自分の色がLED1個分進み、テープ全体を自分の色にするとそのラウンドの勝ちです。先に3ラウンド取ると試合に勝ちます。カウントダウン中に早く押すと押し戻され、**パッシブブザー**はプレイヤーごとに異なるクリック音を鳴らします。試合の最後は虹色の光で締めくくります。MicroPythonの`neopixel`、チャタリング対策、処理を止めない音の再生を1つのプロジェクトで学べます。

0.0(0)