#include <WiFi.h>
#include "AdafruitIO_WiFi.h"
#define LED_PIN 13
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASS ""
#define IO_USERNAME "E4_M24"
#define IO_KEY "aio_oxHv28dZyn6jXwwy5VlzA0vam6dX"
AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
AdafruitIO_Feed * WokwiTest = io.feed("WokwiTest");
int dutyCycle = 0;
void setup()
{
pinMode(LED_PIN, OUTPUT);
Serial.begin(115200);
while(!Serial);
Serial.println("Connecting to Adafruit IO");
io.connect();
WokwiTest->onMessage(handleMessage);
while(io.status() < AIO_CONNECTED)
{
delay(1000);
Serial.println(".");
}
Serial.println();
Serial.println(io.statusText());
WokwiTest->get();
}
void loop()
{
io.run();
}
void handleMessage(AdafruitIO_Data * data)
{
Serial.print("received <-");
if(data ->toPinLevel() == HIGH)
{
Serial.println("HIGH");
Serial.println(dutyCycle += 50);
}
else
{
Serial.println("LOW");
Serial.println(dutyCycle -= 50);
}
digitalWrite(LED_PIN, data ->toPinLevel());
dutyCycle = constrain(dutyCycle, 0, 100);
}