#include <WiFi.h>
#define WIFI_SSID      "Wokwi-GUEST"
#define WIFI_PASSWORD  ""

int status = WL_IDLE_STATUS ;
int LED_Pin []={25,33,32,23,22,21,19,18,5,4,2,15};
int x=0;
int i=0;

void InitWiFi()
{
  Serial.println("Connecting to AP...");

  WiFi.begin (WIFI_SSID,WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED){
    Serial.print(".");
    digitalWrite(LED_Pin[x], HIGH);
    delay(500);
    digitalWrite(LED_Pin[x], LOW);
    x++;
    if (x == 12)
    {
      x=0;
    }
  }
  Serial.println("");
  Serial.println("Connected to AP");
}
void reconnect() {
  status = WiFi.status();
  if (status != WL_CONNECTED){
    WiFi.begin (WIFI_SSID, WIFI_PASSWORD);
    while (WiFi.status() != WL_CONNECTED) {
      Serial.print(".");
      digitalWrite(LED_Pin[x], HIGH);
      delay (500);
      digitalWrite(LED_Pin[x], LOW);
      x++;
    }
    Serial.println("");
    Serial.println("Connected to AP");
  }
}

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  Serial.println();
  for (i=0; i <= 12; i++)
  {
    pinMode(LED_Pin[i], OUTPUT);
  }
  InitWiFi();
}

void loop() {
  // put your main code here, to run repeatedly:
  delay(1000); // this speeds up the simulation
  if (WiFi.status() != WL_CONNECTED) {
    reconnect();
  }
  else {
   Serial.print("WiFi sudah terkoneksi dengan:"); 
   Serial.println(WIFI_SSID);
   Serial.print("IP:");
   Serial.println(WiFi.localIP());
   for (i=0; i < 13; i++)
   {
     digitalWrite(LED_Pin[i], HIGH);
   }
  }
}
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
led4:A
led4:C
led5:A
led5:C
led6:A
led6:C
led7:A
led7:C
led8:A
led8:C
led9:A
led9:C
led10:A
led10:C
led11:A
led11:C
led12:A
led12:C