กลับไปหน้ารวมไฟล์
arduino-mkr-weather-monitor-eb9804.md

Arduino MKR Weather Monitor

เราได้รับ MKR ENV shield ใหม่เอี่ยมมาเมื่อไม่กี่วันก่อน shield เหล่านี้มีเซ็นเซอร์หลายตัว (อุณหภูมิ, ความดันอากาศ, ความชื้น, UV.... ) อยู่บนบอร์ด ซึ่งเป็นชุดที่ดีสำหรับการสร้างสถานีตรวจอากาศแบบง่ายๆ ร่วมกับชุด ArduiTouch MKR ของเรา เราใช้ Arduino MKR 1010 ที่มี WiFi เป็นบอร์ดหลักเพื่อรับข้อมูลสภาพอากาศสำหรับการพยากรณ์ง่ายๆ จาก openweather map.org.

ดังนั้น จอแสดงผลของ ArduiTouch จะแสดงการพยากรณ์และอุณหภูมิภายนอก พร้อมกับอุณหภูมิภายในอาคารที่วัดได้ ความดันอากาศ และความชื้น

simple weather monitor

สามารถดู คู่มือการประกอบอย่างละเอียด สำหรับชุด ArduiTouch MKR ได้ที่เว็บไซต์ของเรา

หลังจากประกอบชุด ArduiTouch เสร็จเรียบร้อยแล้ว คุณจะต้องเสียบ Arduino MKR 1010 และ MKR ENV Shield เข้าไปที่ด้านหลังของ PCB:

Backside with mounted Arduino MKR 1000 and MKR ENV shield

ติดตั้งไลบรารีต่อไปนี้ผ่าน Arduino Library Manager:

AdafruitGFX Library

https://github.com/adafruit/Adafruit-GFX-Library/archive/master.zip

AdafruitILI9341 Library

https://github.com/adafruit/Adafruit_ILI9341

Arduino JSON Library 5.x

https://github.com/bblanchon/ArduinoJson/tree/5.x

คุณยังสามารถดาวน์โหลดไลบรารีเป็นไฟล์ ZIP โดยตรงและแตกไฟล์โฟลเดอร์ไว้ใต้ yourarduinosketchfolder/libraries/

หลังจากติดตั้งไลบรารีของ Adafruit แล้ว ให้รีสตาร์ท Arduino IDE.

จำเป็นต้องมีการเปลี่ยนแปลงบางอย่างในซอร์สโค้ดสำหรับการปรับแต่ง:

WiFi: โปรดป้อน SSID และ password ในบรรทัดที่ 63 และ 64

char* ssid ="yourssid"; // SSID ของเครือข่ายท้องถิ่น

char* password ="yourpassword"; // Password ของเครือข่าย

บัญชีสำหรับ OpenWeatherMap:

หากต้องการรับข้อมูลในภายหลังจากแพลตฟอร์ม OpenWeatherMap คุณจะต้องมีบัญชีของตนเอง สมัครสมาชิกที่นี่เพื่อรับ API key: https://openweathermap.org/appid

ป้อน API key ของคุณในบรรทัดที่ 71:

String APIKEY = "your_api_key";

ตำแหน่งของคุณ:

ไปที่ https://openweathermap.org/find?q= และค้นหาตำแหน่ง ตรวจสอบผลลัพธ์และเลือกรายการที่ใกล้เคียงที่สุดกับตำแหน่งจริงที่คุณต้องการแสดงข้อมูล จะเป็น URL เช่น https://openweathermap.org/city/2657896. ตัวเลขที่อยู่ท้ายสุดคือสิ่งที่คุณจะกำหนดให้กับค่าคงที่ด้านล่าง ป้อนหมายเลขตำแหน่งของคุณในบรรทัดที่ 72

String CityID = "your_city_id";

เวลา: โปรดเลือก timezone ของคุณในบรรทัดที่ 73

\tintTimeZone = 1;

โปรดเปิดตัวอย่างนี้ใน Arduino IDE ทำการ Compile และ upload

รายละเอียดทางเทคนิคเพิ่มเติม

การบันทึกข้อมูลสภาพแวดล้อมแบบใช้พลังงานต่ำ

โปรเจกต์นี้ใช้ Arduino MKR ซีรีส์ระดับมืออาชีพ ซึ่งออกแบบมาสำหรับการตรวจสอบสภาพอากาศในระยะยาวด้วยแบตเตอรี่ในพื้นที่ห่างไกล

  • การประมวลผลเซ็นเซอร์: ผสานรวมเซ็นเซอร์ BME280 (อุณหภูมิ, ความชื้น, ความดัน) และ VEML6070 (UV Index) ที่มีความแม่นยำสูงผ่าน I2C bus
  • การจัดการแบตเตอรี่แบบรวม: บอร์ด MKR จัดการการชาร์จแบตเตอรี่ LiPo และมีโหมด "Deep Sleep" ที่ใช้พลังงานต่ำ ซึ่งจะตื่นขึ้นทุก 5 นาทีเพื่อทำการวัดและอัปเดตบันทึกเท่านั้น

การซิงโครไนซ์กับ Cloud

  • Arduino Cloud Dashboard: ข้อมูลเซ็นเซอร์จะถูกซิงค์ผ่าน WiFi หรือ GSM ไปยัง Arduino IoT Cloud เพื่อให้มี web dashboard ระดับมืออาชีพสำหรับวิเคราะห์แนวโน้มสภาพอากาศในระยะยาว

ข้อมูล Frontmatter ดั้งเดิม

title: "Arduino MKR Weather Monitor"
description: "Simple weather station with WiFi forecast and measuring of temperature, humidity, air pressure via MKR ENV shield."
author: "hwhardsoft"
category: "Screens & Displays"
tags:
  - "weather"
  - "environmental sensing"
  - "data collection"
views: 23658
likes: 22
price: 2450
difficulty: "Intermediate"
components:
  - "1x MKR ENV Shield"
  - "1x ArduiTouch MKR kit"
  - "1x Arduino MKR1000"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "63c0493f652cff8959ec8327a2dd506440d70cc3f760804e4320cf9f4bda4fb9"
encryptedPayload: "U2FsdGVkX1+Hxiu/OcqfwvAxCdGqAICWhT9eHUE4gcTscmskD7O3NuyRhsMeqHo9CaZv2ZPGL1TsDBFcyotf/X5NMSAqFDL+TSHmXCPkb3g="
seoDescription: "Build an Arduino MKR Weather Monitor with WiFi forecast and sensors for temperature, humidity, and air pressure using the MKR ENV shield."
videoLinks:
  - "https://instagram.com/p/Bvt-Sl7ojzj/embed/"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/arduino-mkr-weather-monitor-eb9804_cover.jpg"
lang: "th"