(一),创建调色盘组件与存储变量
#define RGB_1 "RGBKey" //组件密钥
BlinkerRGB RGB1(RGB_1);
int red;
int green;
int blue;
int bright; //亮度
(二),调色盘回调函数
void rgb1_callback(uint8_t r_value, uint8_t g_value, uint8_t b_value, uint8_t bright_value)
{
red = map(r_value,0,255,0,1023); //r_value,g_value,b_value 的值为0~255,而AO口模拟输出(0~1023),所以需要map函数映射
green = map(g_value,0,255,0,1023);
blue = map(b_value,0,255,0,1023);
bright = map(bright_value,0,255,0,1023); //bright_value一样
}
(三),初始化
void setup() {
// 初始化串口
Serial.begin(115200);
// 初始化有LED的IO
RGB_GPIO_Init();
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
// 初始化blinker
Blinker.begin(auth, ssid, pswd);//连接热点,接入点灯科技
pinMode(2, OUTPUT); //D4,RGB灯共阴
pinMode(14, OUTPUT); //D5
pinMode(12, OUTPUT); //D6
RGB1.attach(rgb1_callback);
}
(四),循环打印与控制
void loop() {
Blinker.run();
analogWrite(2,(red * bright)/1023); //控制红灯亮度
analogWrite(14,(green * bright)/1023); //控制绿灯亮度
analogWrite(12,(blue * bright)/1023); //控制蓝灯亮度
Serial.print("Red:");
Serial.println(red);
Serial.print("Green:");
Serial.println(green);
Serial.print("Blue:");
Serial.println(blue);
delay(200);
}