Bienvenue dans votre première simulation Velxio ! Dans ce tutoriel, nous allons faire clignoter la LED bleue intégrée d’un ESP32 DevKit (GPIO2) et une LED rouge externe connectée à GPIO4. C’est le « Hello World » des microcontrôleurs — un projet simple qui vérifie que votre émulation ESP32 fonctionne correctement.
Présentation du circuit
Regardons le circuit. L’ESP32 DevKit est le cerveau de notre projet. Il possède une LED bleue intégrée déjà connectée à GPIO2, nous n’avons donc pas besoin de la câbler. Pour la LED externe, nous ajoutons un composant de LED rouge depuis le sélecteur de composants.

Voici comment la LED externe est câblée :
- GPIO4 (broche 4 de l’ESP32) est connecté à l’anode (A) de la LED rouge via un fil rouge (
#e74c3c). - La cathode (C) de la LED rouge est connectée à GND sur l’ESP32 via un fil foncé (
#2c3e50).
C’est tout ! Seulement deux fils pour la LED externe. La LED intégrée est déjà sur la carte.
Pour ajouter des composants et des fils, utilisez la barre d’outils de l’éditeur Velxio et la barre d’outils du canevas :


Pour parcourir et placer des pièces comme la LED rouge, ouvrez le sélecteur de composants :

Présentation du code
Examinons maintenant le code. Ouvrez l’éditeur de code dans Velxio — vous verrez le sketch Arduino suivant :
// 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);
}
Détaillons-le :
- Lignes 5-6 : Nous définissons deux constantes :
LED_BUILTIN_PINà2(la broche de la LED intégrée) etLED_EXT_PINà4(la broche de la LED externe). setup(): Nous démarrons la communication série à 115200 bauds, configurons les deux broches en sortie et affichons un message de prêt.loop(): Nous allumons les deux LED (HIGH), affichons « LED ON », attendons 500 ms, éteignons les deux (LOW), affichons « LED OFF », et attendons encore 500 ms. Cela crée un clignotement continu.
Concepts clés
- Broches GPIO : Les broches d’entrée/sortie à usage général peuvent être configurées comme entrées ou sorties. Ici, nous les utilisons comme sorties pour piloter des LED.
pinMode(): Configure une broche enOUTPUTouINPUT.digitalWrite(): Définit une broche numérique àHIGH(3,3 V sur ESP32) ouLOW(0 V).delay(): Met le programme en pause pendant un nombre donné de millisecondes. C’est un délai bloquant — le microcontrôleur ne peut rien faire d’autre pendant ce temps.- LED intégrée : De nombreuses cartes de développement ont une LED connectée à un GPIO spécifique (souvent GPIO2 sur ESP32). C’est un moyen rapide de tester votre carte.
Pièges courants et conseils de débogage
- Mauvais numéro de broche : Vérifiez que vous utilisez le bon numéro GPIO. La LED intégrée est sur GPIO2, pas GPIO1 ou GPIO0.
- Polarité de la LED : Les LED ont une anode (longue patte, positive) et une cathode (courte patte, négative). Dans Velxio, le composant de LED rouge a des broches étiquetées A (anode) et C (cathode). Assurez-vous que l’anode est connectée au GPIO et la cathode à GND.
- Masse manquante : L’ESP32 et la LED externe doivent partager une masse commune. Notre fil connecte la cathode de la LED à GND.
- Moniteur série : Utilisez le moniteur série dans Velxio pour voir les messages « LED ON » et « LED OFF ». Si vous ne les voyez pas, vérifiez le débit en bauds (115200) et que vous avez ouvert le moniteur.
- Pas de clignotement ? : Vérifiez que la simulation est en cours d’exécution (cliquez sur le bouton Exécuter dans la barre d’outils). Vérifiez également que le code se compile sans erreurs.
Extensions suggérées
Une fois que le clignotement de base fonctionne, essayez ces modifications :
- Modifier la vitesse de clignotement : Modifiez les valeurs de
delay()pour faire clignoter les LED plus rapidement ou plus lentement. - Faire clignoter une seule LED : Commentez l’un des appels
digitalWritepour ne faire clignoter que la LED intégrée ou que la LED externe. - Ajouter une troisième LED : Placez une autre LED sur GPIO5 et câblez-la. Mettez à jour le code pour faire clignoter les trois en séquence.
- Utiliser la PWM pour un fondu : Au lieu de
digitalWrite, utilisezanalogWrite()pour atténuer la luminosité de la LED (l’ESP32 supporte la PWM sur la plupart des broches). - Ajouter un bouton : Connectez un bouton poussoir à une broche d’entrée et faites en sorte que la LED ne s’allume que lorsque le bouton est enfoncé.
Essayez par vous-même !
Prêt à faire clignoter ? Ouvrez l’exemple en direct dans Velxio et démarrez la simulation. Vous verrez les deux LED clignoter en synchronisation. Expérimentez avec le code et le circuit — c’est la meilleure façon d’apprendre.
Ouvrir l’exemple ESP32 Blink LED sur Velxio
Bon clignotement !