美文网首页
arduino——串口控制RGB LED(笔记)

arduino——串口控制RGB LED(笔记)

作者: 猛犸象和剑齿虎 | 来源:发表于2020-03-01 17:45 被阅读0次

    实验目标

    串口调光的全彩LED灯,通过串口数据使LED显示各种不同的颜色。

    材料

    UNO板,面包板,1个共阳极的RGB LED,3个220欧电阻。

    线路图

    image.png

    方法解析

    使用9,10,11三个带有PWM输出功能的引脚分别调节RGB三种颜色发光。
    arduino接收到的只是一个字符串,需要做的工作是将该字符串的英文部分和数字部分分离开,用英文部分选择控制PWM调光引脚,用数字部分来指定PWM的数值。

    代码

    
    int i;                 //保存PWM需要输入的值
    String inString = "";  //输入的字符串
    char LED ="";         //用于判断指定LED颜色对应的引脚
    boolean stringComplete = false; //用于判断数据读取是否完成
    
     void setup()
     {
      Serial.begin(9600);
      }
    void loop()
    {
      if (stringComplete)
      {
        if(LED == 'A')
        {
          analogWrite(9,i);
        }
        else if (LED == 'B')
        {
          analogWrite(10,i);
          }
        else if (LED == 'C')
        {
          analogWrite(11,i);
          }
       //清空数据,为下次读取做准备
    
       stringComplete =false;
       inString= "";
       LED=""; 
      }  
    }
    
    
    //使用串口事件
    //读取并分离字母和数字
    void serialEvent()
    {
      while(Serial.available())
      {
        //读取新的字符
        char inChar = Serial.read();
        //如果是英文则存到变量LED中,如果是中文则存到inString中
        if(isDigit(inChar))
        {
          inString+=inChar;
          }
        else if(inChar == '\n')
        {
          stringComplete = true;
          i= inString.toInt();
          }
         else LED=inChar;
        }
      }
    

    实物图

    由于在串口输入数据,录制有点晃

    相关文章

      网友评论

          本文标题:arduino——串口控制RGB LED(笔记)

          本文链接:https://www.haomeiwen.com/subject/qfyqkhtx.html