wenbo2005.online

学习记录 / ESP8266(MODE)点灯科技

RGB 组件

ESP8266(MODE)点灯科技2024-10-03

(一),创建调色盘组件与存储变量

#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);
}