วงจรเซ็นเซอร์ความดันบรรยากาศ - รายละเอียดการทำงานและการเชื่อมต่อ

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในบทความนี้เราจะมาสำรวจบารอมิเตอร์คืออะไรและจะเชื่อมต่อเซ็นเซอร์ BMP180 กับ Arduino ได้อย่างไร นอกจากนี้เราจะสำรวจข้อกำหนดที่สำคัญบางอย่างและในที่สุดเราจะเรียนรู้วิธีทำนายสภาพอากาศโดยใช้การอ่านค่าบรรยากาศ

บารอมิเตอร์คืออะไร?

บารอมิเตอร์เป็นเครื่องมือสำหรับวัดความดันบรรยากาศ ความดันบรรยากาศคือปริมาณของแรงที่กระทำโดยบรรยากาศของโลก ความดันบรรยากาศของโลกเปลี่ยนแปลงตลอดเวลาการเปลี่ยนแปลงของความดันบรรยากาศสามารถทำนายสภาพอากาศระยะสั้นในท้องถิ่นได้



ในยุคปัจจุบันเราสามารถรับพยากรณ์อากาศผ่านสมาร์ทโฟนทีวีวิทยุ ฯลฯ แต่ในช่วงแรก ๆ ราวศตวรรษที่ 17 การพยากรณ์อากาศขึ้นอยู่กับบารอมิเตอร์ซึ่งประดิษฐ์ขึ้นโดยใช้องค์ประกอบทางเคมีที่เป็นพิษเช่นปรอท

บารอมิเตอร์ที่ใช้สารปรอทเป็นเครื่องมือที่มีประโยชน์สำหรับนักวิทยาศาสตร์สำหรับเกษตรกร การทำนายสภาพอากาศค่อนข้างแม่นยำช่วยให้นักวิทยาศาสตร์ทำการทดลองทางวิทยาศาสตร์เกี่ยวกับบรรยากาศและเกษตรกรรู้ว่าเมื่อใดควรปลูกพืชในเวลาที่เหมาะสม



ต่อมามีการคิดค้นบารอมิเตอร์ที่ใช้กลไกซึ่งไม่ได้ใช้ของเหลวใด ๆ โชคดีที่เราอยู่ในยุคของเทคโนโลยีขั้นสูงซึ่งเซ็นเซอร์วัดความกดอากาศมีราคาไม่แพงและมีขนาดไม่เกินเล็บนิ้วโป้งของเรา

ภาพประกอบของเซ็นเซอร์บารอมิเตอร์:

ตอนนี้คุณรู้แล้วว่าบารอมิเตอร์คืออะไรและใช้ที่ไหน

ข้อมูลจำเพาะ:

•สามารถวัดความดันได้ตั้งแต่ 300hPa ถึง 1100hPa (1hPa = 100Pa) 'Pa' หมายถึง Pascal และ hPa หมายถึงเฮกโตปาสคาล
•อุณหภูมิในการทำงานอยู่ระหว่าง -40 ถึง +85 องศาเซลเซียส
•วัดอุณหภูมิได้ตั้งแต่ 0 ถึง 65 องศาเซลเซียส
•แรงดันไฟฟ้าปกติ 3.3V
•การใช้พลังงาน 5 ไมโครแอมป์
ตอนนี้เรามาดูแผนภาพวงจรกัน

มันทำงานอย่างไร


วงจรเซ็นเซอร์ความดันบรรยากาศ

วงจรเซ็นเซอร์บารอมิเตอร์ BMP180 โดยใช้ Arduino นั้นง่ายมากเพราะใช้บัส i2C ซึ่งเป็นการสื่อสารสองสาย ชิปใช้ 3.3V จาก Arduino จากแหล่งจ่ายไฟที่มีการควบคุมบนบอร์ด สามารถวัดความดันบรรยากาศในพื้นที่และอุณหภูมิโดยรอบได้

ต้นแบบของผู้แต่ง:

โปรแกรมนี้ออกแบบมาเพื่อคำนวณพารามิเตอร์อื่น ๆ เช่นความดันบรรยากาศที่ระดับน้ำทะเลและระดับความสูงจากระดับน้ำทะเลซึ่งเราสามารถเห็นได้จาก Serial monitor ของ IDE

ก่อนที่คุณจะดำน้ำในส่วนการเขียนโปรแกรมให้ดาวน์โหลดไฟล์ไลบรารีจากลิงค์ต่อไปนี้: github.com/adafruit/Adafruit_BMP085_Unified.git และเพิ่มลงในโฟลเดอร์ไลบรารี Arduino

รหัสโปรแกรม:

//-----------Program by R.Girish----------------//
#include
#include
Adafruit_BMP085 bmp
void setup()
{
Serial.begin(9600)
if (!bmp.begin())
{
Serial.println('Could not find a valid BMP085 sensor, check wiring!')
while (1) {}
}
}
void loop()
{
Serial.print('Temperature = ')
Serial.print(bmp.readTemperature())
Serial.println(' *C')
Serial.print('Pressure = ')
Serial.print(bmp.readPressure())
Serial.println(' Pascal')
Serial.print('Altitude = ')
Serial.print(bmp.readAltitude())
Serial.println(' meters')
Serial.print('Pressure at sealevel (calculated) = ')
Serial.print(bmp.readSealevelPressure())
Serial.println(' Pascal')
Serial.print('Real altitude = ')
Serial.print(bmp.readAltitude(101500))
Serial.println(' meters')
Serial.println()
delay(10000)
}
//-----------Program by R.Girish----------------//

ลิงก์สำหรับไฟล์ไลบรารีเดิมสร้างขึ้นสำหรับ BMP085 แต่เข้ากันได้กับ BMP180

หมายเหตุ: ในขณะที่รวบรวมโปรแกรม IDE จะแจ้งเตือนโปรดเพิกเฉยต่อไปรหัสและไลบรารีทำงานได้ดี

พยากรณ์อากาศอย่างไร?

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

ความดันบรรยากาศยังคงเปลี่ยนแปลงและไม่สามารถหาค่าคงที่ได้ แต่เราสามารถกำหนดสภาพอากาศได้โดยการติดตามการอ่านในช่วงเวลาหนึ่ง

ดูการอ่านและจดบันทึกรอครึ่งชั่วโมงแล้วจดการอ่านอีกครั้งหากการอ่านสูงขึ้นหมายความว่าอากาศจะมีแดดจัด หากค่าอ่านต่ำเราสามารถคาดการณ์พายุหรือฝนได้

สิ่งนี้เหมือนกันในบารอมิเตอร์ทั้งหมด ความแตกต่างระหว่างการอ่านค่าเริ่มต้นและค่าปัจจุบันสูงขึ้นความเป็นไปได้ที่จะเปลี่ยนแปลงสภาพอากาศจะสูงขึ้น




ก่อนหน้านี้: วิธีสร้างวงจรสกอร์บอร์ดเกมที่ควบคุมจากระยะไกล ถัดไป: วงจรอ่าน RFID โดยใช้ Arduino