สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: เชื่อมต่อวงจร
- ขั้นตอนที่ 2: เชื่อมต่อเซ็นเซอร์ความดัน
- ขั้นตอนที่ 3: อัปโหลดรหัส
- ขั้นตอนที่ 4: แยกค่าเซ็นเซอร์ไปยัง Excel
- ขั้นตอนที่ 5: Extra Nerdy Bit
วีดีโอ: วิธีอ่าน MPX5010 Differential Pressure Sensor ด้วย Arduino: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
วิธีที่ฉันเขียนโค้ดคือเปลี่ยนได้ง่ายเพื่อให้เหมาะกับเซ็นเซอร์ความดันแบบอื่น เพียงเปลี่ยนตัวแปร const ต่อไปนี้ในโค้ดตามค่าจากแผ่นข้อมูลสำหรับเซ็นเซอร์ความดันใดๆ:
- ค่า "sensorOffset" เป็น mV
- ค่า "ความไว" ในหน่วย mV/mmH2O
เมื่อฉันได้เซ็นเซอร์ความดันนี้ ฉันมองไปรอบๆ ทางออนไลน์เพื่อลองค้นหาโค้ดตัวอย่างเพื่อแยกการอ่านค่าความดันจากเซ็นเซอร์นี้เป็นหน่วยความดันจริง KPa หรือ cmH2O ฉันพบโค้ดตัวอย่างหนึ่งโค้ดสำหรับเซ็นเซอร์ที่แน่นอนนี้ หลังจากเรียกใช้แล้ว ฉันสังเกตเห็นว่าค่าที่อ่านไม่ตรงกับที่ควรจะเป็นในแผ่นข้อมูล ดังนั้นฉันจึงตัดสินใจเขียนการคำนวณของตัวเองและโค้ดของฉันเอง… มันดูเก่าแต่ได้ผล เย่!! ดังนั้นฉันจึงคิดว่าฉันจะแบ่งปันกับคนทั้งโลกเพื่อที่คนอื่นจะได้ไม่ต้องผ่านความเจ็บปวดแบบเดียวกัน
สนุก!!
เสบียง
คุณจะต้องการ:
- เซ็นเซอร์ความดัน MPX5010 (แน่นอน)
- Arduino, Uno หรืออื่นๆ
- ท่อซิลิกอนบางส่วน (เพื่อเชื่อมต่อจากเซ็นเซอร์ความดันกับก๊อกแรงดัน)
- สายรัดขนาดเล็ก (สำหรับยึดสายยางซิลิโคน)
- ท่อทองเหลืองหรือพลาสติกขนาดเล็ก 2 มม. (ฉันใช้หลอดจากกระป๋อง WD40)
- เทปฉนวนบางชนิด (จำเป็นเฉพาะในกรณีที่ท่อซิลิกอนของคุณใหญ่เกินไปสำหรับท่อ WD40 ของคุณ)
ขั้นตอนที่ 1: เชื่อมต่อวงจร
ดูภาพการเชื่อมต่อที่ง่ายสุด ๆ
ขั้นตอนที่ 2: เชื่อมต่อเซ็นเซอร์ความดัน
- ต่อสายยางซิลิกอนของคุณเข้ากับพอร์ตเซ็นเซอร์ความดัน ใช้สายรัดหากคุณต้องการปิดผนึกอย่างดี
- เจาะรู 2 มม. ในท่อที่คุณต้องการรับรู้ความกดอากาศ
- ดันท่อ WD40 เข้าไปในรู มันควรจะแน่นพอดี ใช้กาวซุปเปอร์กาวเล็กน้อยเพื่อทำให้ซีลสมบูรณ์
- เลื่อนสายยางซิลิกอนของคุณเหนือท่อ WD40 (ฉันต้องพันเทปฉนวนรอบท่อเพื่อให้พอดี) แล้วติดเคเบิ้ลไทร์เล็กๆ
ขั้นตอนที่ 3: อัปโหลดรหัส
อัปโหลดรหัสของฉันไปยัง Arduino จากนั้นคลิกที่เทอร์มินัลอนุกรมเพื่อดูตัวเลข (ปุ่มที่มีสัญลักษณ์แว่นขยายที่ด้านบนขวาของหน้าจอ)
คุณควรเห็นเวลาเป็นมิลลิวินาที ตามด้วย ', ' ตามด้วยค่าความดัน
คุณมีตัวเลือกในโค้ดในการคำนวณตัวเลขเป็น kPa หรือ cmH2O เพียงใส่ความคิดเห็นในบรรทัดที่คุณไม่ต้องการ
เพิ่ม "delay(500);" หากคุณต้องการชะลอการอ่านเพื่อให้พร้อมบนเครื่องอ่านง่ายขึ้น
วิธีที่ฉันเขียนโค้ดคือเปลี่ยนได้ง่ายเพื่อให้เหมาะกับเซ็นเซอร์ความดันแบบอื่น เพียงเปลี่ยนตัวแปร const ต่อไปนี้ในโค้ดตามค่าจากแผ่นข้อมูลสำหรับเซ็นเซอร์ความดันใดๆ:
- ค่า "sensorOffset" เป็น mV
- ค่า "ความไว" ในหน่วย mV/mmH2O
ขั้นตอนที่ 4: แยกค่าเซ็นเซอร์ไปยัง Excel
- บันทึกการอ่านบางส่วนในเทอร์มินัลอนุกรม Arduino ของคุณ ควรอยู่ในรูปแบบ: "time(ms), pressure reading"
- ถอดปลั๊กสาย USB
- เลือกค่าทั้งหมดจากเทอร์มินัลอนุกรมของคุณและคัดลอก
- วางลงใน Notepad
- คลิกไฟล์>บันทึกเป็น
- พิมพ์ชื่อไฟล์ของคุณแล้วเปลี่ยนนามสกุลเป็น ".csv" (สำคัญมาก) แล้วบันทึก
- เปิดตัวสำรวจไฟล์แล้วคุณจะเห็นไฟล์ที่มีโลโก้ Excel อยู่ (หมายความว่าคุณสร้างไฟล์.csv อย่างถูกต้อง)
- ดับเบิลคลิกที่ไฟล์.csv ใหม่ของคุณ แล้วไฟล์จะเปิดขึ้นใน Excel และควรจัดเรียงค่าของคุณเป็นสองคอลัมน์แยกกันโดยอัตโนมัติ และกำจัดเครื่องหมายจุลภาค (นั่นเป็นสาเหตุที่ไฟล์.csv ดีมาก!)
จากนั้นคุณสามารถสร้างกราฟความกดดันเมื่อเวลาผ่านไปหรืออะไรก็ได้ที่คุณต้องการ
BTW: CSV ย่อมาจาก "ค่าที่คั่นด้วยจุลภาค"
ขั้นตอนที่ 5: Extra Nerdy Bit
ทำได้ดีมากที่ทำให้มันมาไกลขนาดนี้! ซึ่งหมายความว่าคุณผ่านการทดสอบเนิร์ดแล้ว และเพื่อเป็นรางวัล ฉันจะบอกรายละเอียดทางเทคนิคบางอย่างให้คุณทราบ
ดังนั้นฉันจึงพูดถึงในตอนต้นเกี่ยวกับโค้ดตัวอย่างที่ฉันพบสำหรับเซ็นเซอร์ที่แน่นอนซึ่งให้ค่าที่ไม่ถูกต้องกับฉัน ในการตรวจสอบ ฉันใช้สมการของพวกเขาในการคำนวณจุดสองสามจุดบนกราฟการตอบสนอง (ที่แนบมา) จากแผ่นข้อมูล และฉันพบว่าสิ่งเหล่านี้ไม่ตรงกับกราฟ ดังนั้นฉันจึงสร้างการคำนวณของฉันเองและอ้างอิงกับกราฟบนแผ่นข้อมูลเพื่อพิสูจน์ว่ามันใช้งานได้ในทางทฤษฎี จากนั้นฉันอ่านบันทึกข้อมูลด้วยทั้งโค้ดและกราฟที่วางซ้อน ซึ่งฉันได้แนบมาด้วย
ในกราฟที่แนบมา เส้นสีน้ำเงินคือโค้ดตัวอย่างที่ฉันพบ และเส้นสีแดงคือโค้ดของฉัน ปัญหานั้นชัดเจนพอสมควรเมื่อดูกราฟเนื่องจากโค้ดตัวอย่างเว็บไม่ได้วัดค่า 0 ที่สภาพแวดล้อม ซึ่งควรทำเพราะเรากำลังวัดความดันส่วนต่าง
โอเค มันไม่ได้ดูไฮเทคจนเกินไป ขอโทษที่ทำให้ผิดหวัง แต่หวังว่าคุณจะสนุกกับมันอยู่ดี:)
แนะนำ:
วิธีการตั้งค่า OSMC ด้วย Hyperion บน Raspberry Pi ด้วย WS2812b Led Strip: 8 ขั้นตอน
วิธีการตั้งค่า OSMC ด้วย Hyperion บน Raspberry Pi ด้วย WS2812b Led Strip: บางครั้งฉันพูดภาษาอังกฤษได้ดีมาก บางครั้งก็ไม่มี… สิ่งแรกเลย นี่เป็นการสอนครั้งแรกของฉันและภาษาอังกฤษไม่ใช่ภาษาแม่ของฉัน ดังนั้นโปรดอย่ากดดันฉันมากเกินไป นี่จะไม่เกี่ยวกับวิธีการสร้างเฟรมที่ง่าย มันเกี่ยวกับการติดตั้ง
โมดูลการ์ด SD พร้อม Arduino: วิธีอ่าน/เขียนข้อมูล: 14 ขั้นตอน
โมดูลการ์ด SD พร้อม Arduino: วิธีอ่าน/เขียนข้อมูล: ภาพรวมการจัดเก็บข้อมูลเป็นส่วนที่สำคัญที่สุดอย่างหนึ่งของทุกโครงการ มีหลายวิธีในการจัดเก็บข้อมูลตามชนิดข้อมูลและขนาด การ์ด SD และ micro SD เป็นหนึ่งในการ์ดที่ใช้งานได้จริงที่สุดในบรรดาอุปกรณ์จัดเก็บข้อมูล ซึ่งใช้ใน
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: 9 ขั้นตอน
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: ในรูปแรก เรามี Arduino และเรียกว่า "Arduino Uno"ในรูปที่สอง เรามี Arducam และเรียกว่า "Arducam OV2640 มินิ 2MP"พร้อมกับภาพที่สอง มีวัสดุที่คุณต้อง
การเชื่อมต่อ BMP180 (Barometric Pressure Sensor) กับ Arduino: 9 ขั้นตอน
การเชื่อมต่อ BMP180 (Barometric Pressure Sensor) กับ Arduino: BMP-180 เป็นเซ็นเซอร์ความดันบรรยากาศแบบดิจิตอลที่มีอินเทอร์เฟซ i2c เซ็นเซอร์ขนาดเล็กจาก Bosch นี้ค่อนข้างสะดวกเพราะมีขนาดเล็ก กินไฟน้อย และมีความแม่นยำสูง เราสามารถตรวจติดตามช
Robot De Tracción Diferencial (Differential Drive): 10 ขั้นตอน
Robot De Tracción Diferencial (Differential Drive): La rob&tica de enjambre se inspira en insectos que act& การทำงานร่วมกัน Es una disciplina basada en conjuntos de robots que se coordinan para realizar tareas grupales. เพิ่มเติม Los robots บุคคล deben ser capaces de sensar y actuar e