// Code generated by Arduino IoT Cloud
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <ArduinoIoTCloud.h>
#include <Arduino_ConnectionHandler.h>
void onRgbChange();
CloudColor rgb;
Adafruit_SSD1306 display(128, 64, &Wire, -1);
const char DEVICE_LOGIN_NAME[] = "31e65e3b-5bbf-484b-ac8b-d3e780a0588e";
const char SSID[] = "Wokwi-GUEST";
const char PASS[] = "";
const char DEVICE_KEY[] = "8QTTzueFX7zN7bef89xlkjtuJ";
char rgb_hex[24];
float hu = 0;
float sa = 0;
float br = 0;
byte R = 0;
byte G = 0;
byte B = 0;
void initProperties() {
ArduinoCloud.setBoardId(DEVICE_LOGIN_NAME);
ArduinoCloud.setSecretDeviceKey(DEVICE_KEY);
ArduinoCloud.addProperty(rgb, READWRITE, ON_CHANGE, onRgbChange);
}
WiFiConnectionHandler ArduinoIoTPreferredConnection(SSID, PASS);
void setup() {
Serial.begin(9600);
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
for (;;);
}
delay(1500);
initProperties();
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
ledcSetup(0, 5000, 8);
ledcSetup(1, 5000, 8);
ledcSetup(2, 5000, 8);
ledcAttachPin(5, 0);
ledcAttachPin(19, 1);
ledcAttachPin(18, 2);
}
void loop() {
ArduinoCloud.update();
}
void onRgbChange() {
hu = rgb.getValue().hue;
sa = rgb.getValue().sat;
br = rgb.getValue().bri;
Color currentColor = Color(hu, sa, br);
currentColor.getRGB(R, G, B);
snprintf(rgb_hex, sizeof(rgb_hex), "#%02X%02X%02X", R, G, B);
Serial.print("Hue = ");
Serial.print(hu);
Serial.print(", Sat = ");
Serial.print(sa);
Serial.print(", Bri = ");
Serial.println(br);
Serial.print("R = ");
Serial.print(R);
Serial.print(", G = ");
Serial.print(G);
Serial.print(", B = ");
Serial.print(B);
Serial.print(", RGB = ");
Serial.println(rgb_hex);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.print("Hue : ");
display.println(hu);
display.print("Sat : ");
display.println(sa);
display.print("Bri : ");
display.println(br);
display.print("Red : ");
display.println(R);
display.print("Grn : ");
display.println(G);
display.print("Blu : ");
display.println(B);
display.print("RGB : ");
display.println(rgb_hex);
display.display();
ledcWrite(0, R);
ledcWrite(1, G);
ledcWrite(2, B);
}
Loading
ssd1306
ssd1306