#include <WiFi.h>
#include <Firebase.h>
// WiFi details
#define SSID "Wokwi-GUEST"
#define PASSWORD ""
#define REFERENCE_URL "https://led-with-app-default-rtdb.firebaseio.com" // Your Firebase project reference url
Firebase firebase(REFERENCE_URL);
int previousState = -1;
// Use GPIO 4–9 in Wokwi
#define LED_PIN1 1
#define LED_PIN2 2
#define LED_PIN3 3
#define LED_PIN4 4
#define LED_PIN5 5
#define LED_PIN6 6
void setup() {
Serial.begin(9600);
pinMode(LED_PIN1, OUTPUT);
pinMode(LED_PIN2, OUTPUT);
pinMode(LED_PIN3, OUTPUT);
pinMode(LED_PIN4, OUTPUT);
pinMode(LED_PIN5, OUTPUT);
pinMode(LED_PIN6, OUTPUT);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(1000);
// Connect to WiFi
Serial.println();
Serial.println();
Serial.print("Connecting to: ");
Serial.println(SSID);
//WiFi.begin(SSID, PASSWORD);
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print("-");
}
Serial.println("");
Serial.println("WiFi Connected");
// Print the IP address
Serial.print("IP Address: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}
void loop() {
int ledstate = firebase.getInt("Response/input");
if (ledstate != previousState) {
previousState = ledstate;
Serial.print("Received Int:");
Serial.println(ledstate);
// Reset all
digitalWrite(LED_PIN1, LOW);
digitalWrite(LED_PIN2, LOW);
digitalWrite(LED_PIN3, LOW);
digitalWrite(LED_PIN4, LOW);
digitalWrite(LED_PIN5, LOW);
digitalWrite(LED_PIN6, LOW);
// Set desired pin HIGH
switch (ledstate) {
case 0: digitalWrite(LED_PIN6, HIGH); break;
case 1: digitalWrite(LED_PIN1, HIGH); break;
case 2: digitalWrite(LED_PIN2, HIGH); break;
case 3: digitalWrite(LED_PIN3, HIGH); break;
case 4: digitalWrite(LED_PIN4, HIGH); break;
case 5: digitalWrite(LED_PIN5, HIGH); break;
default: break;
}
}
}