สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่ใช้ในโครงการนี้
- ขั้นตอนที่ 2: เรื่องราว
- ขั้นตอนที่ 3: ดาวน์โหลดไฟล์ที่จำเป็น
- ขั้นตอนที่ 4: ประกอบ
- ขั้นตอนที่ 5: โปรแกรม
- ขั้นตอนที่ 6: เครื่องวัดอุณหภูมิแบบพกพา
- ขั้นตอนที่ 7: บทสรุป
- ขั้นตอนที่ 8: รหัส
วีดีโอ: การวัดอุณหภูมิโดยใช้ XinaBox และเทอร์มิสเตอร์: 8 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
วัดอุณหภูมิของของเหลวโดยใช้อินพุตอนาล็อก xChip จาก XinaBox และโพรบเทอร์มิสเตอร์
ขั้นตอนที่ 1: สิ่งที่ใช้ในโครงการนี้
ส่วนประกอบฮาร์ดแวร์
- XinaBox SX02 x 1 xChip เซ็นเซอร์อินพุตแบบอะนาล็อกพร้อม ADC
- XinaBox CC01 x 1 เวอร์ชัน xChip ของ Arduino Uno ที่ใช้ ATmega328P
- ตัวต้านทาน 10k ohm x 1 ตัวต้านทาน 10k สำหรับเครือข่ายตัวแบ่งแรงดันไฟฟ้า
- โพรบเทอร์มิสเตอร์เทอร์มิสเตอร์ x 1 10k ที่ 25°C โพรบเทอร์มิสเตอร์เทอร์มิสเตอร์กันน้ำ NTC
- XinaBox IP01 x 1 xChip โปรแกรมเมอร์ USB ที่ใช้ FT232R จาก FTDI Limited
- XinaBox OD01 x 1 xChip 128x64 พิกเซล OLED Display
- XinaBox XC10 x 4 xChip ขั้วต่อบัส
- XinaBox PU01 x 1 xChip USB (ประเภท A) พาวเวอร์ซัพพลาย
- 5V USB Power Supply x 1 Power Bank หรือใกล้เคียง
แอพซอฟต์แวร์และบริการออนไลน์
Arduino IDE
เครื่องมือช่างและเครื่องจักรผลิต
ไขควงปากแบน เพื่อขันหรือคลายแคลมป์ขั้วต่อสกรู
ขั้นตอนที่ 2: เรื่องราว
บทนำ
ฉันต้องการวัดอุณหภูมิของของเหลวด้วยการสร้างเทอร์โมมิเตอร์แบบง่าย โดยใช้ XinaBox xChips ฉันสามารถทำได้ด้วยความเรียบง่ายสัมพัทธ์ ฉันใช้ xChip อินพุตแบบอะนาล็อก SX02 ซึ่งยอมรับ 0 - 3.3V, CC01 xChip ที่ใช้ ATmega328P และ xChip ที่แสดง OD01 OLED เพื่อดูผลลัพธ์อุณหภูมิของฉัน
เทอร์มิสเตอร์วัดอุณหภูมิน้ำในแก้ว
ขั้นตอนที่ 3: ดาวน์โหลดไฟล์ที่จำเป็น
คุณจะต้องใช้ไลบรารีและซอฟต์แวร์ต่อไปนี้:
- xSX0X- ไลบรารีเซ็นเซอร์อินพุตแบบอะนาล็อก
- xOD01 - ไลบรารีแสดงผล OLED
- Arduino IDE - สภาพแวดล้อมการพัฒนา
คลิกที่นี่เพื่อดูวิธีการติดตั้งไลบรารี
เมื่อคุณติดตั้ง Arduino IDE แล้ว ให้เปิดขึ้นมาแล้วเลือก "Arduino Pro หรือ Pro Mini" เป็นบอร์ดเพื่ออัปโหลดโปรแกรมของคุณไป ตรวจสอบให้แน่ใจด้วยว่าได้เลือกโปรเซสเซอร์ ATmega328P (5V, 16MHz) แล้ว ดูภาพด้านล่าง
เลือกบอร์ด Arduino Pro หรือ Pro Mini และโปรเซสเซอร์ ATmega328P (5V, 16MHz)
ขั้นตอนที่ 4: ประกอบ
คลิกโปรแกรมเมอร์ xChip, IP01 และ CC01 xChip ที่ใช้ ATmega328P ร่วมกันโดยใช้ขั้วต่อบัส XC10 ดังที่แสดงด้านล่าง ในการอัปโหลดไปยัง CC01 คุณจะต้องวางสวิตช์ในตำแหน่ง 'A' และ 'DCE' ตามลำดับ
IP01 และ CC01 คลิกพร้อมกัน
จากนั้น นำตัวต้านทาน 10kΩ ของคุณและขันปลายด้านหนึ่งเข้าที่ขั้วต่อที่มีเครื่องหมาย "IN" และปลายอีกด้านหนึ่งในขั้วต่อกราวด์ "GND" บน SX02 นำสายบนโพรบเทอร์มิสเตอร์และขันปลายด้านหนึ่งเป็น Vcc, "3.3V" และปลายอีกด้านหนึ่งในขั้วต่อ "IN" ดูกราฟิกด้านล่าง
การเชื่อมต่อ SX02
ตอนนี้รวม OD01 และ SX02 เข้ากับ CC01 โดยเพียงแค่คลิกเข้าด้วยกันโดยใช้ตัวเชื่อมต่อบัส XC10 ดูด้านล่าง องค์ประกอบสีเงินในภาพคือโพรบเทอร์มิสเตอร์
หน่วยที่สมบูรณ์สำหรับการเขียนโปรแกรม
ขั้นตอนที่ 5: โปรแกรม
เสียบเครื่องเข้ากับพอร์ต USB บนคอมพิวเตอร์ของคุณ ดาวน์โหลดหรือคัดลอกและวางโค้ดด้านล่างลงใน Arduino IDE ของคุณ รวบรวมและอัปโหลดรหัสไปยังบอร์ดของคุณ เมื่ออัปโหลดโปรแกรมของคุณควรเริ่มทำงาน หากคุณโพรบอยู่ในสภาวะอุณหภูมิห้อง คุณควรสังเกต ±25°C บนจอแสดงผล OLED ดังที่แสดงด้านล่าง
หลังจากอัปโหลดแล้ว ให้สังเกตอุณหภูมิห้องบนจอแสดงผล OLED
ขั้นตอนที่ 6: เครื่องวัดอุณหภูมิแบบพกพา
ถอดเครื่องออกจากคอมพิวเตอร์ของคุณ ถอดแยกชิ้นส่วนยูนิตและประกอบใหม่โดยใช้ PU01 แทน IP01 ตอนนี้ นำแหล่งจ่ายไฟแบบพกพา USB 5V ของคุณ เช่น พาวเวอร์แบงค์หรือที่คล้ายกัน แล้วใส่ชุดประกอบใหม่เข้าไป ตอนนี้คุณมีเทอร์โมมิเตอร์แบบพกพาสุดเจ๋งพร้อมความแม่นยำที่ดีแล้ว ดูภาพหน้าปกเพื่อดูการทำงาน ฉันวัดน้ำร้อนในแก้ว ภาพด้านล่างแสดงหน่วยที่สมบูรณ์ของคุณ
หน่วยสมบูรณ์ประกอบด้วย CC01, OD01, SX02 และ PU02
ขั้นตอนที่ 7: บทสรุป
โครงการนี้ใช้เวลารวบรวมไม่ถึง 10 นาทีและอีก 20 นาทีในการเขียนโปรแกรม ส่วนประกอบแบบพาสซีฟเพียงอย่างเดียวที่ต้องการคือตัวต้านทาน xChips เพียงคลิกพร้อมกันทำให้สะดวกมาก
ขั้นตอนที่ 8: รหัส
ThermTemp_Display.ino Arduino วิจัยเทอร์มิสเตอร์เทอร์มิสเตอร์เพื่อให้เข้าใจการคำนวณในโค้ด
#include // รวมไลบรารีหลักสำหรับ xCHIPs
#include // รวมไลบรารีเซ็นเซอร์อินพุตแบบอะนาล็อก #include // รวมไลบรารีการแสดงผล OLED #include // รวมฟังก์ชันคณิตศาสตร์ #define C_Kelvin 273.15 // สำหรับการแปลงจากเคลวินเป็นเซลเซียส #define series_res 10000 // ค่าของตัวต้านทานแบบอนุกรมในหน่วยโอห์ม #define B 3950 // B พารามิเตอร์สำหรับเทอร์มิสเตอร์ #define room_tempK 298.15 // อุณหภูมิห้องเป็นเคลวิน #define room_res 10000 // ความต้านทานที่อุณหภูมิห้องเป็นโอห์ม #define vcc 3.3 // แรงดันไฟฟ้า xSX01 SX01(0x55); // ตั้งค่าแรงดันโฟลตที่อยู่ i2c; // ตัวแปรที่มีแรงดันไฟฟ้าที่วัดได้ (0 - 3.3V) float therm_res; // ความต้านทานเทอร์มิสเตอร์ลอย act_tempK; // อุณหภูมิจริงเคลวินลอย act_tempC; // อุณหภูมิจริงในการตั้งค่าโมฆะเซลเซียส () { // ใส่รหัสการตั้งค่าของคุณที่นี่ เพื่อเรียกใช้ครั้งเดียว: // เริ่มต้นตัวแปรเป็น 0 แรงดัน = 0; therm_res = 0; act_tempK = 0; act_tempC = 0; // เริ่มการสื่อสารแบบอนุกรม Serial.begin(115200); // เริ่มการสื่อสาร i2c Wire.begin(); // เริ่มเซ็นเซอร์อินพุตแบบอะนาล็อก SX01.begin(); // เริ่มแสดงผล OLED OLED.begin(); // ล้าง OD01.clear(); // หน่วงเวลาเพื่อทำให้การหน่วงเวลาเป็นปกติ (1000); } void loop() { // ใส่รหัสหลักของคุณที่นี่ เพื่อเรียกใช้ซ้ำ: // อ่านแรงดันไฟฟ้า SX01.poll(); // เก็บแรงดันไฟฟ้า volatge = SX01.getVoltage(); // คำนวณความต้านทานเทอร์มิสเตอร์ therm_res = ((vcc * series_res) / แรงดันไฟฟ้า) - series_res; // คำนวณอุณหภูมิจริงในเคลวิน act_tempK = (room_tempK * B) / (B + room_tempK * log(therm_res / room_res)); // แปลงเคลวินเป็นเซลเซียส act_tempC = act_tempK - C_Kelvin; // อุณหภูมิการพิมพ์บนจอแสดงผล OLED // การจัดรูปแบบด้วยตนเองเพื่อแสดงในศูนย์ OD01.set2X(); OD01.println(""); OD01.println(""); OD01.print(" "); OD01.print(act_tempC); OD01.print("C"); OD01.println(""); ล่าช้า (2000); // อัปเดตการแสดงผลทุก 2 วินาที }
แนะนำ:
การวัดอุณหภูมิโดยใช้ AD7416ARZ และ Raspberry Pi: 4 ขั้นตอน
การวัดอุณหภูมิโดยใช้ AD7416ARZ และ Raspberry Pi: AD7416ARZ เป็นเซ็นเซอร์อุณหภูมิ 10-Bit พร้อมตัวแปลงสัญญาณอนาล็อกเป็นดิจิตอลสี่ช่องสัญญาณเดียวและเซ็นเซอร์อุณหภูมิบนบอร์ดรวมอยู่ในนั้น เซ็นเซอร์อุณหภูมิบนชิ้นส่วนสามารถเข้าถึงได้ผ่านช่องสัญญาณมัลติเพล็กเซอร์ อุณหภูมิความแม่นยำสูงนี้
การวัดอุณหภูมิโดยใช้ STS21 และ Arduino Nano: 4 ขั้นตอน
การวัดอุณหภูมิโดยใช้ STS21 และ Arduino Nano: STS21 Digital Temperature Sensor มีประสิทธิภาพที่เหนือกว่าและประหยัดพื้นที่ ให้สัญญาณเชิงเส้นที่ปรับเทียบแล้วในรูปแบบดิจิตอล I2C การผลิตเซ็นเซอร์นี้ใช้เทคโนโลยี CMOSens ซึ่งมีคุณสมบัติที่เหนือกว่า
การวัดอุณหภูมิโดยใช้ ADT75 และ Arduino Nano: 4 ขั้นตอน
การวัดอุณหภูมิโดยใช้ ADT75 และ Arduino Nano: ADT75 เป็นเซ็นเซอร์อุณหภูมิแบบดิจิตอลที่มีความแม่นยำสูง ประกอบด้วยเซ็นเซอร์อุณหภูมิช่องสัญญาณแบนด์และตัวแปลงอนาล็อกเป็นดิจิตอล 12 บิตสำหรับตรวจสอบและแปลงอุณหภูมิให้เป็นดิจิทัล เซ็นเซอร์ที่มีความไวสูงของมันทำให้มีความสามารถเพียงพอสำหรับฉัน
การวัดอุณหภูมิโดยใช้ LM75BIMM และ Arduino Nano: 4 ขั้นตอน
การวัดอุณหภูมิโดยใช้ LM75BIMM และ Arduino Nano: LM75BIMM เป็นเซ็นเซอร์อุณหภูมิแบบดิจิตอลที่รวมเข้ากับตัวตรวจจับความร้อนและมีอินเทอร์เฟซแบบลวดสองเส้นซึ่งรองรับการทำงานได้สูงถึง 400 kHz มีเอาต์พุตอุณหภูมิเกินพร้อมขีดจำกัดที่ตั้งโปรแกรมได้และฮิสเทอร์ซิส ในบทช่วยสอนนี้ อินเทอร์เฟซ
การวัดอุณหภูมิโดยใช้ MCP9803 และ Arduino Nano: 4 ขั้นตอน
การวัดอุณหภูมิโดยใช้ MCP9803 และ Arduino Nano: MCP9803 เป็นเซ็นเซอร์อุณหภูมิความแม่นยำสูงแบบ 2 สาย สิ่งเหล่านี้รวมเข้ากับการลงทะเบียนที่ผู้ใช้ตั้งโปรแกรมได้ซึ่งอำนวยความสะดวกในการใช้งานการตรวจวัดอุณหภูมิ เซ็นเซอร์นี้เหมาะสำหรับระบบตรวจสอบอุณหภูมิแบบหลายโซนที่มีความซับซ้อนสูง ใ