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

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

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

ESP32の流れるLED
#108初級
プレミアム

ESP32の流れるLED

6個のLEDを左から右へ、右から左へ順番に点灯させます(Knight Rider風)。forループと配列を使う基本例で、進む向きを切り替える仕組みを学べます。

4.5(19)
32
ESP32でパトカーの点滅ライトを再現
#109初級
プレミアム

ESP32でパトカーの点滅ライトを再現

赤と青のLEDグループを高速で点滅させ、パトカーのライトを再現します。各グループを2個のLEDにすると、より迫力のある演出になります。高速な点灯・消灯パターンとグループ制御の例です。

4.6(21)
36
ESP32のPWMでLEDをフェード
#110初級
プレミアム

ESP32のPWMでLEDをフェード

LEDの明るさを0から最大へ、最大から0へと滑らかに変化させます。Arduinoと同じようにanalogWrite()でPWMを制御します。ESP32 Arduino Core 3.0+では同じ構文がそのまま使えます。ピンの定義とpinMode、analogWriteだけで実現できます。

4.8(36)
54
ESP32でRGB LEDを制御
#111初級
プレミアム

ESP32でRGB LEDを制御

3個の個別のLEDの代わりに、1個のRGB LEDで無数の色を作ります。Arduinoと同じようにanalogWrite()でR/G/Bの値を調整し、虹色に変化させます。赤と緑を混ぜると黄色になるなど、色の仕組みを実際に確認できます。

4.6(29)
51
ESP32とLDRで作るナイトライト
#112初級
プレミアム

ESP32とLDRで作るナイトライト

暗くなるとLEDが自動で点灯し、明るくなると消灯するナイトライトです。LDRセンサーモジュールのD0(デジタル出力)ピンを使います。モジュール上の小さな可変抵抗で暗さのしきい値を設定すると、モジュール自体がHIGH/LOWを出力します。ESP32はdigitalRead()でこの信号を読み取るだけなので、コードはとてもシンプルです。

4.6(17)
30
ESP32と可変抵抗でLEDの明るさを制御(アナログ→PWM)
#115中級
プレミアム

ESP32と可変抵抗でLEDの明るさを制御(アナログ→PWM)

可変抵抗を使ってLEDの明るさをアナログ操作で調整します。ESP32のADCピンで可変抵抗からの0-3.3Vの電圧を読み取り、PWM(パルス幅変調)信号に変換してLEDに出力します。可変抵抗を回すと、LEDが徐々に明るくなったり暗くなったりします。Arduino Core 3.0+では`analogWrite()`を直接使えます。ESP32-S2/S3ではADCの分解能を12ビットに固定します。

4.5(19)
32
ESP32 PIR人感センサーによる自動照明
#121中級
プレミアム

ESP32 PIR人感センサーによる自動照明

このプロジェクトでは、HC-SR501 PIR人感センサーで部屋に入った人を検知し、LEDを自動で点灯させます。`millis()`で点灯時間を管理します。センサーの値がHIGHの間は最後に動きを検知した時刻を更新し、最後にHIGHを読み取ってから少なくとも10秒後にLEDを消灯します。現在のコードは各ループで`delay(50)`により50 ms待機するため、完全にノンブロッキングではありません。階段や廊下、浴室、戸棚内の照明などに応用できます。

4.4(24)
38
ESP32 WS2812B NeoPixel LEDテープの制御
#126中級
プレミアム

ESP32 WS2812B NeoPixel LEDテープの制御

WS2812B(NeoPixel)は、1本のデータピンで連結したLEDを個別に制御できるスマートなRGB LEDです。このプロジェクトでは、8個のLEDを備えたWS2812BテープをAdafruit_NeoPixelライブラリで制御し、滑らかな虹色のアニメーションを作ります。ESP32の3.3VロジックレベルはほとんどのWS2812Bのロットで問題なく動作しますが、不安定な場合に備え、470Ωの直列抵抗と1000µFのコンデンサを使う対策も紹介します。アニメーションは、HSV色空間の色相(hue)をずらして作ります。

4.9(19)
30
ESP32の調色ライト(可変抵抗3個 + RGB LED + OLED)
#138上級
プレミアム

ESP32の調色ライト(可変抵抗3個 + RGB LED + OLED)

ESP32と3個の可変抵抗で、好みの色を作れるスマート調色ライトです。赤・緑・青の可変抵抗を回すと、カソードコモンのRGB LEDの色がリアルタイムに変わります。SSD1306 OLEDディスプレイには、各色の0~255の値、色の強さを示すバー、#FF8040などのWeb用HEXカラーコードをリアルタイムで表示します。小さなプロ仕様のカラースタジオとして、RGBの色の仕組み、ADCによるアナログ値の読み取り、PWMによる明るさの制御、I2Cディスプレイの表示設計を1つのプロジェクトで学べます。

4.7(6)
10
ESP32スマート照明(PIR + LDR + リレー + OLED)
#141上級
プレミアム

ESP32スマート照明(PIR + LDR + リレー + OLED)

ESP32で廊下やトイレ、食品庫の照明をスマート化します!PIRモーションセンサー、LDR光センサー、リレーモジュールを使い、「暗い場所で動きを検知すると点灯する」定番の仕組みを作ります。周囲が明るければ動きを検知しても点灯しないため、日中の無駄な電力消費を抑えられます。照明は30秒間点灯し、動きが続くとタイマーがリセットされて点灯時間が延びます。SSD1306 OLEDには大きな文字で状態(ON / DAYTIME / WAITING)とカウントダウンを表示します。

4.3(6)
11
ESP32汎用IRリモコン(IR受信機 + リモコン + LED3個 + ブザー + OLED)
#143上級
プレミアム

ESP32汎用IRリモコン(IR受信機 + リモコン + LED3個 + ブザー + OLED)

ESP32で市販のIRリモコンの信号を読み取り、自作の機器を操作できます!このプロジェクトでは赤外線受信機(NECプロトコル、38 kHz)で20ボタンのIRリモコンの信号を受信します。各ボタンには異なる動作を割り当てています。1、2、3ボタンで3個のLEDをそれぞれオン・オフし、PWRボタンですべて消灯します。4~9の数字ボタンではOLEDに特別な表示を出します。SSD1306 OLEDには最後に押したボタンを大きく表示し、実行した動作の説明とLEDの状態もリアルタイムで表示します。未知のボタンを押すとOLEDにHEXコードを表示します。

4.5(9)
15
ESP32ポモドーロタイマー(NeoPixelリング+ボタン+ブザー)
#167初級
プレミアム

ESP32ポモドーロタイマー(NeoPixelリング+ボタン+ブザー)

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

0.0(0)