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

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

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

32x8 LEDマトリクス4枚でアニメーションと文字表示
#90中級
プレミアム

32x8 LEDマトリクス4枚でアニメーションと文字表示

横長のLEDマトリクスモジュールを4枚上下に並べると、1,000個以上の光の点からなる正方形のディスプレイになります。まず映画のように文字が上から雨のように降り、続いてカーテンが開いて2行の文字がスクロールし、その間を波やひし形が流れていきます。一連の演出はちらつかず滑らかに動き、終わると自動で最初から繰り返します。

4.6(40)
66
32x8 LEDマトリックス4枚で作る6種のアニメーション
#91中級
プレミアム

32x8 LEDマトリックス4枚で作る6種のアニメーション

32x8 LEDパネル4枚を縦に並べた正方形のディスプレイで、6種類のアニメーションが順番に再生されます。降り注ぐデジタルの雨、広がる渦巻き、自ら生まれては消える細胞、広がる波紋、手前に飛んでくる星、そして花火です。それぞれ約8秒続き、ピクセルがゆっくり消えながら次のアニメーションに移ります。すべてを1台のArduino Unoで動かします。

4.5(35)
48
Arduino I2C計算ツール
#94中級
プレミアム

Arduino I2C計算ツール

4x4のメンブレンキーパッドと16x2のI2C LCDディスプレイを使い、足し算、引き算、掛け算、割り算を行うArduinoベースの計算ツールのプロジェクトです。I2Cにより、ディスプレイを2本のケーブルだけで接続できるため、配線を整理しやすく、ほかの用途に使えるピンも多く残せます。小数の入力と負の数にも対応しています。

5.0(31)
43
キーパッドでRGB LEDを制御
#95中級
プレミアム

キーパッドでRGB LEDを制御

このプロジェクトでは、4x4キーパッドでRGB LEDのモードや色を切り替えます。millis()を使うことで、待ち時間を入れずにコマンドを処理します。 使い方ガイド Aキー:色の値を徐々に変えるフェード効果です。 Bキー:スムーズモードで7つの固定色を順番に切り替えます。 C / D:両方の効果の速度を上げる/下げる操作です。 1 - 9:固定色をすばやく選択します。 * / #:ピンクや薄緑など、特定の中間色を選択します。 0キー:LEDを消灯します。

5.0(32)
44
Arduinoルーレット
#96中級
プレミアム

Arduinoルーレット

Arduinoで作る電子ルーレット デジタルアルゴリズムで偶然性を再現する、Arduinoを使った電子ゲーム装置です。円形に並べたLEDを順番に素早く点滅させ、ルーレットの回転を表現します。 動作原理 ボタンを押すと、LEDリングで回転アニメーションが始まります。停止先のLEDはrandom(0, 24)で選びます。現在のコードでは乱数生成器にシードを設定していません。LEDの切り替え速度は、実際のルーレットの

4.5(28)
49
Arduinoで作る音の合図付き反応時間テスト
#97中級
プレミアム

Arduinoで作る音の合図付き反応時間テスト

Arduino反応時間テスト装置 視覚と聴覚の刺激に対する反応速度をミリ秒(ms)単位の精度で測定するデジタルテスト装置です。Arduinoコントローラー、3段階の状態を知らせるLED、音で知らせるブザー、結果をリアルタイムで表示するI2C LCDディスプレイで構成されています。 動作原理 テストが始まると、赤と黄のLEDが順番に点灯して準備を促します。ランダムに決められた時間が経過すると、緑のLEDが

4.6(33)
50
Arduino LCDランナーゲーム
#98中級
プレミアム

Arduino LCDランナーゲーム

16x2文字のLCDディスプレイで動作する横スクロール型のエンドレスランナーゲームです。キャラクターは自動で走り、ボタンを押すとジャンプして障害物を飛び越えます。障害物は上段と下段にランダムに現れます。パッシブブザーで開始時のメロディー、ジャンプ音、50点獲得を祝う音、ゲーム終了時のメロディーを鳴らします。起動時には「BlueGrays — Arduino Projects」の画面を表示します。スコアは画面右上でリアルタイムに更新されます。

4.7(31)
54
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サーボモーター(ポテンショメーター制御)
#118中級
プレミアム

ESP32サーボモーター(ポテンショメーター制御)

このプロジェクトでは、ポテンショメーターでSG90サーボモーターを制御します。ポテンショメーターから読み取ったアナログ値を0~180度の範囲に変換し、サーボの角度を調整します。ESP32Servoライブラリは、ESP32の出力に対応した適切なGPIOでサーボ信号を生成します。このプロジェクトではGPIO 18を使います。ロボットアームやカメラ用ジンバル、自動ドアの機構に使われる基本的な制御方法です。

4.3(29)
42
ESP32 I2C LCDディスプレイ(16x2)
#119中級
プレミアム

ESP32 I2C LCDディスプレイ(16x2)

このプロジェクトでは、16x2文字のLCDをI2CでESP32に接続して文字を表示します。I2Cならデータ用の2本のピン(SDAとSCL)だけで制御でき、従来のパラレル接続のように6本以上のピンを使わずに済みます。コードでは1行目に固定メッセージ、2行目に毎秒増えるカウンターを表示します。また、起動時にI2Cスキャナーを実行し、ディスプレイのアドレス(通常は0x27または0x3F)をシリアルモニタに表示します。

4.9(23)
40
ESP32とDS1307 RTCのデジタル時計(I2C + LCD)
#120中級
プレミアム

ESP32とDS1307 RTCのデジタル時計(I2C + LCD)

このプロジェクトでは、DS1307リアルタイムクロック(RTC)モジュールを使って16x2 I2C LCDに時刻と日付を表示します。DS1307は電池でバックアップされるRTCで、ESP32の電源を切っても時刻を保持します。両方のモジュールが同じI2Cバス(SDA/SCL)を共有するため、2本の信号線だけで複数の機器を制御する方法を学べます。I2C通信プロトコルやRTCモジュールの動作原理、LCDの表示データを随時更新する方法を実践的に学ぶプロジェクトです。

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

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

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

4.4(24)
38