Velxioシミュレーションへようこそ!このチュートリアルでは、ESP32 DevKitの内蔵青色LED(GPIO2)と、GPIO4に接続した外部赤色LEDを点滅させます。これはマイコンの「Hello World」とも言える、ESP32エミュレーションが正しく動作することを確認するためのシンプルなプロジェクトです。
回路の解説
回路を見てみましょう。ESP32 DevKitがプロジェクトの頭脳です。GPIO2にはすでに内蔵青色LEDが接続されているため、配線は不要です。外部LEDについては、コンポーネントピッカーから赤色LEDコンポーネントを追加します。

外部LEDの配線は次のとおりです。
- GPIO4(ESP32のピン4)は、赤色ワイヤー(
#e74c3c)で赤色LEDの**アノード(A)**に接続されています。 - 赤色LEDのカソード(C)は、暗色ワイヤー(
#2c3e50)でESP32のGNDに接続されています。
これだけです!外部LEDに必要なワイヤーは2本だけです。内蔵LEDはすでにボード上にあります。
コンポーネントやワイヤーを追加するには、Velxioエディターツールバーとキャンバスツールバーを使用します。


赤色LEDのような部品を参照して配置するには、コンポーネントピッカーを開きます。

コードの解説
次にコードを見てみましょう。Velxioでコードエディターを開くと、次のArduinoスケッチが表示されます。
// ESP32 Blink LED
// Blinks the built-in LED (GPIO2) and an external LED (GPIO4)
// Requires arduino-esp32 2.0.17 (IDF 4.4.x) — see docs/ESP32_EMULATION.md
#define LED_BUILTIN_PIN 2 // Built-in blue LED on ESP32 DevKit
#define LED_EXT_PIN 4 // External red LED
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN_PIN, OUTPUT);
pinMode(LED_EXT_PIN, OUTPUT);
Serial.println("ESP32 Blink ready!");
}
void loop() {
digitalWrite(LED_BUILTIN_PIN, HIGH);
digitalWrite(LED_EXT_PIN, HIGH);
Serial.println("LED ON");
delay(500);
digitalWrite(LED_BUILTIN_PIN, LOW);
digitalWrite(LED_EXT_PIN, LOW);
Serial.println("LED OFF");
delay(500);
}
詳しく見ていきましょう。
- 5-6行目:
LED_BUILTIN_PINを2(内蔵LEDピン)、LED_EXT_PINを4(外部LEDピン)として2つの定数を定義しています。 setup(): シリアル通信を115200ボーで開始し、両方のピンを出力に設定し、準備完了メッセージを出力します。loop(): 両方のLEDをオン(HIGH)にし、「LED ON」と出力し、500ミリ秒待機し、両方をオフ(LOW)にし、「LED OFF」と出力し、さらに500ミリ秒待機します。これにより、連続的な点滅が作成されます。
主要な概念
- GPIOピン: 汎用入出力ピンは、入力または出力として設定できます。ここでは出力として使用し、LEDを駆動します。
pinMode(): ピンをOUTPUTまたはINPUTとして設定します。digitalWrite(): デジタルピンをHIGH(ESP32では3.3V)またはLOW(0V)に設定します。delay(): 指定されたミリ秒数だけプログラムを一時停止します。これはブロッキング遅延であり、その間マイクロコントローラーは他の処理を行うことができません。- 内蔵LED: 多くの開発ボードには、特定のGPIO(ESP32では多くの場合GPIO2)に接続されたLEDがあります。ボードを簡単にテストする方法です。
よくある落とし穴とデバッグのヒント
- ピン番号の間違い: 正しいGPIO番号を使用しているか再確認してください。内蔵LEDはGPIO2にあり、GPIO1やGPIO0ではありません。
- LEDの極性: LEDにはアノード(長い足、プラス)とカソード(短い足、マイナス)があります。Velxioでは、赤色LEDコンポーネントのピンはA(アノード)とC(カソード)と表示されています。アノードがGPIOに、カソードがGNDに接続されていることを確認してください。
- グランドの欠落: ESP32と外部LEDは共通のグランドを共有する必要があります。ワイヤーはLEDのカソードをGNDに接続しています。
- シリアルモニター: Velxioのシリアルモニターを使用して、「LED ON」および「LED OFF」メッセージを確認してください。表示されない場合は、ボーレート(115200)とモニターが開かれていることを確認してください。
- 点滅しない場合: シミュレーションが実行されていることを確認してください(ツールバーの実行ボタンをクリック)。また、コードがエラーなくコンパイルされることも確認してください。
推奨される拡張
基本的な点滅が動作したら、次の変更を試してみてください。
- 点滅速度の変更:
delay()の値を変更して、LEDの点滅を速くしたり遅くしたりします。 - 1つのLEDのみ点滅:
digitalWriteの呼び出しの1つをコメントアウトして、内蔵LEDまたは外部LEDのみを点滅させます。 - 3つ目のLEDを追加: GPIO5に別のLEDを配置して配線します。コードを更新して、3つすべてを順番に点滅させます。
- PWMを使用してフェード:
digitalWriteの代わりにanalogWrite()を使用してLEDの明るさをフェードさせます(ESP32はほとんどのピンでPWMをサポートしています)。 - ボタンを追加: プッシュボタンを入力ピンに接続し、ボタンが押されているときだけLEDが点灯するようにします。
自分で試してみよう!
点滅の準備はできましたか?Velxioでライブサンプルを開き、シミュレーションを開始してください。両方のLEDが同期して点滅するのがわかります。コードと回路を自由に試してみてください。それが最も効果的な学習方法です。
VelxioでESP32 Blink LEDのサンプルを開く
ハッピーブリンキング!