สารบัญ:
- ขั้นตอนที่ 1: อุปกรณ์ที่จำเป็นที่เราต้องการ
- ขั้นตอนที่ 2: การเชื่อมต่อฮาร์ดแวร์เพื่อประกอบวงจร
- ขั้นตอนที่ 3: การเขียนโปรแกรม Raspberry Pi ใน Python
- ขั้นตอนที่ 4: การใช้งานจริงของรหัส (การทดสอบ)
- ขั้นตอนที่ 5: แอปพลิเคชันและคุณสมบัติ
- ขั้นตอนที่ 6: บทสรุป
วีดีโอ: ระดับความสูง ความดัน และอุณหภูมิโดยใช้ Raspberry Pi กับ MPL3115A2: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ฟังดูน่าสนใจ. เป็นไปได้ค่อนข้างมากในยุคนี้ที่เราทุกคนกำลังเข้าสู่ยุค IoT ในฐานะที่เป็นผู้คลั่งไคล้อุปกรณ์อิเล็กทรอนิกส์ เราได้เล่นกับ Raspberry Pi และตัดสินใจสร้างโปรเจ็กต์ที่น่าสนใจโดยใช้ความรู้นี้ ในโครงการนี้ เราจะทำการวัดความสูง ความกดอากาศ อุณหภูมิโดยใช้ Raspberry Pi ดังนั้นนี่คือเอกสาร (มีการแก้ไขและขยายเสมอ) เราขอแนะนำให้เริ่มต้นด้วยการทำตามคำแนะนำและคัดลอกโค้ด คุณสามารถทดลองได้ในภายหลัง มาเริ่มกันเลยดีกว่า
ขั้นตอนที่ 1: อุปกรณ์ที่จำเป็นที่เราต้องการ
1. ราสเบอร์รี่ปี่
ขั้นตอนแรกคือการได้รับบอร์ด Raspberry Pi เราซื้อของเราและคุณก็ทำได้ เริ่มเรียนรู้จากบทช่วยสอน เราเข้าใจสคริปต์และแนวคิดเกี่ยวกับการเชื่อมต่อ และเรียนรู้ในภายหลัง อัจฉริยะตัวน้อยนี้เป็นเรื่องปกติสำหรับมือสมัครเล่น ครูผู้สอน และในการสร้างสภาพแวดล้อมที่เป็นนวัตกรรมใหม่
2. I²C Shield สำหรับ Raspberry Pi
INPI2 (อะแดปเตอร์ I2C) มีพอร์ต I²C ของ Raspberry Pi 2/3 สำหรับใช้กับอุปกรณ์ I2C หลายเครื่อง มีจำหน่ายแล้วที่ Dcube Store
3. เครื่องวัดระยะสูง เซ็นเซอร์ความดันและอุณหภูมิ MPL3115A2
MPL3115A2 เป็นเซ็นเซอร์ความดัน MEMS พร้อมอินเทอร์เฟซ I²C เพื่อให้ข้อมูลความดัน/ระดับความสูงและอุณหภูมิ เซ็นเซอร์นี้ใช้โปรโตคอลI²Cในการสื่อสาร เราซื้อเซ็นเซอร์นี้จาก Dcube Store
4. สายเคเบิลเชื่อมต่อ
เรามีสายเชื่อมต่อ I2C ที่ Dcube Store
5. สายไมโคร USB
แหล่งจ่ายไฟสาย micro USB เป็นตัวเลือกที่เหมาะสำหรับการจ่ายไฟให้กับ Raspberry Pi
6. การเพิ่มประสิทธิภาพการเข้าถึงอินเทอร์เน็ต - สายเคเบิลอีเทอร์เน็ต/อแด็ปเตอร์ WiFi
ในยุคนี้การเข้าถึงทุกสิ่งจำเป็นต้องมีการเชื่อมต่ออินเทอร์เน็ต (เกือบจะเหมือนมีชีวิตออฟไลน์เช่นกัน) ดังนั้นเราจึงไปทำตามคำแนะนำของสาย LAN หรือ Wireless Nano USB Adapter(WiFi) เพื่อสร้างการเชื่อมต่ออินเทอร์เน็ต เพื่อให้เราสามารถใช้ Rasp Pi ของเราได้อย่างง่ายดายและไม่มีปัญหาใดๆ เลย
7. สาย HDMI (ตัวเลือกที่คุณเลือก)
มันค่อนข้างยุ่งยาก คุณสามารถมีพลังในการต่อจอภาพอื่นได้หากต้องการหรือคุ้มกับตัวคุณเองด้วยการเชื่อมต่อ Pi แบบไม่มีหัวกับพีซี/แล็ปท็อปของคุณ
ขั้นตอนที่ 2: การเชื่อมต่อฮาร์ดแวร์เพื่อประกอบวงจร
ทำวงจรตามแผนผังที่แสดง โดยทั่วไปแล้วการเชื่อมต่อทำได้ง่ายมาก ทำตามคำแนะนำและรูปภาพ แล้วคุณจะไม่มีปัญหา
ขณะวางแผน เราได้พิจารณาฮาร์ดแวร์และการเข้ารหัส ตลอดจนพื้นฐานด้านอิเล็กทรอนิกส์ เราต้องการออกแบบแผนผังอิเล็กทรอนิกส์อย่างง่ายสำหรับโครงการนี้ ในแผนภาพ คุณจะสังเกตเห็นชิ้นส่วนต่างๆ ส่วนประกอบกำลัง และเซ็นเซอร์I²Cตามโปรโตคอลการสื่อสาร I²C หวังว่านี่จะแสดงให้เห็นว่าอุปกรณ์อิเล็กทรอนิกส์สำหรับโครงการนี้ง่ายเพียงใด
การเชื่อมต่อ Raspberry Pi และ I2C Shield
ก่อนอื่นให้นำ Raspberry Pi มาวาง I²C Shield ลงไป กดโล่เบา ๆ (ดูรูป)
การเชื่อมต่อของเซนเซอร์และ Raspberry Pi
นำเซ็นเซอร์และต่อสายI²Cด้วย ตรวจสอบให้แน่ใจว่าเอาต์พุตI²Cเชื่อมต่อกับอินพุตI²Cเสมอ ตามด้วย Raspberry Pi ที่ติดตั้งแผง I²C ไว้ด้านบน เรามี I²C Shield และสายเชื่อมต่อI²C ที่ด้านข้างของเรา ซึ่งเป็นข้อได้เปรียบที่ใหญ่มาก เนื่องจากเราเหลือตัวเลือกแบบพลักแอนด์เพลย์เท่านั้น ไม่มีปัญหาพินและสายไฟอีกต่อไป ความสับสนจึงหายไป รู้สึกโล่งใจเพียงใดเมื่อลองนึกภาพตัวเองในเว็บของสายไฟและเข้าสู่สิ่งนั้น เพียงขั้นตอนง่าย ๆ ที่เราได้กล่าวมา
หมายเหตุ: สายสีน้ำตาลควรเป็นไปตามการเชื่อมต่อกราวด์ (GND) ระหว่างเอาต์พุตของอุปกรณ์หนึ่งกับอินพุตของอุปกรณ์อื่นเสมอ
การเชื่อมต่ออินเทอร์เน็ตมีความสำคัญ
คุณมีทางเลือกที่นี่จริง คุณสามารถเชื่อมต่อ Raspberry Pi ด้วยสาย LAN หรืออะแดปเตอร์ Nano USB ไร้สายสำหรับการเชื่อมต่อ WiFi อย่างไรก็ตาม เป้าหมายหลักก็คือการเชื่อมต่ออินเทอร์เน็ต
กำลังของวงจร
เสียบสาย Micro USB เข้ากับแจ็คไฟของ Raspberry Pi สว่างขึ้นและเราดีไป
การเชื่อมต่อกับหน้าจอ
เราสามารถเชื่อมต่อสาย HDMI กับจอภาพใหม่หรือสร้าง Pi หัวขาดของเราซึ่งมีความคิดสร้างสรรค์และคุ้มค่าโดยใช้การเข้าถึงระยะไกลเช่น SSH/PuTTY (ฉันรู้ว่าเราไม่ได้รับทุนเหมือนองค์กรลับ)
ขั้นตอนที่ 3: การเขียนโปรแกรม Raspberry Pi ใน Python
รหัส Python สำหรับ Raspberry Pi และ MPL3115A2 Sensor มีอยู่ในที่เก็บ Github ของเรา
ก่อนดำเนินการกับโค้ด ตรวจสอบให้แน่ใจว่าคุณได้อ่านคำแนะนำที่ให้ไว้ในไฟล์ Readme และตั้งค่า Raspberry Pi ของคุณตามนั้น จะใช้เวลาสักครู่ในการทำเช่นนั้น
ความสูงคำนวณจากความดันโดยใช้สมการด้านล่าง:
ชั่วโมง = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (ค่าลงทะเบียน)
โดยที่ p0 = ความดันระดับน้ำทะเล (101326 Pa) และ h มีหน่วยเป็นเมตร MPL3115A2 ใช้ค่านี้เนื่องจาก offset register ถูกกำหนดเป็น 2 Pascals ต่อ LSB
รหัสอยู่ตรงหน้าคุณอย่างชัดเจนและอยู่ในรูปแบบที่ง่ายที่สุดที่คุณสามารถจินตนาการได้และคุณไม่น่าจะมีปัญหา
คุณสามารถคัดลอกโค้ด Python ที่ใช้งานได้สำหรับเซ็นเซอร์นี้จากที่นี่ด้วย
# แจกจ่ายด้วยใบอนุญาตฟรี # ใช้งานได้ตามที่คุณต้องการ ไม่ว่าจะมีกำไรหรือให้เปล่า หากเหมาะสมกับใบอนุญาตของงานที่เกี่ยวข้อง # MPL3115A2 # รหัสนี้ออกแบบมาเพื่อทำงานกับ MPL3115A2_I2CS I2C Mini Module ที่มีจำหน่ายจาก ControlEverything.com #
นำเข้า smbus
เวลานำเข้า
# รับรถบัส I2C
รถบัส = smbus. SMBus(1)
# MPL3115A2 ที่อยู่ 0x60(96)
# เลือกรีจิสเตอร์ควบคุม 0x26(38) # 0xB9(185) โหมดแอคทีฟ OSR = 128 โหมดเครื่องวัดระยะสูง bus.write_byte_data(0x60, 0x26, 0xB9) # ที่อยู่ MPL3115A2, 0x60(96) # เลือกการลงทะเบียนการกำหนดค่าข้อมูล, 0x13(19)) # 0x07(07) เหตุการณ์พร้อมข้อมูลเปิดใช้งานสำหรับความสูง ความดัน อุณหภูมิ bus.write_byte_data(0x60, 0x13, 0x07) # ที่อยู่ MPL3115A2, 0x60(96) # เลือกควบคุมการลงทะเบียน, 0x26(38) # 0xB9(185) โหมดใช้งาน, OSR = 128, โหมดเครื่องวัดระยะสูง bus.write_byte_data(0x60, 0x26, 0xB9)
เวลานอน(1)
# MPL3115A2 ที่อยู่ 0x60(96)
# อ่านข้อมูลย้อนหลังตั้งแต่ 0x00(00) 6 ไบต์ # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data(0x60, 0x00, 6)
# แปลงข้อมูลเป็น 20 บิต
tHeight = ((data[1] * 65536) + (data[2] * 256) + (data[3] & 0xF0)) / 16 temp = ((data[4] * 256) + (data[5] & 0xF0)) / 16 ความสูง = ความสูง / 16.0 cTemp = อุณหภูมิ / 16.0 fTemp = cTemp * 1.8 + 32
# MPL3115A2 ที่อยู่ 0x60(96)
# เลือกรีจิสเตอร์ควบคุม 0x26(38) # 0x39(57) โหมดแอคทีฟ OSR = 128 โหมดบารอมิเตอร์ bus.write_byte_data(0x60, 0x26, 0x39)
เวลานอน(1)
# MPL3115A2 ที่อยู่ 0x60(96)
# อ่านข้อมูลย้อนหลังตั้งแต่ 0x00(00) 4 ไบต์ # สถานะ กด MSB1 ก่อน MSB กด LSB data = bus.read_i2c_block_data(0x60, 0x00, 4)
# แปลงข้อมูลเป็น 20 บิต
pres = ((data[1] * 65536) + (data[2] * 256) + (data[3] & 0xF0)) / 16 pressure = (pres / 4.0) / 1000.0
# ส่งออกข้อมูลไปยังหน้าจอ
พิมพ์ "ความดัน: %.2f kPa" % ความดันพิมพ์ "ระดับความสูง: %.2f m" % ความสูง พิมพ์ "อุณหภูมิในเซลเซียส: %.2f C" %cTemp พิมพ์ "อุณหภูมิเป็นฟาเรนไฮต์: %.2f F" %fTemp
ขั้นตอนที่ 4: การใช้งานจริงของรหัส (การทดสอบ)
ตอนนี้ดาวน์โหลด (หรือ git pull) รหัสแล้วเปิดใน Raspberry Pi
รันคำสั่งเพื่อคอมไพล์และอัพโหลดโค้ดในเทอร์มินัลและดูผลลัพธ์บนมอนิเตอร์ หลังจากนั้นไม่กี่วินาทีก็จะแสดงพารามิเตอร์ทั้งหมด หลังจากแน่ใจว่าทุกอย่างทำงานได้อย่างราบรื่น คุณสามารถนำโครงการนี้ไปสู่โครงการที่ใหญ่ขึ้นได้
ขั้นตอนที่ 5: แอปพลิเคชันและคุณสมบัติ
การใช้งานทั่วไปของเซ็นเซอร์ MPL3115A2 Precision Altimeter I²C นั้นอยู่ในแอปพลิเคชันต่างๆ เช่น แผนที่ (Map Assist, การนำทาง), เข็มทิศแม่เหล็ก หรือ GPS (GPS Dead Reckoning, การเพิ่มประสิทธิภาพ GPS สำหรับบริการฉุกเฉิน), เครื่องวัดระยะสูงความแม่นยำสูง, สมาร์ทโฟน/แท็บเล็ต, อุปกรณ์อิเล็กทรอนิกส์ Altimetry และดาวเทียม (อุปกรณ์สถานีอากาศ/พยากรณ์)
สำหรับเช่น โครงการทำ Personal Electronics Altimeter วัดความสูง ความกดอากาศ อุณหภูมิ โดยใช้ Raspberry Pi Personal Electronics Altimeter เป็นโครงการที่ค่อนข้างรวดเร็วในการสร้าง จะใช้เวลาสักครู่ถ้าคุณมีทุกส่วนและไม่ด้นสด (แน่นอนว่าคุณทำได้ !) เครื่องวัดระยะสูงความดันเป็นเครื่องวัดระยะสูงที่พบในเครื่องบินส่วนใหญ่ และนักดิ่งพสุธาใช้รุ่นที่ติดตั้งที่ข้อมือเพื่อจุดประสงค์ที่คล้ายคลึงกัน นักปีนเขาและนักปีนเขาใช้เครื่องวัดระยะสูงแบบติดข้อมือหรือแบบมือถือ
ขั้นตอนที่ 6: บทสรุป
หวังว่าโครงการนี้จะเป็นแรงบันดาลใจให้ทดลองต่อไป เซ็นเซอร์I²Cนี้ใช้งานได้หลากหลาย ราคาถูก และเข้าถึงได้อย่างไม่น่าเชื่อ เนื่องจากเป็นโปรแกรมที่เปลี่ยนแปลงได้อย่างมาก มีวิธีที่น่าสนใจที่คุณสามารถขยายโปรเจ็กต์นี้และทำให้ดียิ่งขึ้นไปอีก ตัวอย่างเช่น เครื่องวัดระยะสูงเป็นเครื่องมือเสริมในรถออฟโรดเพื่อช่วยในการนำทาง รถยนต์หรูสมรรถนะสูงบางคันที่ไม่เคยมีเจตนาจะออกจากถนนลาดยาง ใช้เทคโนโลยีนี้ เพื่อความสะดวกของคุณ เรามีวิดีโอแนะนำที่น่าสนใจบน YouTube ซึ่งอาจช่วยคุณได้ หวังว่าโครงการนี้จะเป็นแรงบันดาลใจให้ทดลองต่อไป
แนะนำ:
การเชื่อมต่อโมดูล GPS กับ Raspberry Pi: 10 ขั้นตอน
การเชื่อมต่อโมดูล GPS กับ Raspberry Pi: เฮ้พวก!! คุณต้องการเชื่อมต่อโมดูล GPS กับ Raspberry Pi หรือไม่? แต่ต้องเผชิญกับความยากลำบากในการทำหรือไม่? “ไม่ต้องเป็นห่วง ฉันมาช่วยเธอแล้ว! คุณสามารถเริ่มต้นด้วยการใช้ส่วนต่อไปนี้:
วิธีเชื่อมต่อ Raspberry Pi กับ Cloud โดยใช้ Node.js: 7 ขั้นตอน
วิธีเชื่อมต่อ Raspberry Pi กับคลาวด์โดยใช้ Node.js: บทช่วยสอนนี้มีประโยชน์สำหรับทุกคนที่ต้องการเชื่อมต่อ Raspberry Pi กับคลาวด์ โดยเฉพาะกับแพลตฟอร์ม AskSensors IoT โดยใช้ Node.js ไม่มี Raspberry Pi ใช่ไหม หากคุณไม่มี Raspberry Pi อยู่แล้ว ฉันจะแนะนำให้คุณซื้อ Raspberry
การคำนวณความชื้น ความดัน และอุณหภูมิโดยใช้การเชื่อมต่อ BME280 และโฟตอน: 6 ขั้นตอน
การคำนวณความชื้น ความดัน และอุณหภูมิโดยใช้ BME280 และการเชื่อมต่อโฟตอน: เราพบโครงการต่างๆ ที่ต้องการการตรวจสอบอุณหภูมิ ความดัน และความชื้น ดังนั้นเราจึงตระหนักดีว่าพารามิเตอร์เหล่านี้มีบทบาทสำคัญในการประมาณประสิทธิภาพการทำงานของระบบที่สภาวะบรรยากาศที่แตกต่างกัน
ใช้ Raspberry Pi วัดระดับความสูง ความดัน และอุณหภูมิด้วย MPL3115A2: 6 ขั้นตอน
ใช้ Raspberry Pi วัดระดับความสูง ความดัน และอุณหภูมิด้วย MPL3115A2: รู้ว่าคุณเป็นเจ้าของอะไร และรู้ว่าทำไมคุณถึงเป็นเจ้าของมัน! เป็นเรื่องที่น่าสนใจ เรากำลังอยู่ในยุคของ Internet Automation ในขณะที่กำลังเข้าสู่แอปพลิเคชั่นใหม่ๆ มากมาย ในฐานะผู้คลั่งไคล้คอมพิวเตอร์และอุปกรณ์อิเล็กทรอนิกส์ เราได้เรียนรู้มากมายกับ Raspberry Pi a
แสดงวันที่ เวลา และอุณหภูมิโดยใช้ XinaBox: 8 ขั้นตอน
แสดงวันที่ เวลา และอุณหภูมิโดยใช้ XinaBox: หน้าจอ OLED สุดเท่แสดงวันที่ เวลา และอุณหภูมิในหน่วยเซลเซียสและฟาเรนไฮต์โดยใช้ Xinabox xChips โดยอิงจาก ESP8266