#include <WiFi.h>
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASSWORD ""
int LED_Pin[] = {25,33,32,23,22,21,19,18,5,4,2,15,13,12,14};
int LED_Count = 12; // Number of LEDs
int LED_Delay = 100; // Delay between turning on LEDs (in milliseconds)
void InitWiFi() {
Serial.print("Connecting to WiFi network: ");
Serial.println(WIFI_SSID);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
// Blink LEDs while connecting to WiFi
for (int i = 0; i < LED_Count; i++) {
digitalWrite(LED_Pin[i], HIGH);
delay(100);
digitalWrite(LED_Pin[i], LOW);
}
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
// Blink LEDs while connecting to WiFi
for (int i = 0; i < LED_Count; i++) {
digitalWrite(LED_Pin[i], HIGH);
delay(100);
digitalWrite(LED_Pin[i], LOW);
}
}
Serial.println("");
Serial.println("Connected to WiFi network");
}
void setup() {
Serial.begin(115200);
for (int i = 0; i < LED_Count; i++) {
pinMode(LED_Pin[i], OUTPUT);
}
InitWiFi();
}
void loop() {
// Check WiFi connection status
if (WiFi.status() != WL_CONNECTED) {
InitWiFi();
}
else {
Serial.print("Connected to WiFi network: ");
Serial.println(WIFI_SSID);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// Turn on LEDs one by one
for (int i = 0; i < LED_Count; i++) {
digitalWrite(LED_Pin[i], HIGH);
delay(LED_Delay);
}
// Turn off LEDs one by one
for (int i = LED_Count - 1; i >= 0; i--) {
digitalWrite(LED_Pin[i], LOW);
delay(LED_Delay);
}
}
}