สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
CPS120 เป็นเซ็นเซอร์ความดันสัมบูรณ์แบบ capacitive คุณภาพสูงและต้นทุนต่ำพร้อมเอาต์พุตที่ชดเชยอย่างเต็มที่ ใช้พลังงานน้อยมากและประกอบด้วยเซนเซอร์เครื่องกลไฟฟ้าขนาดเล็กพิเศษ (MEMS) สำหรับการวัดความดัน ADC ที่ใช้ซิกมาเดลต้ายังรวมอยู่ในนั้นเพื่อให้เป็นไปตามข้อกำหนดของเอาต์พุตที่ได้รับการชดเชย
ในบทช่วยสอนนี้ แสดงการเชื่อมต่อโมดูลเซ็นเซอร์ CPS120 กับ Arduino nano ในการอ่านค่าความดัน เราใช้โฟตอนกับอะแดปเตอร์ I2c อะแดปเตอร์ I2C นี้ทำให้การเชื่อมต่อกับโมดูลเซ็นเซอร์ทำได้ง่ายและเชื่อถือได้มากขึ้น
ขั้นตอนที่ 1: ฮาร์ดแวร์ที่จำเป็น:
วัสดุที่เราต้องการเพื่อให้บรรลุเป้าหมายประกอบด้วยส่วนประกอบฮาร์ดแวร์ต่อไปนี้:
1. CPS120
2. Arduino นาโน
3. สายเคเบิล I2C
4. I2C Shield สำหรับ Arduino nano
ขั้นตอนที่ 2: การเชื่อมต่อฮาร์ดแวร์:
ส่วนการเชื่อมต่อฮาร์ดแวร์โดยทั่วไปจะอธิบายการเชื่อมต่อสายไฟที่จำเป็นระหว่างเซ็นเซอร์และ Arduino nano ตรวจสอบให้แน่ใจว่าการเชื่อมต่อถูกต้องเป็นสิ่งจำเป็นพื้นฐานในขณะที่ทำงานกับระบบใด ๆ สำหรับเอาต์พุตที่ต้องการ ดังนั้น การเชื่อมต่อที่จำเป็นมีดังนี้:
CPS120 จะทำงานบน I2C นี่คือตัวอย่างไดอะแกรมการเดินสาย ซึ่งสาธิตวิธีเชื่อมต่อแต่ละอินเทอร์เฟซของเซ็นเซอร์
นอกกรอบ บอร์ดได้รับการกำหนดค่าสำหรับอินเทอร์เฟซ I2C ดังนั้นเราขอแนะนำให้ใช้การเชื่อมต่อนี้หากคุณไม่เชื่อเรื่องพระเจ้า สิ่งที่คุณต้องมีคือสี่สาย!
ต้องใช้พิน Vcc, Gnd, SCL และ SDA เพียงสี่การเชื่อมต่อเท่านั้น และเชื่อมต่อด้วยสายเคเบิล I2C
การเชื่อมต่อเหล่านี้แสดงให้เห็นในภาพด้านบน
ขั้นตอนที่ 3: รหัสสำหรับการวัดแรงดัน:
เริ่มจากโค้ด Arduino กันก่อนเลย
ในขณะที่ใช้โมดูลเซ็นเซอร์กับ Arduino เราได้รวมไลบรารี Wire.h ไลบรารี "Wire" มีฟังก์ชันที่อำนวยความสะดวกในการสื่อสาร i2c ระหว่างเซนเซอร์และบอร์ด Arduino
รหัส Arduino ทั้งหมดได้รับด้านล่างเพื่อความสะดวกของผู้ใช้:
#รวม
// ที่อยู่ CPS120 I2C คือ 0x28(40)
#define แอดเดอร์ 0x28
การตั้งค่าเป็นโมฆะ ()
{
// เริ่มต้นการสื่อสาร I2C
Wire.begin();
// เริ่มต้นการสื่อสารแบบอนุกรม ตั้งค่าอัตรารับส่งข้อมูล = 9600
Serial.begin(9600);
}
วงเป็นโมฆะ ()
{
ข้อมูล int ที่ไม่ได้ลงนาม[4];
// เริ่มการส่ง I2C
Wire.beginTransmission(Addr);
// ขอข้อมูล 4 ไบต์
Wire.requestFrom(Addr, 4);
// อ่านข้อมูล 4 ไบต์
// แรงดัน msb, แรงดัน lsb, msb ชั่วคราว, อุณหภูมิ lsb
ถ้า(Wire.available() == 4)
{
data[0] = Wire.read();
ข้อมูล[1] = Wire.read();
ข้อมูล [2] = Wire.read();
ข้อมูล[3] = Wire.read();
ล่าช้า (300);
// หยุดการส่ง I2C
Wire.endTransmission();
// แปลงข้อมูลเป็น 14 บิต
แรงดันลอย = ((((data[0] & 0x3F) * 265 + data[1]) / 16384.0) * 90.0) + 30.0;
float cTemp = ((((ข้อมูล[2] * 256) + (ข้อมูล[3] & 0xFC)) / 4.0) * (165.0 / 16384.0)) - 40.0;
float fTemp = cTemp * 1.8 + 32;
// ส่งออกข้อมูลไปยังมอนิเตอร์แบบอนุกรม
Serial.print("ความดันคือ: ");
Serial.print(ความดัน);
Serial.println("kPa");
Serial.print("อุณหภูมิในเซลเซียส: ");
Serial.print(cTemp);
Serial.println("C");
Serial.print("อุณหภูมิเป็นฟาเรนไฮต์: ");
Serial.print(fTemp);
Serial.println("F");
ล่าช้า (500);
}
}
ในไลบรารีของสายไฟ Wire.write() และ Wire.read() ใช้เพื่อเขียนคำสั่งและอ่านเอาต์พุตของเซ็นเซอร์
Serial.print() และ Serial.println() ใช้เพื่อแสดงเอาต์พุตของเซ็นเซอร์บนจอภาพอนุกรมของ Arduino IDE
เอาต์พุตของเซ็นเซอร์แสดงในภาพด้านบน
ขั้นตอนที่ 4: การใช้งาน:
CPS120 มีการใช้งานที่หลากหลาย สามารถใช้ในบารอมิเตอร์แบบพกพาและอยู่กับที่ เครื่องวัดระยะสูง ฯลฯ ความดันเป็นพารามิเตอร์ที่สำคัญในการพิจารณาสภาพอากาศ และพิจารณาว่าเซ็นเซอร์นี้สามารถติดตั้งที่สถานีตรวจอากาศได้เช่นกัน สามารถรวมเข้ากับระบบปรับอากาศเช่นเดียวกับระบบสุญญากาศ
แนะนำ:
การวัดความดันโดยใช้ CPS120 และ Raspberry Pi: 4 ขั้นตอน
การวัดความดันโดยใช้ CPS120 และ Raspberry Pi: CPS120 เป็นเซ็นเซอร์ความดันสัมบูรณ์แบบ capacitive คุณภาพสูงและต้นทุนต่ำพร้อมเอาต์พุตที่ชดเชยอย่างเต็มที่ ใช้พลังงานน้อยมากและประกอบด้วยเซนเซอร์เครื่องกลไฟฟ้าขนาดเล็กพิเศษ (MEMS) สำหรับการวัดความดัน ซิกม่าเดลต้าที่ใช้
ติดตาม: ศูนย์สื่อขั้นสูงพร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): 3 ขั้นตอน
ติดตาม: Advanced Media Center พร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): บทความนี้เป็นบทความต่อจากบทความก่อนหน้าของฉันที่ประสบความสำเร็จค่อนข้างมากเกี่ยวกับการสร้างศูนย์สื่ออเนกประสงค์ โดยอ้างอิงจาก Raspberry PI ที่ได้รับความนิยมมากในตอนแรก แต่ ในภายหลัง เนื่องจากไม่มีเอาต์พุตที่สอดคล้องกับ HEVC, H.265 และ HDMI 2.2 จึงมีสวิตช์
Blinds Control ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: 5 ขั้นตอน (พร้อมรูปภาพ)
การควบคุมมู่ลี่ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันเพิ่มระบบอัตโนมัติให้กับมู่ลี่ของฉันอย่างไร ฉันต้องการเพิ่มและลบระบบอัตโนมัติได้ ดังนั้นการติดตั้งทั้งหมดจึงเป็นแบบหนีบ ส่วนหลักคือ: สเต็ปเปอร์มอเตอร์ ตัวขับสเต็ปควบคุม bij ESP-01 เกียร์และการติดตั้ง
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: 3 ขั้นตอน
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: Story A beacon จะส่งสัญญาณอย่างต่อเนื่องเพื่อให้อุปกรณ์บลูทู ธ อื่น ๆ รู้ว่ามีอยู่ และฉันอยากได้บีคอนบลูทูธเพื่อติดตามกุญแจมาตลอด เพราะฉันลืมเอามันมาเหมือน 10 ครั้งในปีที่แล้ว และฉันก็เกิดขึ้น
RuuviTag และ PiZero W และ Blinkt! เทอร์โมมิเตอร์แบบ Bluetooth Beacon: 3 ขั้นตอน (พร้อมรูปภาพ)
RuuviTag และ PiZero W และ Blinkt! เครื่องวัดอุณหภูมิที่ใช้ Bluetooth Beacon: คำแนะนำนี้อธิบายวิธีการอ่านข้อมูลอุณหภูมิและความชื้นจาก RuuviTag โดยใช้ Bluetooth กับ Raspberry Pi Zero W และเพื่อแสดงค่าเป็นเลขฐานสองบน Pimoroni กะพริบตา! pHAT.หรือเรียกสั้นๆ ว่า จะสร้างสถานะอย่างไร