虽然我不玩,但是能共享资源,还为大家解答疑问,这个必须支持,赞一个 |
ico_叶子 发表于 2020-4-26 19:42 是的,串口通信只需要收发电地。如果使用攀藤的休眠功能,可以接个set引接。 |
楼主,我也买了个这个传感器,请问您的作品中达特传感器只接了VCC,GND,TX,Rx吗?期待回复 |
楼主大大,可以再发一下整个文件吗? |
xmfjfhcel 发表于 2020-3-10 17:03 估计是到期了。。。没主动操作过。 |
f516411213 发表于 2019-12-16 13:07 2个传感器直接接在串口助手下看下数据,记得有一个是需要先发数据把它改成被动模式。 可以考虑在程序中上电时执行一次把主动转被动。 |
kxcuser 发表于 2020-3-13 11:45 是十六进制到十进制转换的过程。不过这个公式是否正确,我现在再来看,有些糊涂了。。。 传感器的数据格式可以看官方提供的手册。 |
本帖最后由 kxcuser 于 2020-3-17 16:17 编辑 请教一下这句能详细讲解下吗zong=((d[2]>>4)*16+(d[2]&0x0f))*256+d[3];这是把16进制转换成十进制吗,还有传感器计算公式吗 |
不明白为什么楼主要取消云盘分享? 怕别人学习到了?理解你,但个人觉得没有必要,既然分享出来就大家看你的程序,对各自的学习进行提高,不是每个人都要做出这个玩意,说实话网上这也就一两百块的事。好点的也是300块左右。 为什么我们的技术在国际上这么落后? 你既然学到,我相信也是学习了很多别人分享的东西,逛这个论坛的,我相信学生是很大部分,希望他们多学习,多进步,为国家的发展做真正的贡献,逛这个论坛的我相信一定比那些所谓的看啥演唱会,追星的师兄要值得肯定,至少说明他们有上进的心。 个人所言。不喜请忽略。 |
学习下,多谢分享 |
你好, 按照您的 做出来啦。PM2.5的都能显示但是甲醛的不显示数据 不知道怎么回事 |
攀縢pm7003和达特WZ-S.差不多都是70+ rmb/个。 |
我也在做一个甲醛和PM2.5的测试仪,和你用的传感器一模一样。 |
请问楼主有没有元器件清单啊 |
感谢楼主,准备弄个,可惜小白,不会 |
学习中 |
这个创意很好,围观中。 |
楼主,如果方便,麻烦你发下Proteus 的仿真DSN文件呗,谢谢 |
楼主我想请教你,怎么加你呢 |
GodWorks 发表于 2019-1-25 15:06 没用到的,可以干掉。应该是做别功能的时候用到的,警告可以忽略。 |
omer 发表于 2019-1-25 09:16 Void main() { u8 x; } 这一段出现警告,说x未被引用。 |
omer 发表于 2019-1-25 09:19 好的那我在认真看多几遍程序,真的太感谢了 ![]() |
51hei团团 发表于 2019-1-25 02:47 没有夏普传感器,同时不明确型号,没法作出比较。家里有某讯的M1,颗粒物传感器一个厂家,数值几乎一致; |
GodWorks 发表于 2019-1-25 08:18 IIC的12864,除了电地外2路数据,2个传感器的链接就是stc15w408as的2组串口引脚,没多复杂,程序内部有对应的引脚定义,读下程序就能找到了。有不懂得可以提问。 |
主程序pm数值的显示有几个错误,修正一下错误;调整HCHO对其左侧0位置,请替换下。 void pm25_R() { if((a[0]==0x42)&&(a[1]==0x4d)) { if(a[3]==0x1c) { pm10i=((a[10]>>4)*16+(a[10]&0x0f))*256+a[11]; countnum(pm10i); if(b[3]==0) dxzm(32,48,2); else dxzm(b[3]+0x30,48,2); if((b[2]==0)&&(b[3]==0)) dxzm(32,56,2); else dxzm(b[2]+0x30,56,2); if((b[1]==0)&&(b[2]==0)&&(b[3]==0)) dxzm(32,64,2); else dxzm(b[1]+0x30,64,2); dxzm(b[0]+0x30,72,2); dxzm('u',80,2); dxzm('g',88,2); dxzm('/',96,2); dxzm('m',104,2); location(112,2); dis_num86('3'); pm25i=((a[12]>>4)*16+(a[12]&0x0f))*256+a[13]; countnum(pm25i); if(b[3]==0) dxzm(32,48,4); else dxzm(b[3]+0x30,48,4); if((b[2]==0)&&(b[3]==0)) dxzm(32,56,4); else dxzm(b[2]+0x30,56,4); if((b[1]==0)&&(b[2]==0)&&(b[3]==0)) dxzm(32,64,4); else dxzm(b[1]+0x30,64,4); dxzm(b[0]+0x30,72,4); dxzm('u',80,4); dxzm('g',88,4); dxzm('/',96,4); dxzm('m',104,4); location(112,4); dis_num86('3'); pm100i=((a[14]>>4)*16+(a[14]&0x0f))*256+a[15]; countnum(pm100i); if(b[3]==0) dxzm(32,48,6); else dxzm(b[3]+0x30,48,6); if((b[2]==0)&&(b[3]==0)) dxzm(32,56,6); else dxzm(b[2]+0x30,56,6); if((b[1]==0)&&(b[2]==0)&&(b[3]==0)) dxzm(32,64,6); else dxzm(b[1]+0x30,64,6); dxzm(b[0]+0x30,72,6); dxzm('u',80,6); dxzm('g',88,6); dxzm('/',96,6); dxzm('m',104,6); location(112,6); dis_num86('3'); } }else { stat=1; n=0; m=0; } } void dis_init() { dxzm('H',0,0); dxzm('C',8,0); dxzm('H',16,0); dxzm('O',24,0); dxzm(':',32,0); dxzm('P',0,2); dxzm('M',8,2); dxzm('1',16,2); dxzm('.',24,2); dxzm('0',32,2); dxzm(':',40,2); dxzm('P',0,4); dxzm('M',8,4); dxzm('2',16,4); dxzm('.',24,4); dxzm('5',32,4); dxzm(':',40,4); dxzm('P',0,6); dxzm('M',8,6); dxzm('1',16,6); dxzm('0',24,6); dxzm('.',32,6); dxzm(':',40,6); } |
可否提供一下电器原理图呢? |
omer 发表于 2019-1-18 13:35 感谢楼主的无私奉献,楼主万岁万岁万万岁。 |
和夏普的传感器想必哪个更好呢? |
跑了几天发现颗粒物的数值会有超出正常很高的情况(数据解析出错),修改了主程序,避免无校验导致的程序跑死。跑几天看看。贴出主程序。
|
本帖最后由 omer 于 2019-1-25 09:27 编辑 链接:https://pan.baidu.com/s/18WKYwQf4Pm848L8Imv1ZVQ 提取码:7pbn 增加简单校验,防止程序解析跑死,对齐HCHO使显示一致,修改显示的几个小错误。重传全部代码如下: 链接:https://pan.baidu.com/s/1PEFm2YTODLFywM6pLOD11g 提取码:qi8z |