Benvenuto alla tua prima simulazione Velxio! In questo tutorial, faremo lampeggiare il LED blu integrato su un ESP32 DevKit (GPIO2) e un LED rosso esterno collegato a GPIO4. Questo è l‘“Hello World” dei microcontrollori — un progetto semplice che verifica che la tua emulazione ESP32 funzioni correttamente.
Panoramica del circuito
Diamo un’occhiata al circuito. L’ESP32 DevKit è il cervello del nostro progetto. Ha un LED blu integrato già collegato a GPIO2, quindi non dobbiamo cablare quello. Per il LED esterno, aggiungiamo un componente LED rosso dal selettore di componenti.

Ecco come è cablato il LED esterno:
- GPIO4 (pin 4 sull’ESP32) è collegato all’anodo (A) del LED rosso tramite un filo rosso (
#e74c3c). - Il catodo (C) del LED rosso è collegato a GND sull’ESP32 tramite un filo scuro (
#2c3e50).
Questo è tutto! Solo due fili per il LED esterno. Il LED integrato è già sulla scheda.
Per aggiungere componenti e fili, usa la barra degli strumenti dell’editor Velxio e la barra degli strumenti della tela:


Per sfogliare e posizionare parti come il LED rosso, apri il selettore di componenti:

Panoramica del codice
Ora esaminiamo il codice. Apri l’editor di codice in Velxio — vedrai il seguente sketch 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);
}
Analizziamolo:
- Riga 5-6: Definiamo due costanti:
LED_BUILTIN_PINcome2(il pin del LED integrato) eLED_EXT_PINcome4(il pin del LED esterno). setup(): Avviamo la comunicazione seriale a 115200 baud, impostiamo entrambi i pin come output e stampiamo un messaggio di pronto.loop(): Accendiamo entrambi i LED (HIGH), stampiamo “LED ON”, aspettiamo 500 ms, spegniamo entrambi (LOW), stampiamo “LED OFF” e aspettiamo altri 500 ms. Questo crea un lampeggio continuo.
Concetti chiave
- Pin GPIO: I pin di Input/Output per scopi generali possono essere configurati come input o output. Qui li usiamo come output per pilotare i LED.
pinMode(): Configura un pin comeOUTPUToINPUT.digitalWrite(): Imposta un pin digitale aHIGH(3.3V sull’ESP32) oLOW(0V).delay(): Mette in pausa il programma per un dato numero di millisecondi. Questo è un ritardo bloccante — il microcontrollore non può fare nient’altro durante quel tempo.- LED integrato: Molte schede di sviluppo hanno un LED collegato a un GPIO specifico (spesso GPIO2 sull’ESP32). È un modo rapido per testare la tua scheda.
Insidie comuni e suggerimenti per il debug
- Numero pin sbagliato: Ricontrolla di usare il numero GPIO corretto. Il LED integrato è su GPIO2, non su GPIO1 o GPIO0.
- Polarità del LED: I LED hanno un anodo (gamba lunga, positivo) e un catodo (gamba corta, negativo). In Velxio, il componente LED rosso ha pin etichettati A (anodo) e C (catodo). Assicurati che l’anodo sia collegato al GPIO e il catodo a GND.
- Massa mancante: Sia l’ESP32 che il LED esterno devono condividere una massa comune. Il nostro filo collega il catodo del LED a GND.
- Monitor seriale: Usa il Monitor Seriale in Velxio per vedere i messaggi “LED ON” e “LED OFF”. Se non li vedi, controlla il baud rate (115200) e di aver aperto il monitor.
- Nessun lampeggio?: Verifica che la simulazione sia in esecuzione (clicca il pulsante Esegui nella barra degli strumenti). Controlla anche che il codice venga compilato senza errori.
Estensioni suggerite
Una volta che il lampeggio di base funziona, prova queste modifiche:
- Cambia la velocità di lampeggio: Modifica i valori di
delay()per far lampeggiare i LED più velocemente o più lentamente. - Lampeggia solo un LED: Commenta una delle chiamate
digitalWriteper far lampeggiare solo il LED integrato o solo quello esterno. - Aggiungi un terzo LED: Posiziona un altro LED su GPIO5 e collegalo. Aggiorna il codice per far lampeggiare tutti e tre in sequenza.
- Usa PWM per lo sbiadimento: Invece di
digitalWrite, usaanalogWrite()per sbiadire la luminosità del LED (ESP32 supporta PWM sulla maggior parte dei pin). - Aggiungi un pulsante: Collega un pulsante a un pin di input e fai accendere il LED solo quando il pulsante è premuto.
Provalo tu stesso!
Pronto a lampeggiare? Apri l’esempio live in Velxio e avvia la simulazione. Vedrai entrambi i LED lampeggiare in sincronia. Sperimenta con il codice e il circuito — è il modo migliore per imparare.
Apri l’esempio ESP32 Blink LED su Velxio
Buon lampeggio!