QT上制作串口监视器使用GY-30(esp8266)

  GY-30光强传感器(是一款基于IIC通信的16bit的数字型传感器),这里我们介绍它在连接ESP8266,使用QT制作的上位机上的数据监测及显示。

GY30介绍

在这里插入图片描述

1.引脚

5根引脚,名称与功能如下;
vcc 为外接供电电源输入端
GND 地线
SCL I2C通信模式时钟信号
SDA I2C通信模式数据信号
ADDR I2C地址引脚

2.光强测量范围

测量范围是最大100000勒克斯

3.通讯方式(I2C)

采用I2C的接口方式 ,i2c通讯方式:SCL --> 时钟线、SDI --> 数据线

4.优点

光强数字转换器,16位分辩率(1~65535)
直接数字输出,省略复杂的计算,省略标定
不区分环境光源,接近于视觉灵敏度的分光特性
极高的可靠性
性价比极高

QT部分介绍

串口监视器

[超详细QT串口收发绘图软件实现]((https://blog.csdn.net/happyjoey217/article/details/115007711?spm=1001.2014.3001.5502))
首先我们要独立根据此步骤,实现自己的串口监视器制作。
**博主学习源代码:**链接:https://pan.baidu.com/s/1RQ1ghKAZeJ9iSWoF63rlHw?pwd=v7hc
提取码:v7hc
–来自百度网盘超级会员V2的分享
UI部分展示,(当然这个是最简版本,大家可以使用QT样式表QSS进行调整美观
B站QSS教学视频精品

ESP8266与GY30接线

ESP没有硬件TWI(双线接口),但它是用软件实现的。这意味着你可以使用任意两个数字引脚。默认情况下,I²C库使用管脚4作为SDA,管脚5作为SCL。最大速度约为450kHz。
ESP8266D1 MINI 引脚

接线部分
| GY30 | ESP8266 |
|-VCC-|-3.3V-|
| GND | GND |
|SCL| D1 |
|-SDA-|-D2-|
这里我们用到的是ESP8266D1 MINI
使用Arduino 对程序进行烧录

#include <Wire.h>
 
#define ADDR 0b0100011    // 0x23
String str; 
int i=1;
void setup() {
  Serial.begin(9600);   //设置波特率
  
  while (!Serial) {;}
  
  Wire.begin();
  Wire.beginTransmission(ADDR);
  Wire.write(0b00000001);
  Wire.endTransmission();
}
void loop() {
  int val = 0;    //初始化光照值
 
  Wire.beginTransmission(ADDR);
  Wire.write(0b00000111);
  Wire.endTransmission();
 
  Wire.beginTransmission(ADDR);
  Wire.write(0b00100000);
  Wire.endTransmission();
  delay(120);
  /*计算光照*/
  Wire.requestFrom(ADDR, 2);      //每次2byte
  for (val = 0; Wire.available() >= 1; ) {
    char c = Wire.read();
    val = (val << 8) + (c & 0xFF);
  }
  val = val / 1.2;
  /*输出光照数值*/
  str="sample: "+String(i)+" "+String(val);
  //Serial.print("当前光照值: ");
  Serial.println(str);
  i++;
  delay(100);
}
  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值