Blink Interactive Tutorial
Introduction
This is the interactive blink tutorial using Wokwi. For this tutorial, you don’t need the ESP32 board or the Arduino toolchain.
Note
If you don’t want to use this tutorial with the simulation, you can copy and paste the Example Code from Wokwi editor and use it on the Arduino IDE.
About this Tutorial
This tutorial is the most basic for any get started. In this tutorial, we will show how to set a GPIO pin as an output to drive a LED to blink each 1 second.
Step by step
In order to make this simple blink tutorial, you’ll need to do the following steps.
Define the GPIO for the LED.
#define LED 2
This #define LED 2
will be used to set the GPIO2 as the LED
output pin.
Setup.
Inside the setup()
function, we need to add all things we want to run once during the startup.
Here we’ll add the pinMode
function to set the pin as output.
void setup() {
pinMode(LED, OUTPUT);
}
The first argument is the GPIO number, already defined and the second is the mode, here defined as an output.
Main Loop.
After the setup
, the code runs the loop
function infinitely. Here we will handle the GPIO in order to get the LED blinking.
void loop() {
digitalWrite(LED, HIGH);
delay(100);
digitalWrite(LED, LOW);
delay(100);
}
The first function is the digitalWrite()
with two arguments:
GPIO: Set the GPIO pin. Here defined by our
LED
connected to the GPIO2.State: Set the GPIO state as HIGH (ON) or LOW (OFF).
This first digitalWrite
we will set the LED ON.
After the digitalWrite
, we will set a delay
function in order to wait for some time, defined in milliseconds.
Now we can set the GPIO to LOW
to turn the LED off and delay
for more few milliseconds to get the LED blinking.
Run the code.
To run this code, you’ll need a development board and the Arduino toolchain installed on your computer. If you don’t have both, you can use the simulator to test and edit the code.
Simulation
This simulator is provided by Wokwi and you can test the blink code and play with some modifications to learn more about this example.
Change the parameters, like the delay period, to test the code right on your browser. You can add more LEDs, change the GPIO, and more.
Example Code
Here is the full blink code.
#define LED 2
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
delay(100);
digitalWrite(LED, LOW);
delay(100);
}
Resources
ESP32 Datasheet (Datasheet)
Wokwi (Wokwi Website)