![]() |
發布時間: 2019-1-18 11:18
正文摘要:12864顯示; adc采集bandgap電壓顯示; 使用100K NTC測溫顯示; 家里的新房交付,自帶簡單裝修,添置了些家具草草入住,同時考慮室外空氣質量也比較差勁,更換了凈化器的濾芯、添 ... |
雖然我不玩,但是能共享資源,還為大家解答疑問,這個必須支持,贊一個 |
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 |