ESP32使用Arduino环境驱动全彩RGB红绿蓝雾状共阳LED

  1. 安装ESP32 AnalogWrite库
  2. 代码
    /*
    全彩RGB红绿蓝雾状共阴/阳 四脚LED灯珠 
    接线
    Arduino Uno                  共阳三色雾状LED灯
    Pin 21          <---------->      红
    Pin 19          <---------->      绿
    Pin 22          <---------->      蓝
    3.3v            <---------->      正极 (共阳极 共阴极此处接GND)
    led引脚排列 (最长脚为 GND(共阴) 或 正极(共阳))
    红  阳极   绿   蓝
    
    analogWrite需要安装ESP32 AnalogWrite库
    
    */
    #include <Arduino.h>
    #include <analogWrite.h>
    #define led_red 21   
    #define led_green 19
    #define led_blue 22
     
     int i =1000;
     
    void setup() {
      pinMode(led_red,OUTPUT);  //设置引脚为输出模式
      pinMode(led_green,OUTPUT);
      pinMode(led_blue,OUTPUT);
      
      analogWrite(led_red,255);     //首先,先把所有的灯都关闭 共阳极
      analogWrite(led_green,255);   
      analogWrite(led_blue,255);
      delay(i);
    }
    //共阳极LED 所以值要用255减去RGB值 
    void loop() {
      //粉色的RGB为 255  192  203  共阳极LED 所以值要用255减去RGB值
      analogWrite(led_red,255-255);  
      analogWrite(led_green,255-192);   
      analogWrite(led_blue,255-203);
      delay(i);
      analogWrite(led_red,255-128); //棕色
      analogWrite(led_green,255-0);   
      analogWrite(led_blue,255-0);  
      delay(i);
      analogWrite(led_red,255-255);  //橙色
      analogWrite(led_green,255-145);   
      analogWrite(led_blue,255-0);
      delay(i);
      
      analogWrite(led_green,255);   //红色
      analogWrite(led_blue,255);
      analogWrite(led_red,0);   
      delay(i);
      analogWrite(led_red,255);     //蓝色
      analogWrite(led_green,255);   
      analogWrite(led_blue,0);   
      delay(i);
      analogWrite(led_red,255);     //绿色
      analogWrite(led_blue,255);
      analogWrite(led_green,0);   
      delay(i);
      analogWrite(led_red,0);     //黄色
      analogWrite(led_green,0);   
      analogWrite(led_blue,255);
      delay(i);
      analogWrite(led_red,255);     //青蓝色
      analogWrite(led_green,0);   
      analogWrite(led_blue,0);
      delay(i);
      analogWrite(led_red,0);     //紫色
      analogWrite(led_green,255);   
      analogWrite(led_blue,0);
      delay(i);
      analogWrite(led_red,0);     //白色
      analogWrite(led_green,0);   
      analogWrite(led_blue,0);
      delay(i);
      
      //颜色 渐变
      // for(int i=200;i>0;i--)      //渐亮
      // {
      //   analogWrite(led_red,i);     //慢慢开启红色和绿色会搭配出黄色
      //   analogWrite(led_green,i);  
      //   analogWrite(led_blue,255);  
      //   delay(20);
      // }  
      // delay(i);
      // for(int i=200;i>0;i--)      //渐亮
      // {
      //   analogWrite(led_red,i);     //慢慢开启红色和蓝色会搭配出紫色
      //   analogWrite(led_green,255);  
      //   analogWrite(led_blue,i);  
      //   delay(20);
      // }  
      // delay(i);
      // for(int i=200;i>0;i--)      //渐亮
      // {
      //   analogWrite(led_red,255);     //慢慢开启蓝色和绿色会搭配出青蓝色
      //   analogWrite(led_green,i);  
      //   analogWrite(led_blue,i);  
      //   delay(20);
      // }  
      // delay(i);
    }
    

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值