Talaan ng mga Nilalaman:

Room Weather Station Gamit ang Arduino & BME280: 4 Hakbang
Room Weather Station Gamit ang Arduino & BME280: 4 Hakbang

Video: Room Weather Station Gamit ang Arduino & BME280: 4 Hakbang

Video: Room Weather Station Gamit ang Arduino & BME280: 4 Hakbang
Video: BME280 Weather Station | With Arduino, ESP8266 & ESP32 2024, Nobyembre
Anonim
Room Weather Station Gamit ang Arduino & BME280
Room Weather Station Gamit ang Arduino & BME280

Dati ay nagbahagi ako ng isang simpleng istasyon ng panahon na ipinakita ang Temperatura at Humidity ng lokal na lugar. Ang problema dito ay magtatagal upang mag-update at ang data ay hindi tumpak. Sa tutorial na ito gagawa kami ng isang panloob na sistema ng pagsubaybay sa panahon na maaaring maging kapaki-pakinabang para sa pagpapanatili ng tala ng temperatura, halumigmig at presyon sa loob ng silid.

Kaya't nang hindi nag-aaksaya pa ng oras, magsimula na tayo.

Hakbang 1: Mga Kinakailangan:

Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan

Narito ang listahan ng mga bahagi na gagamitin namin para sa pagbuo.

  • GY-BME280 Sensor …………… (Amazon US / Amazon EU)
  • Arduino UNO …………………….. (Amazon US / Amazon EU)
  • Arduino Pro Mini ………………… (Amazon US / Amazon EU)
  • OLED 128 * 64 Ipakita …………. (Amazon US / Amazon EU)
  • Breadboard na may Mga Jumper ……. (Amazon US / Amazon EU)

Kasama ang mga bahagi sa itaas, kailangan din namin ng ilang mga aklatan:

  • Arduino IDE
  • Adafruit_BME280.h Library
  • Adafruit_SH1106.h Library
  • Adafruit_GFX.h Library

Hakbang 2: Mga Koneksyon:

Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon

Gagamitin namin ang koneksyon sa I2C para sa komunikasyon sa pagitan ng mga aparato. Gumagamit ang I2C ng 2 pin Serial Data (SDA) at Serial Clock (SCL) upang makipag-usap. Kaya sa mga koneksyon na konektado ko ang mga pin sa sumusunod na pagsasaayos:

  • SDA = A5
  • SCL = A4
  • GND = GND
  • VCC = 3.3v

Ang mga koneksyon ay pareho para sa Arduino UNO at Pro Mini.

Hakbang 3: Coding:

Coding
Coding
Coding
Coding

Bago mag-upload ng anumang code, kailangan naming i-install ang kinakailangang mga aklatan. Upang mai-install ang mga library ng Goto >> Mga Tool >> Pamahalaan ang Mga Aklatan

Sa box para sa paghahanap ipasok ang pangalan ng mga aklatan at i-install nang paisa-isa ang lahat.

Matapos i-install ang mga aklatan i-restart ang IDE.

TANDAAN: Ang mga aklatan at code ay para sa Sensor at OLED module na ginamit ko (Ibinigay ang mga link sa nakaraang hakbang). Kung gumagamit ka ng anumang iba pang mga module, sumangguni sa mga datasheet upang malaman kung anong mga silid aklatan ang ginagamit.

Isulat ang code na ibinigay sa ibaba sa isang bagong file sa Arduino IDE:

# isama

#include #include #include #define OLED_RESET 4 Adafruit_SH1106 display (OLED_RESET); Adafruit_BME280 bme; void setup () {Serial.begin (9600); display.begin (SH1106_SWITCHCAPVCC, 0x3C); display.setFont (& FreeSerif9pt7b); display.display (); pagkaantala (2000); display.clearDisplay (); kung (! bme.begin (0x76)) {Serial.println ("Hindi mahanap ang isang wastong sensor ng BME280, suriin ang mga kable!"); habang (1); }} void loop () {display.clearDisplay (); Serial.print ("Temperatura ="); Serial.print (bme.readTemperature ()); // print sa * C //Serial.print (bme.readTemperature () * 9/5 + 32); // print sa * F Serial.println ("* C"); display.setTextSize (1); display.setTextColor (PUTI); display.setCursor (0, 15); display.print ("Temp:"); display.print ((int) bme.readTemperature ()); // print sa * C //display.print (bme.readTemperature () * 9/5 + 32); // print sa * F display.println ("* C"); display.display (); Serial.print ("Pressure ="); Serial.print (bme.readPressure () / 100.0F); Serial.println ("hPa"); display.setTextSize (1); display.setTextColor (PUTI); display.print ("Press:"); display.print (bme.readPressure () / 100.0F); display.println ("Pa"); display.display (); Serial.print ("Humidity ="); Serial.print (bme.readHumidity ()); Serial.println ("%"); display.setTextSize (1); display.setTextColor (PUTI); display.print ("Hum:"); display.print ((int) bme.readHumidity ()); display.println ("%"); display.display (); Serial.println (); pagkaantala (1000); }

Ikonekta ang arduino sa iyong computer, piliin ang tamang port at pindutin ang upload. Pagkatapos ng ilang segundo dapat mong makita ang pag-on ng display.

Hakbang 4: Pangwakas na Tandaan:

Pangwakas na Tandaan
Pangwakas na Tandaan

Ipapakita sa display ang Temperatura, Humidity at Atmospheric Pressure. Maaari mo ring makita ang data sa Serial Monitor. Maaari kang gumawa ng mga pagbabago sa code o disenyo ayon sa gusto mo. Sa susunod na tutorial ay gagawin ko ang circuit na ito sa isang PCB at magtatayo ng isang enclosure para dito. Tiyaking susundan mo para sa higit pang mga pag-update.

Kung interesado ka sa mga robot at nais na gumawa ng isang simpleng robot, Checkout ang aking ebook na "Mini WiFi Robot". Mayroon itong sunud-sunod na tagubilin upang bumuo ng isang simpleng robot na maaaring makontrol sa WiFi network.

Inaasahan kong ang itinuro na ito ay may kaalaman. Kung mayroon kang anumang pag-aalinlangan, huwag mag-atubiling magtanong sa mga komento.

Inirerekumendang: