? ? ? ?利用 MQ-138模塊檢測(cè)有機(jī)氣體
然后利用 SSD1306定義的屏幕0.96來(lái)顯示甲醛狀態(tài)(第一版利用Nokia5110)?
再加上一個(gè) DHT11進(jìn)行溫濕度的檢測(cè)(第一版沒(méi)有加入)
弄個(gè)觸摸鍵盤(pán)進(jìn)行溫濕度信息和甲醛檢測(cè)信息的切換(第一版未加入鍵盤(pán))
加上 RTC 模塊顯示時(shí)間.(未加入)
然后用線性穩(wěn)壓 LDO 進(jìn)行降壓和穩(wěn)壓(使用 MP2359的芯片降壓)
最后核心用 arduino 的328p 做核心,簡(jiǎn)易顯示了模擬量,具體數(shù)值需要找公式計(jì)算.
核心板自己畫(huà)一個(gè),不做拼接了,不然做出來(lái)體積好大,目標(biāo)體積是兩節(jié)18650電池的大小. (已經(jīng)完成)
電池盒要留出空間(已經(jīng)完成)
利用3D打印機(jī)設(shè)計(jì)外殼, 如果有條件弄個(gè)激光打印機(jī)打一個(gè)貼紙.
步驟1:
先去搜一下各種傳感器的 datasheet,了解一下特性,然后就有了下面這些 datasheet.
新的社區(qū)不知道哪里上傳文件,所以只好給你們看看名字,自己搜索啦..
原理圖看完了就準(zhǔn)備畫(huà)圖了...中間遇到很多問(wèn)題, 首先是,我的蘋(píng)果電腦上無(wú)法安裝 AD, 跑虛擬機(jī)又覺(jué)得 windows 不習(xí)慣...
所以就安裝了 eagle 這個(gè)開(kāi)源的軟件,其實(shí)還挺輕量級(jí)的,就是里面的封裝和庫(kù)都太老了... 很多都是直插...搞得我很多東西都要自己畫(huà)封裝...
中間省去各種折騰...終于原理圖畫(huà)好了!
原理圖:?
其實(shí)很簡(jiǎn)單的.你們應(yīng)該一眼就看懂了.哈哈,沒(méi)錯(cuò)~我就是用的 Atmel 的328p 的拆機(jī)芯片...
接著是 layout:
比較丑, 各位高手, 大神手下留情,不要吐槽的太狠,這是第一版, 請(qǐng)別讓我沒(méi)有開(kāi)發(fā)第二版的勇氣...
我這個(gè)全開(kāi)源哦,大家有興趣都可以試著做做看..
然后各種焊接...慢工出細(xì)活兒...
話說(shuō)這次打板花了我快一周的時(shí)間才拿到....之前元器件漲價(jià)比較兇..特別是電容..電阻...
還有一些瑕疵需要繼續(xù)改進(jìn)改進(jìn)啊..
然后就是焊接....原則是,先焊小的,再焊大的,最后焊接直插件....哈哈
焊接完一定要用萬(wàn)用表測(cè)試一下是否短路, 一定, 一定, 一定要測(cè)試后再上電.
不然有可能遇到蘑菇云, 猛一點(diǎn)兒的直接一上午的工作白做了...
我使用 USB-ASP 直接下載到板子上的,沒(méi)有安裝 BootLoader, 因?yàn)闆](méi)有引出串口.?
焊接了兩個(gè),但是只有一個(gè) Nokia5110, 回家再找找,也準(zhǔn)備去網(wǎng)上淘一下,估計(jì)價(jià)格低的出奇.?
你你如果想更小巧還可以試試 oled 的屏幕,那個(gè)看上去更高大上一些,當(dāng)然了, 如果用 oled 成本也上去了.看個(gè)人的喜好了!
背面一個(gè)18650的大電池盒..
屏幕上去了,除了顏色有點(diǎn)兒不搭,其他的感覺(jué)還是很不錯(cuò)的..
再來(lái)點(diǎn)兒別的地方的諜照,背面看看效果,這個(gè) mq138的傳感器像不像測(cè)試酒駕的啊?
側(cè)面也來(lái)個(gè)特寫(xiě)
頂部的特寫(xiě),位置剛剛好,簡(jiǎn)單粗暴,還不帶套~
兩節(jié)之前筆記本電腦的電芯, 拆出來(lái)就是18650, 平時(shí)做樹(shù)莓派小車的供電電源,今天來(lái)給我捧個(gè)電場(chǎng)...
開(kāi)機(jī)后,需要穩(wěn)定大概10秒的樣子,然后讀數(shù)就比較穩(wěn)定了, 這個(gè)數(shù)值是我直接讀取到的模擬值, 并不是甲醛的具體含量, 我查資料說(shuō) mq138品種好多..不知道這個(gè)模塊是什么品種的, 我淘寶上淘來(lái)的,估計(jì)當(dāng)時(shí)花了沒(méi)幾塊錢(qián)...這個(gè)應(yīng)該是最便宜的那種...
代碼也非常簡(jiǎn)單:
/***************************************************************************
Created by: 騎驢玩兒漂移
License: GPL? No, 全開(kāi)源! 隨便你怎么折騰!
電路圖和 bom 表回頭放在 github 上(稍安勿躁)
***************************************************************************/
#include
#include
LCD5110 myGLCD(3, 4, 5, 6, 7);
extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];
extern uint8_t BigNumbers[];
float? mq138 = A0;
void setup(void)
{
pinMode(mq138, INPUT);
myGLCD.InitLCD();
}
void loop(void)
{
int a = 70;
myGLCD.clrScr();
myGLCD.setFont(SmallFont);
myGLCD.setContrast(a);
myGLCD.print("YOYOJACKY TECH", 0, 0);
myGLCD.print("Formaldehyde" , 0, 8);
myGLCD.print("CH2O Concent:", 0, 16);
float data = analogRead(A0);
if (data < 300.0)
{
myGLCD.printNumF(data, 2, 0, 24);
delay(200);
}
else {
myGLCD.print("Warning!!!", 12, 32);
delay(200);
}
}
評(píng)論