สารบัญ:
- ขั้นตอนที่ 1: ฮาร์ดแวร์ที่จำเป็น:
- ขั้นตอนที่ 2: การเชื่อมต่อฮาร์ดแวร์:
- ขั้นตอนที่ 3: รหัส Java สำหรับการตรวจวัดความชื้น:
- ขั้นตอนที่ 4: การใช้งาน:
วีดีโอ: การวัดความชื้นโดยใช้ HYT939 และ Raspberry Pi: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
HYT939 เป็นเซ็นเซอร์ความชื้นแบบดิจิตอลที่ทำงานบนโปรโตคอลการสื่อสาร I2C ความชื้นเป็นตัวแปรสำคัญเมื่อพูดถึงระบบทางการแพทย์และห้องปฏิบัติการ ดังนั้นเพื่อให้บรรลุเป้าหมายเหล่านี้ เราจึงพยายามเชื่อมต่อ HYT939 กับราสเบอร์รี่ pi ในบทช่วยสอนนี้ มีการสาธิตการเชื่อมต่อโมดูลเซ็นเซอร์ HYT939 กับ raspberry pi และแสดงการเขียนโปรแกรมโดยใช้ภาษา Java ด้วย
ในการอ่านค่าความชื้น เราได้ใช้ raspberry pi กับอะแดปเตอร์ I2c อะแดปเตอร์ I2C นี้ทำให้การเชื่อมต่อกับโมดูลเซ็นเซอร์ทำได้ง่ายและเชื่อถือได้มากขึ้น
ขั้นตอนที่ 1: ฮาร์ดแวร์ที่จำเป็น:
ฮาร์ดแวร์ที่จำเป็นสำหรับการทำงานให้สำเร็จมีดังนี้:
1. HYT939
2. ราสเบอร์รี่ปี่
3. สายเคเบิล I2C
4. I2C Shield สำหรับ Raspberry Pi
5. สายเคเบิลอีเธอร์เน็ต
-
ขั้นตอนที่ 2: การเชื่อมต่อฮาร์ดแวร์:
ส่วนการเชื่อมต่อฮาร์ดแวร์โดยทั่วไปจะอธิบายการเชื่อมต่อสายไฟที่จำเป็นระหว่างเซ็นเซอร์และราสเบอร์รี่ pi ตรวจสอบให้แน่ใจว่าการเชื่อมต่อถูกต้องเป็นสิ่งจำเป็นพื้นฐานในขณะที่ทำงานกับระบบใด ๆ สำหรับเอาต์พุตที่ต้องการ ดังนั้น การเชื่อมต่อที่จำเป็นมีดังนี้:
HYT939 จะทำงานบน I2C นี่คือตัวอย่างไดอะแกรมการเดินสาย ซึ่งสาธิตวิธีเชื่อมต่อแต่ละอินเทอร์เฟซของเซ็นเซอร์
นอกกรอบ บอร์ดได้รับการกำหนดค่าสำหรับอินเทอร์เฟซ I2C ดังนั้นเราขอแนะนำให้ใช้การเชื่อมต่อนี้หากคุณไม่เชื่อเรื่องพระเจ้า สิ่งที่คุณต้องมีคือสี่สาย!
ต้องใช้พิน Vcc, Gnd, SCL และ SDA เพียงสี่การเชื่อมต่อเท่านั้น และเชื่อมต่อด้วยสายเคเบิล I2C
การเชื่อมต่อเหล่านี้แสดงให้เห็นในภาพด้านบน
ขั้นตอนที่ 3: รหัส Java สำหรับการตรวจวัดความชื้น:
ข้อดีของการใช้ raspberry pi คือ ให้ความยืดหยุ่นของภาษาการเขียนโปรแกรมที่คุณต้องการตั้งโปรแกรมบอร์ดเพื่อเชื่อมต่อกับเซ็นเซอร์ ใช้ประโยชน์จากข้อได้เปรียบของบอร์ดนี้ เรากำลังสาธิตการเขียนโปรแกรมใน Java รหัสจาวาสำหรับ HYT939 สามารถดาวน์โหลดได้จากชุมชน github ของเราที่ Dcube Store
เพื่อความสะดวกของผู้ใช้ เรากำลังอธิบายรหัสที่นี่ด้วย:
ในขั้นแรกของการเข้ารหัส คุณต้องดาวน์โหลดไลบรารี pi4j ในกรณีของจาวา เนื่องจากไลบรารีนี้รองรับฟังก์ชันที่ใช้ในโค้ด ดังนั้น หากต้องการดาวน์โหลดห้องสมุด คุณสามารถไปที่ลิงก์ต่อไปนี้:
pi4j.com/install.html
คุณสามารถคัดลอกโค้ดจาวาที่ใช้งานได้สำหรับเซ็นเซอร์นี้จากที่นี่ด้วย:
นำเข้า com.pi4j.io.i2c. I2CBus;
นำเข้า com.pi4j.io.i2c. I2CDevice;
นำเข้า com.pi4j.io.i2c. I2CFactory;
นำเข้า java.io. IOException;
คลาสสาธารณะ HYT939
{
โมฆะคงที่สาธารณะหลัก (สตริง args ) พ่นข้อยกเว้น
{
// สร้าง I2CBus
บัส I2CBus = I2CFactory.getInstance(I2CBus. BUS_1);
// รับอุปกรณ์ I2C ที่อยู่ HYT939 I2C คือ 0x28(40)
อุปกรณ์ I2CDevice = bus.getDevice(0x28);
// ส่งคำสั่งโหมดปกติ
อุปกรณ์.write((ไบต์)0x80);
เธรดการนอนหลับ (500);
// อ่านข้อมูล 4 ไบต์
// ความชื้น msb, ความชื้น lsb, อุณหภูมิ msb, อุณหภูมิ lsb
ไบต์ data = ไบต์ใหม่[4];
อุปกรณ์อ่าน (ข้อมูล 0, 4);
// แปลงข้อมูลเป็น 14 บิต
ความชื้นสองเท่า = (((ข้อมูล[0] & 0x3F) * 256) + (ข้อมูล[1] & 0xFF)) * (100.0 / 16383.0);
cTemp สองเท่า = ((((ข้อมูล[2] & 0xFF) * 256) + (ข้อมูล[3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;
fTemp สองเท่า = (cTemp * 1.8) + 32;
// ส่งออกข้อมูลไปที่หน้าจอ
System.out.printf("ความชื้นสัมพัทธ์คือ: %.2f %%RH %n", ความชื้น);
System.out.printf("อุณหภูมิในเซลเซียสคือ: %.2f C %n", cTemp);
System.out.printf("อุณหภูมิในหน่วยฟาเรนไฮต์คือ: %.2f F %n", fTemp);
}
}
ห้องสมุดที่อำนวยความสะดวกในการสื่อสาร i2c ระหว่างเซ็นเซอร์และบอร์ดคือ pi4j แพ็คเกจต่างๆ I2CBus, I2CDevice และ I2CFactory ช่วยสร้างการเชื่อมต่อ
นำเข้า com.pi4j.io.i2c. I2CBus;นำเข้า com.pi4j.io.i2c. I2CDevice; นำเข้า com.pi4j.io.i2c. I2CFactory; นำเข้า java.io. IOException;
ฟังก์ชัน write() และ read() ใช้เพื่อเขียนคำสั่งบางอย่างไปยังเซ็นเซอร์เพื่อให้ทำงานในโหมดเฉพาะและอ่านเอาต์พุตของเซ็นเซอร์ตามลำดับ ส่วนต่อไปนี้ของรหัสแสดงการใช้ฟังก์ชันเหล่านี้
// ส่งคำสั่งโหมดปกติ device.write((byte)0x80); เธรดการนอนหลับ (500); // อ่านข้อมูล 4 ไบต์ // msb ความชื้น, lsb ความชื้น, msb ชั่วคราว, temp lsb ไบต์ data = ไบต์ใหม่[4]; อุปกรณ์อ่าน (ข้อมูล 0, 4);
เอาต์พุตของเซ็นเซอร์จะแสดงในภาพด้านบนด้วย
ขั้นตอนที่ 4: การใช้งาน:
HYT939 เป็นเซ็นเซอร์ความชื้นแบบดิจิตอลที่มีประสิทธิภาพถูกนำมาใช้ในระบบการแพทย์ Autoclaves การวัดจุดน้ำค้างแรงดันและระบบการทำให้แห้งยังพบการใช้โมดูลเซ็นเซอร์นี้ด้วย ในห้องปฏิบัติการต่างๆ ที่ระดับความชื้นที่เหมาะสมเป็นพารามิเตอร์สำคัญสำหรับการดำเนินการทดลอง เซ็นเซอร์นี้สามารถนำไปใช้ในการวัดความชื้นที่นั่นได้
แนะนำ:
ติดตาม: ศูนย์สื่อขั้นสูงพร้อม 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 ครั้งในปีที่แล้ว และฉันก็เกิดขึ้น
การวัดความชื้นโดยใช้ HYT939 และอนุภาคโฟตอน: 4 ขั้นตอน
การวัดความชื้นโดยใช้ HYT939 และอนุภาคโฟตอน: HYT939 เป็นเซ็นเซอร์ความชื้นแบบดิจิตอลที่ทำงานบนโปรโตคอลการสื่อสาร I2C ความชื้นเป็นตัวแปรสำคัญเมื่อพูดถึงระบบทางการแพทย์และห้องปฏิบัติการ ดังนั้นเพื่อให้บรรลุเป้าหมายเหล่านี้ เราจึงพยายามเชื่อมต่อ HYT939 กับราสเบอร์รี่ pi ผม
การวัดความชื้นโดยใช้ HYT939 และ Arduino Nano: 4 ขั้นตอน
การวัดความชื้นโดยใช้ HYT939 และ Arduino Nano: HYT939 เป็นเซ็นเซอร์ความชื้นแบบดิจิตอลที่ทำงานบนโปรโตคอลการสื่อสาร I2C ความชื้นเป็นตัวแปรสำคัญเมื่อพูดถึงระบบการแพทย์และห้องปฏิบัติการ ดังนั้นเพื่อให้บรรลุเป้าหมายเหล่านี้ เราจึงพยายามเชื่อมต่อ HYT939 กับ Arduino nano ผม