ዝርዝር ሁኔታ:
- ደረጃ 1: BME280 አሰሳ
- ደረጃ 2 የሃርድዌር መስፈርቶች ዝርዝር
- ደረጃ 3: በይነገጽ
- ደረጃ 4 የሙቀት ፣ የግፊት እና የእርጥበት መቆጣጠሪያ ኮድ
- ደረጃ 5: ማመልከቻዎች
- ደረጃ 6: የቪዲዮ አጋዥ ስልጠና
ቪዲዮ: BME280 እና Photon Interfacing ን በመጠቀም እርጥበት ፣ ግፊት እና የሙቀት ስሌት።
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:29
የሙቀት ፣ የግፊት እና የእርጥበት ክትትል የሚጠይቁ የተለያዩ ፕሮጀክቶችን እናገኛለን። ስለዚህ እነዚህ መለኪያዎች በተለያዩ የከባቢ አየር ሁኔታዎች ውስጥ የአንድን ሥርዓት የሥራ ብቃት ግምት ለመገመት ወሳኝ ሚና እንደሚጫወቱ እንገነዘባለን። ለስርዓቱ በቂ አፈፃፀም ሁለቱም በኢንዱስትሪ ደረጃም ሆነ በግል ስርዓቶች ጥሩ የሙቀት መጠን ፣ እርጥበት እና የባሮሜትሪክ ግፊት ደረጃ አስፈላጊ ናቸው።
በዚህ ዳሳሽ ላይ የተሟላ መማሪያ የምንሰጠው ለዚህ ነው ፣ በዚህ መማሪያ ውስጥ የ BME280 እርጥበት ፣ የግፊት እና የሙቀት ዳሳሽ ሥራን ከትንሽ ፎቶን ጋር እናብራራለን።
ደረጃ 1: BME280 አሰሳ
የኤሌክትሮኒክስ ዘርፍ ከ BME280 ዳሳሽ ፣ ከአካባቢያዊ ዳሳሽ ከአየር ሙቀት ፣ ከባሮሜትሪክ ግፊት እና እርጥበት ጋር ጨዋታቸውን አጠናክሯል! ይህ አነፍናፊ ለሁሉም ዓይነት የአየር ሁኔታ/አካባቢያዊ ግንዛቤ በጣም ጥሩ ነው እና በ I2C ውስጥ እንኳን ሊያገለግል ይችላል።
ይህ ትክክለኝነት ዳሳሽ BME280 እርጥበትን በ ± 3% ትክክለኛነት ፣ የባሮሜትሪክ ግፊት በ ± 1 hPa ፍጹም ትክክለኛነት ፣ እና የሙቀት መጠን ከ ° 1.0 ° ሴ ትክክለኛነት ጋር ለመለካት በጣም ጥሩ የስሜት መፍትሄ ነው። ግፊት በከፍታ ስለሚቀየር ፣ እና የግፊት መለኪያዎች በጣም ጥሩ ስለሆኑ ፣ እንዲሁም እንደ t 1 ሜትር ወይም የተሻለ ትክክለኛነት እንደ አልቲሜትር ሊጠቀሙበት ይችላሉ! የግፊት ዳሳሽ እና እንዲሁም የአካባቢውን የሙቀት መጠን ለመገመት ሊያገለግል ይችላል። ከ BME280 ጋር መለኪያዎች በተጠቃሚው ሊከናወኑ ወይም በመደበኛ ክፍተቶች ሊከናወኑ ይችላሉ።
የውሂብ ሉህ - የ BME280 ዳሳሽ የውሂብ ሉህ ለማየት ወይም ለማውረድ ጠቅ ያድርጉ።
ደረጃ 2 የሃርድዌር መስፈርቶች ዝርዝር
ለመጠቀም ቀላል ስለሆኑ ሙሉ በሙሉ የ Dcube መደብር ክፍሎችን ተጠቀምን ፣ እና በሴንቲሜትር ፍርግርግ ላይ በጥሩ ሁኔታ ስለሚገጣጠም አንድ ነገር በእርግጥ እንድንሄድ ያደርገናል። የፈለጉትን መጠቀም ይችላሉ ፣ ግን የሽቦው ዲያግራም እነዚህን ክፍሎች እየተጠቀሙ እንደሆነ ያስባል።
- BME280 ዳሳሽ I²C ሚኒ ሞዱል
- I²C Shield ለ Particle Photon
- ቅንጣት ፎቶን
- I²C ገመድ
- የኃይል አስማሚ
ደረጃ 3: በይነገጽ
በይነተገናኝ ክፍሉ በመሠረቱ በአነፍናፊው እና በንጥል ፎቶን መካከል የሚፈለጉትን የሽቦ ግንኙነቶች ያብራራል። ለተፈለገው ውጤት በማንኛውም ስርዓት ላይ ሲሰሩ ትክክለኛ ግንኙነቶችን ማረጋገጥ መሠረታዊ አስፈላጊነት ነው። ስለዚህ አስፈላጊዎቹ ግንኙነቶች እንደሚከተለው ናቸው
BME280 ከ I2C በላይ ይሠራል። እያንዳንዱን የአነፍናፊ በይነገጽ እንዴት ሽቦ ማገናኘት እንደሚቻል የሚያሳይ የምስል ሽቦ ንድፍ ምሳሌ እዚህ አለ። ከሳጥን ውጭ ፣ ቦርዱ ለ I2C በይነገጽ የተዋቀረ ነው ፣ ስለሆነም እርስዎ ሌላ የማይታወቁ ከሆኑ ይህንን በይነገጽ እንዲጠቀሙ እንመክራለን። የሚያስፈልግዎት አራት ሽቦዎች ብቻ ናቸው! Vcc ፣ Gnd ፣ SCL እና SDA ፒኖች የሚያስፈልጉት አራት ግንኙነቶች ብቻ ናቸው እና እነዚህ በ I2C ገመድ እገዛ ተገናኝተዋል። እነዚህ ግንኙነቶች ከላይ ባሉት ሥዕሎች ውስጥ ይታያሉ።
ደረጃ 4 የሙቀት ፣ የግፊት እና የእርጥበት መቆጣጠሪያ ኮድ
ይህንን ለማስኬድ የምንጠቀምበት የኮዱ ንፁህ ስሪት እዚህ ይገኛል።
ከ Arduino ጋር የአነፍናፊ ሞጁሉን እየተጠቀምን ሳለ እኛ application.h እና spark_wiring_i2c.h ቤተ -መጽሐፍትን አካተናል። "application.h" እና spark_wiring_i2c.h ቤተ -መጽሐፍት በአነፍናፊው እና በንጥሉ መካከል ያለውን የ i2c ግንኙነት የሚያመቻቹ ተግባሮችን ይ containsል።
ለመሣሪያ ክትትል ድረ -ገጹን ለመክፈት እዚህ ጠቅ ያድርጉ
ኮዱን ወደ ሰሌዳዎ ይስቀሉ እና መስራት መጀመር አለበት! በስዕሉ ላይ እንደሚታየው ሁሉም መረጃዎች በድረ -ገጹ ላይ ሊገኙ ይችላሉ።
ኮድ ከዚህ በታች ቀርቧል
// በነፃ ፈቃድ ፈቃድ ተሰራጭቷል። // ከተጓዳኝ ሥራዎቹ ፈቃዶች ጋር የሚስማማ ከሆነ በፈለጉት መንገድ ፣ ትርፍም ሆነ ነፃ ይጠቀሙበት። // BME280 // ይህ ኮድ ከ ControlEverything.com ከሚገኘው BME280_I2CS I2C ሚኒ ሞዱል ጋር ለመስራት የተነደፈ ነው። #ያካትቱ #ያካትቱ // BME280 I2C አድራሻ 0x76 (108) #ዲፊን Addr 0x76 ድርብ cTemp = 0 ፣ fTemp = 0 ፣ ግፊት = 0 ፣ እርጥበት = 0; ባዶነት ማዋቀር () {// ተለዋዋጭ ተለዋዋጭ Particle.variable ("i2cdevice" ፣ "BME280"); ጽሑፍ። ተለዋዋጭ (“cTemp” ፣ cTemp); ቅንጣት። ተለዋዋጭ (“fTemp” ፣ fTemp); ቅንጣት። ተለዋዋጭ (“ግፊት” ፣ ግፊት); Particle.variable (“እርጥበት” ፣ እርጥበት); // የ I2C ግንኙነትን እንደ MASTER Wire.begin () ያስጀምሩ። // የመጀመርያ ደረጃ ተከታታይ ግንኙነት ፣ የባውድ መጠን = 9600 Serial.begin (9600) ያዘጋጁ ፤ መዘግየት (300); } ባዶነት loop () {ያልተፈረመ int b1 [24]; ያልተፈረመ int ውሂብ [8]; int dig_H1 = 0; ለ (int i = 0; i <24; i ++) {// ጀምር I2C ማስተላለፊያ Wire.beginTransmission (Addr); // የውሂብ መመዝገቢያ ይምረጡ Wire.write ((136+i)); // I2C ማስተላለፍ Wire.endTransmission () አቁም; // የውሂብ 1 ባይት ይጠይቁ Wire.requestFrom (Addr, 1); // 24 ባይት መረጃን ያንብቡ (Wire.available () == 1) {b1 = Wire.read (); }} // ውሂቡን ይለውጡ // temp coefficents int dig_T1 = (b1 [0] & 0xff) + ((b1 [1] & 0xff) * 256); int dig_T2 = b1 [2] + (b1 [3] * 256); int dig_T3 = b1 [4] + (b1 [5] * 256); // ግፊት coefficents int dig_P1 = (b1 [6] & 0xff) + ((b1 [7] & 0xff) * 256); int dig_P2 = b1 [8] + (b1 [9] * 256); int dig_P3 = b1 [10] + (b1 [11] * 256); int dig_P4 = b1 [12] + (b1 [13] * 256); int dig_P5 = b1 [14] + (b1 [15] * 256); int dig_P6 = b1 [16] + (b1 [17] * 256); int dig_P7 = b1 [18] + (b1 [19] * 256); int dig_P8 = b1 [20] + (b1 [21] * 256); int dig_P9 = b1 [22] + (b1 [23] * 256); ለ (int i = 0; i <7; i ++) {// ጀምር I2C ማስተላለፍ Wire.beginTransmission (Addr); // የውሂብ መመዝገቢያ ይምረጡ Wire.write ((225+i)); // I2C ማስተላለፍ Wire.endTransmission () አቁም; // የውሂብ 1 ባይት ይጠይቁ Wire.requestFrom (Addr, 1); // 7 ባይት መረጃን ያንብቡ (Wire.available () == 1) {b1 = Wire.read (); }} // ውሂቡን ይለውጡ // የእርጥበት መጠንን int dig_H2 = b1 [0] + (b1 [1] * 256); int dig_H3 = b1 [2] & 0xFF; int dig_H4 = (b1 [3] * 16) + (b1 [4] & 0xF); int dig_H5 = (b1 [4] / 16) + (b1 [5] * 16); int dig_H6 = b1 [6]; // I2C ማስተላለፊያ Wire.begin ማስተላለፍን (Addr); // የውሂብ መመዝገቢያ ይምረጡ Wire.write (161); // I2C ማስተላለፍ Wire.endTransmission () አቁም; // የውሂብ 1 ባይት ይጠይቁ Wire.requestFrom (Addr, 1); // 1 ባይት ውሂብ ያንብቡ (Wire.available () == 1) {dig_H1 = Wire.read (); } // I2C ማስተላለፊያ Wire.begin ማስተላለፍን (Addr) ይጀምሩ ፣ // የቁጥጥር እርጥበት መመዝገቢያ ይምረጡ Wire.write (0xF2); // ከናሙና ደረጃ በላይ እርጥበት = 1 Wire.write (0x01); // I2C ማስተላለፍ Wire.endTransmission () አቁም; // I2C ማስተላለፊያ Wire.begin ማስተላለፍን (Addr); // የቁጥጥር መለኪያ መመዝገቢያ ይምረጡ Wire.write (0xF4); // መደበኛ ሁነታ ፣ የሙቀት መጠን እና ግፊት በናሙና ደረጃ = 1 Wire.write (0x27); // I2C ማስተላለፍ Wire.endTransmission () አቁም; // I2C ማስተላለፊያ Wire.begin ማስተላለፍን (Addr); // የውቅረት መመዝገቢያ ይምረጡ Wire.write (0xF5); // የመጠባበቂያ ጊዜ = 1000ms Wire.write (0xA0); // I2C ማስተላለፍ Wire.endTransmission () አቁም; ለ (int i = 0; i <8; i ++) {// ጀምር I2C ማስተላለፍ Wire.beginTransmission (Addr); // የውሂብ መመዝገቢያ ይምረጡ Wire.write ((247+i)); // I2C ማስተላለፍ Wire.endTransmission () አቁም; // የውሂብ 1 ባይት ይጠይቁ Wire.requestFrom (Addr, 1); // የውሂብ 8 ባይት ያንብቡ (Wire.available () == 1) {data = Wire.read (); }} // የግፊት እና የሙቀት መጠን መረጃን ወደ 19-ቢት ርዝመት adc_p = (((ረጅም) (ውሂብ [0] & 0xFF) * 65536) + ((ረጅም) (ውሂብ [1] እና 0xFF) * 256) + () ረጅም) (ውሂብ [2] & 0xF0)) / 16; long adc_t = (((ረጅም) (ውሂብ [3] & 0xFF) * 65536) + ((ረጅም) (ውሂብ [4] & 0xFF) * 256) + (ረጅም) (ውሂብ [5] & 0xF0)) / 16; // የእርጥበት መረጃን ረጅም adc_h = ((ረጅም) (ውሂብ [6] & 0xFF) * 256 + (ረጅም) (ውሂብ [7] & 0xFF)); // የሙቀት ማካካሻ ስሌቶች ድርብ var1 = (((ድርብ) adc_t) / 16384.0 - ((ድርብ) dig_T1) / 1024.0) * ((ድርብ) dig_T2)); ድርብ var2 = ((((ድርብ) adc_t) / 131072.0 - ((ድርብ) dig_T1) / 8192.0) * (((ድርብ) adc_t) / 131072.0 - ((ድርብ) dig_T1) /8192.0)) * ((ድርብ) dig_T3); ድርብ t_fine = (ረጅም) (var1 + var2); ድርብ cTemp = (var1 + var2) / 5120.0; ድርብ fTemp = cTemp * 1.8 + 32; // የግፊት ማካካሻ ስሌቶች var1 = ((ድርብ) t_fine / 2.0) - 64000.0; var2 = var1 * var1 * ((ድርብ) dig_P6) / 32768.0; var2 = var2 + var1 * ((ድርብ) dig_P5) * 2.0; var2 = (var2 / 4.0) + (((ድርብ) dig_P4) * 65536.0); var1 = (((ድርብ) dig_P3) * var1 * var1 / 524288.0 + ((ድርብ) dig_P2) * var1) / 524288.0; var1 = (1.0 + var1 / 32768.0) * ((ድርብ) dig_P1); ድርብ p = 1048576.0 - (ድርብ) adc_p; p = (p - (var2 / 4096.0)) * 6250.0 / var1; var1 = ((ድርብ) dig_P9) * ገጽ * ገጽ / 2147483648.0; var2 = p * ((ድርብ) dig_P8) / 32768.0; ድርብ ግፊት = (p + (var1 + var2 + ((ድርብ) dig_P7)) / 16.0) / 100; // የእርጥበት ማካካሻ ስሌቶች ድርብ var_H = (((ድርብ) t_fine) - 76800.0); var_H = (adc_h - (dig_H4 * 64.0 + dig_H5 / 16384.0 * var_H)) * (dig_H2 / 65536.0 * (1.0 + dig_H6 / 67108864.0 * var_H * (1.0 + dig_H3 / 67108864.0 * var_H))); ድርብ እርጥበት = var_H * (1.0 - dig_H1 * var_H / 524288.0); ከሆነ (እርጥበት> 100.0) {እርጥበት = 100.0; } ሌላ ከሆነ (እርጥበት <0.0) {እርጥበት = 0.0; } // የውሂብ ውፅዓት ወደ ዳሽቦርድ Particle.publish (“የሙቀት መጠን በሴልሲየስ ውስጥ” ፣ ሕብረቁምፊ (cTemp)); Particle.publish ("በፋራናይት ሙቀት:", ሕብረቁምፊ (fTemp)); Particle.publish ("ግፊት:", ሕብረቁምፊ (ግፊት)); Particle.publish ("አንጻራዊ እርጥበት:", ሕብረቁምፊ (እርጥበት)); መዘግየት (1000); }
ደረጃ 5: ማመልከቻዎች
የ BME280 የሙቀት መጠን ፣ ግፊት እና አንጻራዊ የእርጥበት ዳሳሽ እንደ የሙቀት ቁጥጥር ፣ የኮምፒተር አከባቢ የሙቀት መከላከያ ፣ በኢንዱስትሪ ውስጥ የግፊት ቁጥጥርን የመሳሰሉ የተለያዩ የኢንዱስትሪ መተግበሪያዎች አሉት። እንዲሁም ይህንን አነፍናፊ በአየር ሁኔታ ጣቢያ አፕሊኬሽኖች እንዲሁም በግሪን ሃውስ ቁጥጥር ስርዓት ውስጥ ቀጥረናል።
ሌሎች መተግበሪያዎች የሚከተሉትን ሊያካትቱ ይችላሉ-
- የአውድ ግንዛቤ ፣ ለምሳሌ። የቆዳ መለየት ፣ የክፍል ለውጥ ማወቂያ።
- የአካል ብቃት ክትትል / ደህንነት - ደረቅነትን ወይም ከፍተኛ ሙቀትን በተመለከተ ማስጠንቀቂያ።
- የድምፅ እና የአየር ፍሰት መለካት።
- የቤት አውቶማቲክ ቁጥጥር።
- ማሞቂያ ፣ አየር ማናፈሻ ፣ የአየር ማቀዝቀዣ (ኤች.ቪ.ሲ.) ይቆጣጠሩ።
- የነገሮች በይነመረብ።
- የጂፒኤስ ማሻሻያ (ለምሳሌ-ለመጀመሪያ-ጊዜ ማስተካከያ ፣ የሞተ ሂሳብ ፣ ተዳፋት መለየት)።
- የቤት ውስጥ አሰሳ (የወለል ማወቂያ ለውጥ ፣ የአሳንሰር ማወቂያ)።
- ከቤት ውጭ አሰሳ ፣ መዝናኛ እና የስፖርት መተግበሪያዎች።
- የአየር ሁኔታ ትንበያ.
- አቀባዊ የፍጥነት አመላካች (መነሳት/የመታጠቢያ ፍጥነት)..
ደረጃ 6: የቪዲዮ አጋዥ ስልጠና
እርስ በእርስ ለመገናኘት እና ፕሮጀክቱን ለማጠናቀቅ ሁሉንም ደረጃዎች ለማለፍ የእኛን የቪዲዮ አጋዥ ስልጠና ይመልከቱ።
የሌሎች ዳሳሽ መስተጋብር እና የሥራ ብሎግን ይከታተሉ።
የሚመከር:
ግሪን ሃውስ ከሎራ ጋር በራስ -ሰር ማቀናበር! (ክፍል 1) -- ዳሳሾች (የሙቀት መጠን ፣ እርጥበት ፣ የአፈር እርጥበት) 5 ደረጃዎች
ግሪን ሃውስ ከሎራ ጋር በራስ -ሰር ማቀናበር! (ክፍል 1) || ዳሳሾች (የሙቀት መጠን ፣ እርጥበት ፣ የአፈር እርጥበት) - በዚህ ፕሮጀክት ውስጥ የግሪን ሃውስን እንዴት እንደሠራሁ አሳያችኋለሁ። ያ ማለት የግሪን ሃውስን እንዴት እንደሠራሁ እና የኃይል እና አውቶማቲክ ኤሌክትሮኒክስን እንዴት እንደገጣጠምኩ አሳያችኋለሁ። እንዲሁም ኤል ን የሚጠቀም የአርዱዲኖ ቦርድ እንዴት መርሃ ግብር እንደሚያዘጋጁ አሳያችኋለሁ
BMP280 -DHT11 ን በመጠቀም የአርዲኖ የአየር ሁኔታ ጣቢያ - የሙቀት መጠን ፣ እርጥበት እና ግፊት 8 ደረጃዎች
BMP280 -DHT11 ን በመጠቀም የአርዲኖ የአየር ሁኔታ ጣቢያ - የሙቀት መጠን ፣ እርጥበት እና ግፊት - በዚህ መማሪያ ውስጥ የአየር ሁኔታ ጣቢያ እንዴት እንደሚሠራ እንማራለን ቴሌቪዥኑ TFT 7735 ላይ የሙቀት ፣ የእርጥበት መጠን እና ግፊት ያሳያል።
የሂሳብ ስሌት የኳንተም መካኒኮች ስሌት 4 ደረጃዎች
የኮምፒዩተር የኳንተም መካኒኮች ስሌት - በኬሚስትሪ እና በፊዚክስ ውስጥ ያሉ የሂሳብ ስሌቶች በአንዳንድ ናሙናዎች ላይ በጣም የሚስቡ ንብረቶችን ሊገልጡ ይችላሉ (በተለይም ለተወሰነ ኦሪጅናል ውህደት የተሻለ ቅልጥፍና ከተደረጉ)። በሂደቱ ውስጥ ፣ ከ d ምክንያቶች በተጨማሪ
SHT25 እና Particle Photon ን በመጠቀም 5 የሙቀት ደረጃዎች እና እርጥበት ቁጥጥር 5 ደረጃዎች
SHT25 እና Particle Photon ን በመጠቀም የሙቀት እና እርጥበት ቁጥጥር - በቅርብ ጊዜ በተለያዩ ፕሮጀክቶች ላይ የሙቀት እና እርጥበት ቁጥጥርን በሚፈልጉት ላይ ሠርተናል ከዚያም እነዚህ ሁለት መለኪያዎች የአንድን ሥርዓት የሥራ ብቃት ግምት ግምት ውስጥ በማስገባት ወሳኝ ሚና እንደሚጫወቱ ተገነዘብን። ሁለቱም በኢንዱ
የሙቀት መጠን ፣ አንጻራዊ እርጥበት ፣ የከባቢ አየር ግፊት ምዝግብ ማስታወሻ ደብተር Raspberry Pi እና TE ግንኙነት MS8607-02BA01: 22 ደረጃዎች (ከስዕሎች ጋር)
የሙቀት መጠን ፣ አንጻራዊ እርጥበት ፣ የከባቢ አየር ግፊት ምዝግብ ማስታወሻ ደብተር Raspberry Pi እና TE ግንኙነትን MS8607-02BA01 በመጠቀም: መግቢያ: በዚህ ፕሮጀክት ውስጥ ለአየር ሙቀት እርጥበት እና ለከባቢ አየር ግፊት የምዝግብ ማስታወሻ ስርዓትን በደረጃ እንዴት እንደሚገነቡ አሳያችኋለሁ። ይህ ፕሮጀክት በ Raspberry Pi 3 ሞዴል ቢ እና TE ግንኙነት የአካባቢ ዳሳሽ ቺፕ MS8607-02BA ላይ የተመሠረተ ነው