第1步:組裝零件!
需要:
Arduino Uno
Arduino Grove Base Shield
Grove LCD RGB背光
Grove光線傳感器
Grove溫度傳感器
Grove Loudness傳感器
Grove多通道氣體傳感器
Grove按鈕
用于所有Grove傳感器和輸出的連接器(6)
Arduino USB電纜
用于arduino的USB電源組/電池組
步驟2:堆疊起來!
堆疊步驟3:插入模擬傳感器!
使用Grove將光傳感器連接到A0的連接器,
溫度傳感器連接到A1
響度傳感器,連接到A2
步驟4:插入在I2C設(shè)備中!
使用Grove連接器將多通道氣體傳感器,
和LCD RGB背光燈插入I2C插座。
注意:順序并不重要,因為I2C通過設(shè)置地址而不是分配給特定地點進(jìn)行通信。我的氣體傳感器插入了最左側(cè),顯示屏插入了右側(cè)。
步驟5:插入按鈕!
按鈕在D8處進(jìn)入,再次使用Grove導(dǎo)線連接
步驟6:下載庫
這些庫位于以下鏈接中,請查看圖片以了解在何處下載這些庫的.zip文件
https://github.com/Seeed-Studio/Grove_LCD_RGB_Back 。..
https://github.com/Seeed-Studio/Mutichannel_Gas_Se 。..
第7步:將庫添加到Arduino IDE
進(jìn)入Sketch-》 Include Library-》 Add .ZIP Library,然后添加您剛剛下載的兩個庫
步驟8:添加Arduino代碼
/*
用于環(huán)境傳感器的代碼,該代碼從環(huán)境中獲取空氣質(zhì)量,光,溫度和噪聲數(shù)據(jù)以在LCD屏幕上顯示*/
#include #include“ MutichannelGasSensor.h” #include“ rgb_lcd.h” rgb_lcd lcd;
const int buttonPin = 8; int buttonPushCounter = 0; int buttonState = 0; int lastButtonState = 0;
void setup(){lcd.begin(16,2);//設(shè)置LCD的列數(shù)和行數(shù)Serial.begin(9600);//為輸出lcd.println(“ power on!”)開始串行l(wèi)cd.noAutoscroll(); mutichannelGasSensor.begin(0x04);//從站的默認(rèn)I2C地址是0x04//mutichannelGasSensor.changeI2cAddr(0x04); mutichannelGasSensor.doCalibrate(); pinMode(buttonPin,INPUT); }
void loop(){float c;浮動d;浮動e; int f;浮點g;詮釋浮動r;浮動浮法; mutichannelGasSensor.powerOn();
buttonState = digitalRead(buttonPin);//將buttonState與以前的狀態(tài)進(jìn)行比較if(buttonState!= lastButtonState){if(buttonState == HIGH){buttonPushCounter ++; }//稍加延遲以避免彈跳//delay(50); }
如果(buttonPushCounter == 0){c = mutichannelGasSensor.measure_NH3(); lcd.setRGB(155221255); lcd.print( “NH 3”); if(c》 = 0)lcd.print(c);否則lcd.print(“ invalid”); lcd.print(“ ppm”);}
如果(buttonPushCounter == 1){d = mutichannelGasSensor.measure_CO(); lcd.setRGB(196216226); lcd.print( “CO”); if(d》 = 0)lcd.print(d);否則lcd.print(“ invalid”); lcd.print(“ ppm”);}
如果(buttonPushCounter == 2){e = mutichannelGasSensor.measure_NO2(); lcd.setRGB(204255255); lcd.print( “NO 2:”); if(e》 = 0)lcd.print(e);否則lcd.print(“ invalid”); lcd.print(“ ppm”);}
如果(buttonPushCounter == 3){f = AnalogRead(0); lcd.setRGB(182,134,44); lcd.print( “輕”); if(f》 = 0)lcd.print(f);否則lcd.print(“ invalid”); lcd.print(“ units”);}
如果(buttonPushCounter == 4){g = AnalogRead(1); r =(浮子)(1023-g)* 10000/g;//電阻計算t = 1/(log(r/10000)/3975+1/298.15)-273.15;//以攝氏度為單位的溫度fah = t * 9/5 + 32; lcd.setRGB(255102255); lcd.print( “溫度:”); lcd.print(FAH); lcd.print(“ * F”);}
如果(buttonPushCounter == 5){g = AnalogRead(1); r =(浮子)(1023-g)* 10000/g;//電阻計算t = 1/(log(r/10000)/3975+1/298.15)-273.15;//以攝氏度為單位的溫度lcd.setRGB(255,153,255); lcd.print( “溫度:”); lcd.print(T); lcd.print(“ * C”);}
如果(buttonPushCounter == 6){h = AnalogRead(2); lcd.setRGB(8,30,63); lcd.print( “噪聲:”); if(h》 = 0)lcd.print(h);否則lcd.print(“ invalid”); lcd.print(“ units”);}
如果(buttonPushCounter == 7){buttonPushCounter = 0; lcd.setRGB(255,255,255); } delay(250); lcd.clear(); }
第9步:上傳您的代碼!
將Arduino插入計算機(jī)
確保您的工具下的端口選擇了正確的Arduino
在Arduino IDE中打開Environmental_sensor.ino文件
將代碼上傳到Arduino
步驟10:使用開發(fā)板!
從計算機(jī)上拔下開發(fā)板
插入USB進(jìn)入USB電源或使用Arduino電池組為您的項目供電
單擊按鈕以瀏覽傳感器:NH3濃度,CO濃度,NO2濃度,光照水平,華氏溫度,攝氏溫度和噪音水平
將任何問題直接發(fā)送到ericltongfb@gmail.com!
第11步:使其變?yōu)椴屎纾浚。?/p>
在代碼中l(wèi)cd.setRGB(r,g,b);設(shè)置每個傳感器讀數(shù)屏幕的背光顏色。
紅色:lcd.setRGB(255,0,0);
橙色:(255,127, 0)
黃色:(255,255,0)
綠色:(0,255,0)
藍(lán)色:(0,0,255)
靛藍(lán):(75,0,130)
紫羅蘭:(143,0,255)
-
監(jiān)測儀
+關(guān)注
關(guān)注
3文章
600瀏覽量
22661
發(fā)布評論請先 登錄
相關(guān)推薦
評論