Qt RGB三色灯上位机

今天突发奇想做一个Qt RGB三色灯上位机,刚好手上有一个RGB三色灯和arduion开发板。

我是想实现一个颜色选择器界面然后鼠标点击颜色区域就可以发出rgb的值,然后把这个值通过串口线发送给arduion,arduion再解析出数据发送给RGB三色灯。

实现界面如下:

电路如下:

arduion程序如下:

c 复制代码
/*运行环境:Arduino 1.8.19*/

#define GREEN 9
#define BLUE 10
#define RED 11
#define delayTime 100
int redValue;
int greenValue;
int blueValue;

void setup(){
  Serial.begin(9600);
  pinMode(RED, OUTPUT);
  pinMode(GREEN, OUTPUT);
  pinMode(BLUE, OUTPUT);
  digitalWrite(RED, HIGH);
  digitalWrite(GREEN, LOW);
  digitalWrite(BLUE, LOW);
}

void loop(){   
  if(Serial.available() >= 9) {
    char buffer[10];
    Serial.readBytes(buffer, 9);

    redValue = (buffer[0] - '0') * 100 + (buffer[1] - '0') * 10 + (buffer[2] - '0');
    greenValue = (buffer[3] - '0') * 100 + (buffer[4] - '0') * 10 + (buffer[5] - '0');
    blueValue = (buffer[6] - '0') * 100 + (buffer[7] - '0') * 10 + (buffer[8] - '0');

    analogWrite(RED, redValue);
    analogWrite(GREEN, greenValue);
    analogWrite(BLUE, blueValue);
  }
}

这样通过上位机就可以随意控制灯的颜色了,可以买个灯罩,再画一个PCB加充电电源或者电池,一个自己控制色彩的床头灯就完成了。

相关推荐
sinat_602035361 小时前
模块与包的导入
运维·服务器·开发语言·python
恋雨QAQ1 小时前
python函数和面向对象
开发语言·python
天雪浪子1 小时前
Python入门教程之逻辑运算符
开发语言·python
落羽的落羽1 小时前
【C++】特别的程序错误处理方式——异常机制
开发语言·c++
通达的K2 小时前
Java实战项目演示代码及流的使用
java·开发语言·windows
牵牛老人2 小时前
Qt C++ 复杂界面处理:巧用覆盖层突破复杂界面处理难题之一
数据库·c++·qt
云:鸢2 小时前
C语言链表设计及应用
c语言·开发语言·数据结构·链表
离越词3 小时前
C++day8作业
开发语言·c++·windows
℃CCCC3 小时前
请求库-axios
开发语言·华为·网络请求·harmonyos·deveco studio·axios请求·arkts编程