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

ESP32とIR受信機によるリモコン操作(LCDディスプレイ付き)
このプロジェクトでは、TSOP4838 IR受信モジュールを使い、テレビやエアコンなどの赤外線リモコンが送る信号をESP32で受信します。IRremote v4ライブラリでデコードした0以外の生コードを、I2C LCDディスプレイに表示します。このサンプルはリモコンのコードを調べるためのもので、リモコンによるLEDの点灯・消灯や明るさの調整は含みません。古いリモコンをスマートホームの操作に活用するための出発点になります。

ESP32 TM1637 4桁7セグメントディスプレイ
TM1637ドライバーを搭載した4桁7セグメントディスプレイモジュールをESP32で制御します。2本のGPIOピン(CLKとDIO)だけで0~9999のカウンターを動かし、明るさを調整し、中央のコロン(`:`)を時計のように表示します。TM1637Displayライブラリを使えば、数値、16進数、セグメント、文字列を簡単に扱えます。

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

ESP32の動体検知アラーム
ESP32とPIRセンサーを使い、動きを検知するとブザーで警報を鳴らすプロジェクトです。シンプルで低コストなセキュリティシステムを作れます。 (画像はイメージです。文章の説明に従って接続してください。)

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

Arduinoミニレーダー(サーボモーター+HC-SR04+OLEDディスプレイ)
距離センサーとサーボモーターで、映画のようなレーダーを作ります!**SG90サーボモーター**が**HC-SR04**を0度から180度まで動かして走査し、**0.96インチOLED**に回転する走査線と、検出した物体を示す点を描きます。範囲内に物体が入ると**パッシブブザー**が短く鳴り、物体が近づくほど音が高くなります。サーボモーターの制御、超音波による測定、三角関数を使った描画、`tone()`による音の出力を1つのプロジェクトで学べます。

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

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

ESP32ロボットの目(OLEDディスプレイ+TTP223タッチセンサー)
感情を表現する卓上ロボットを作ります!**ESP32**が**0.96インチOLED**に2つの目を描き、自動で周りを見たり、まばたきしたりします。**TTP223タッチセンサー**に触れると喜び、長く触れると目がハートになり、何度も続けて触れると怒り、20秒間何もしないと眠ります。**パッシブブザー**がそれぞれの気分に合った音を鳴らします。状態マシン、図形によるアニメーション、他の処理を止めない音の出力を1つのプロジェクトで学べます。

Raspberry Pi Picoのミニ気象観測装置(DHT22+OLEDグラフ)
この2分間で部屋の温度はどう変わったでしょうか?**Raspberry Pi Pico**が**DHT22**で温度と湿度を2秒ごとに測定し、**0.96インチOLED**に大きな数字で表示します。その下には直近60回の測定値の**折れ線グラフ**を表示します。矢印が変化の傾向を示し、温度と湿度の画面は4秒ごとに切り替わります。OLEDドライバーはコードに組み込まれているため、ライブラリのインストールは不要で、1つのファイルだけで動きます。

Raspberry Pi Picoの記憶ゲーム(LED4個+ボタン4個+ブザー)
何ラウンドまで覚えられるでしょうか?定番の色と音の記憶ゲームを**Raspberry Pi Pico**で机の上に再現します。Picoがランダムな順番で色を示し、それぞれの**LED**を固有の音とともに点灯させます。**4個のボタン**で同じ順番を繰り返してください。ラウンドごとに色が1つ追加されます。間違えると**ブザー**がゲームオーバーのメロディーを鳴らし、正しい色が点滅します。リスト、乱数、ボタン入力の読み取りを1つのゲームで学べます。

Raspberry Pi Picoの暗証番号ロック(4x4キーパッド+I2C LCD+サーボ)
4桁の暗証番号で扉を開け、3回間違えると30秒間待機します!**Raspberry Pi Pico**が**4x4キーパッド**で入力された暗証番号を確認し、正しければ**SG90サーボ**で解錠して、5秒後に自動で施錠します。**I2C LCD**には伏せ字のアスタリスク、残りの試行回数、カウントダウンを表示し、キーを押すたびに**ブザー**が鳴ります。初期暗証番号は`1234`です。`A`キーで変更でき、新しい暗証番号は`pin.txt`に保存されます。
