- Kinakailangan ang Mga Bahagi
- Module ng Sensor ng Pressure ng BMP280:
- Circuit diagram upang i-interface ang BMP280 sa Arduino:
- Program ng Arduino upang Mag-interface ng BMP280 kasama ang Arduino:
- Paggawa ng Arduino BMP280 Pressure Sensor Interfacing Project
Kung nais mong bumuo ng iyong sariling sistema ng pagsubaybay sa temperatura o upang masukat ang taas ng iyong drone o nais lamang na masukat ang presyon ng atmospera sa iyong lugar, kung gayon ang isa sa pinakamahusay na module na magagamit mo sa iyong proyekto ay ang module ng sensor ng BMP280 Pressure sensor. Ang BMP280 ay ganap na presyon at sensor ng pagsubaybay sa temperatura na kung saan ay ang na-upgrade na bersyon ng BMP085, BMP180, BMP183 sensor. Bakit ito tinatawag na isang na-upgrade na bersyon? Tatalakayin ito sa mga sumusunod na seksyon. Nagamit na namin ang mas matandang bersyon BMP180 kasama ang Arduino sa isa sa aming mga nakaraang tutorial.
Maaaring magamit ang module ng sensor ng BMP280 kasama ang mga microcontroller tulad ng Arduino, PIC, AVR, atbp. Para sa proyektong ito, gagamitin namin ang Arduino Uno kasama ang BMP280 kasama ang isang LCD 16x2 display module, upang ipakita ang mga halaga ng temperatura at presyon. Bago i-interfaced ang BMP280 sa Arduino, kailangan naming i-download ang BMP280 Arduino library, na binuo ng Adafruit. Mag-click sa link ng library ng Adafruit BMP280 upang buksan ang kani-kanilang pahina ng Github at idagdag ang header file sa iyong Arduino IDE.
Kinakailangan ang Mga Bahagi
- Arduino
- BMP280
- Mga Koneksyon sa Mga Wires
- Lupon ng Tinapay
- LCD- 16x2
Module ng Sensor ng Pressure ng BMP280:
Gumagana ang module ng sensor ng BMP280 na may minimum na boltahe (VDD) na 1.71V, samantalang ang nakaraang mga module ng sensor ng bersyon ay gumagana sa 1.8V (VDD). Pagdating sa kasalukuyang pagkonsumo ang BMP280 ay kumokonsumo ng 2.7uA, samantalang ang BMP180 ay gumagamit ng 12uA, at ang BMP183 at BMP085 ay kumakain ng 5uA bawat isa. Sinusuportahan din ng BMP280 ang mga bagong mode ng filter. Sinusuportahan ng module ng sensor ng BMP280 ang I2c, at SPI na mga protocol, samantalang ang natitirang sensor ay sumusuporta sa alinman sa I2c o SPI. Ang module ng sensor ng BMP280 ay may kawastuhan na ± 0.12 hPa, na katumbas ng ± 1 m na pagkakaiba sa altitude. Dahil sa mga pangunahing tampok na ito, kadalasang ginagamit ito sa iba't ibang mga application. Ang sensor ng BMP ay binubuo ng isang elemento ng pag-sensing ng Pressure, elemento ng sensong Pag-asa ng kahalumigmigan at elemento ng pag-sensing ng Temperatura na higit na konektado sa Pressure front-end, Humidity front-end, at temperatura sa harap. Ang mga front end IC na ito ay ang mga sensitibong analog amplifier na ginagamit sa pagpapalaki ng maliliit na signal. Ang output ng analog na front-end na IC na ito ay pinakain sa ADC bilang isang input signal. Sa ito ang mga halagang analog ay na-convert sa digital boltahe at ang boltahe na ito ay pinakain sa mga circuit ng lohika para sa karagdagang interface sa labas ng mundo.
Ang module ng sensor ng BMP280 ay binubuo ng tatlong power mode mode ng pagtulog, sapilitang mode, at Normal Mode. Sa mode ng pagtulog, walang mga pagsukat na isinasagawa at ang pagkonsumo ng kuryente ay nasa isang minimum. Sa sapilitang mode, isang solong pagsukat ang ginaganap ayon sa napiling mga pagpipilian sa pagsukat at pag-filter. Ang normal na mode ay tuloy-tuloy na pag-ikot sa pagitan ng pagsukat at panahon ng pag-standby, at ang tagal ng panahon ng mga pag-ikot ay matutukoy ng Tstandby. Ang kasalukuyang nasa standby mode ay medyo mas mataas kaysa sa mode ng pagtulog.
Circuit diagram upang i-interface ang BMP280 sa Arduino:
Ang circuit diagram upang ikonekta ang Arduino gamit ang sensor ng BMP280 at ang LCD ay ipinapakita sa ibaba. Kung ganap kang bago sa Arduino at LCD, pagkatapos ay maaari mong suriin ang Arduino LCD tutorial na ito upang maunawaan kung paano gamitin ang Arduino sa mga LCD display.
Ang mga VCC at GND na pin ng sensor ay konektado sa 3v3 at GND na pin ng Arduino. Ang mga SCL at SDA na pin ng sensor ay konektado sa A5 at A4 ng Arduino board. Ang mga koneksyon sa LCD ay ang mga sumusunod
Pangalan ng LCD Pin |
Arduino Pin |
VSS at RW |
GND |
Ang RS |
D9 |
E |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Program ng Arduino upang Mag-interface ng BMP280 kasama ang Arduino:
Ang kumpletong BMP280 Arduino code ay matatagpuan sa ilalim ng pahinang ito na maaaring ma-upload nang direkta sa iyong Arduino board. Ang paliwanag ng pareho ay ibinigay sa ibaba
Ang mga aklatan na ito ay kasama para sa pagpapagana ng mga espesyal na pagpapaandar. Ang # isama ang mga file ng header maaari naming direktang basahin ang mga halagang nagmumula sa sensor. Ang # isama
# isama
Lumilikha sa object BMP para sa Adafruit_BMP280. Ang isang file ng object ay nilikha upang ma-access ang mga espesyal na pag-andar.
Adafruit_BMP280 bmp; // I2C
Itinatakda ang mga pin ng Arduino upang makipag-usap sa LCD. Paglilipat ng data ng mga pin na ito.
LiquidCrystal LCD (9, 8, 5, 4, 3, 2);
Pinasimulan ang LCD at Serial Communication.
walang bisa ang pag-set up () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("BMP280 test")); lcd.print ("Maligayang Pagdating sa"); lcd.setCursor (0,1); lcd.print ("CIRCUIT DIGEST"); pagkaantala (1000); lcd.clear (); kung (! bmp.begin ()) {Serial.println (F ("Hindi makahanap ng wastong sensor ng BMP280, suriin ang mga kable!")); habang (1); }
Gumagana ang pagpapaandar na ito kapag nabigo ang pagsisimula ng bagay na bmp.
/ * Mga default na setting mula sa datasheet. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * Operating Mode. * / Adafruit_BMP280:: SAMPLING_X2, / * Temp. oversampling * / Adafruit_BMP280:: SAMPLING_X16, / * Pressure oversampling * / Adafruit_BMP280:: FILTER_X16, / * Pressure oversampling * / Adafruit_BMP280:: FILTER_X16, / * Pressure oversampling * / Adafruit_BMP280:: FILTER_X16, / * Pressure oversampling * / Adafruit_BMP280:: FILTER_X16, / * Pressure oversampling * / Adafruit_BMP280:: FILTER_X16, / * Pressure oversampling * / Adafruit_BMP280:: FILTER_X16 * / Adafruit_BMP280:: STANDBY_MS_500); / * Oras ng standby. * /}
Ang bahaging ito ng code ay naglilimbag ng temperatura sa serial monitor at para sa mga layuning pag-debug.
void loop () {Serial.print (F ("Temperatura =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
Ang pagpapaandar na bmp.readPressure at bmp.readTemprature ay ginagamit upang mahimok ang mga espesyal na pag-andar at ibalik ang mga halaga ng temperatura at presyon.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Paggawa ng Arduino BMP280 Pressure Sensor Interfacing Project
Ang mga pagpapaandar bmp.readTemprature () at bmp.readPressure () ay ginagamit upang ibalik ang mga halaga ng temperatura at presyon. Ang mga pagpapaandar na ito ay isang pangkat ng mga pahayag na nagsasagawa ng isang espesyal na gawain, sa aming kaso upang ibalik ang mga file ng temperatura at presyon. Ang mga pagpapaandar na ito ay tinawag gamit ang mga pagpapaandar ng bmp.readTemprature () at bmp.readPressure () . Ang lcd.setCursor nagtatakda ng cursor ng LCD na ang mga kinakailangang posisyon sa screen. Ang lcd.print print ng print ang data mula sa posisyon na itinakda ng programmer. Kung walang itinakdang posisyon para sa LCD bilang default aabutin ng (0,0) bilang paunang posisyon, at patuloy na pag-print ng data. Kinukuha ng susunod na data ang posisyon ng susunod na haligi, at nagpapatuloy ang pamamaraan hanggang sa maabot nito ang dulo ng hilera at lumipat sa susunod na hilera.
Maaaring magamit ang BMP280 sa Lumilipad na mga laruan, mobile phone, tablet, PC, aparato ng GPS, Portable na mga aparato para sa pangangalaga ng kalusugan, mga istasyon ng lagay ng panahon sa bahay, atbp. Sa pamamagitan ng pagsunod sa pamamaraang ito at paggamit ng mga file ng header at ilang mga espesyal na pag-andar, madali naming mai-interface ang ang Arduino. Ang kumpletong pagtatrabaho ay maaari ding matagpuan sa video na ibinigay sa ibaba, inaasahan mong nasiyahan ka sa tutorial na ito ng BMP280 Arduino at natutunan ang isang bagay na kapaki-pakinabang. Kung mayroon kang anumang katanungan iwanan sila sa seksyon ng komento sa ibaba o gamitin ang mga forum para sa iba pang mga teknikal na katanungan.