สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: การพัฒนา PCB
- ขั้นตอนที่ 2: การพัฒนาซอฟต์แวร์
- ขั้นตอนที่ 3: การอ่านเซ็นเซอร์
- ขั้นตอนที่ 4: การตั้งค่าเซ็นเซอร์ความร้อน
- ขั้นตอนที่ 5: การเปิดใช้งานอินเทอร์เฟซ I2C
- ขั้นตอนที่ 6: การเดินสายเซนเซอร์และกล้อง
- ขั้นตอนที่ 7: การทำแผนที่ความร้อน
- ขั้นตอนที่ 8: การประมวลผลภาพ
- ขั้นตอนที่ 9: ไฟล์โค้ดและ PCB
- ขั้นตอนที่ 10: สรุป
วีดีโอ: กล้องถ่ายภาพความร้อนราคาประหยัด: 10 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
- ฉันได้พัฒนาอุปกรณ์ที่สามารถติดเข้ากับโดรน และสามารถสตรีมสดกรอบแบบผสมผสานซึ่งทำจากภาพความร้อนที่แสดงการแผ่รังสีความร้อนและการถ่ายภาพปกติด้วยแสงที่มองเห็นได้
- แพลตฟอร์มดังกล่าวประกอบด้วยคอมพิวเตอร์บอร์ดเดี่ยวขนาดเล็ก เซ็นเซอร์กล้องความร้อน และโมดูลกล้องทั่วไป
- โครงการนี้มีจุดมุ่งหมายเพื่อตรวจสอบความเป็นไปได้ของแพลตฟอร์มการถ่ายภาพความร้อนต้นทุนต่ำในการตรวจจับความเสียหายในแผงโซลาร์เซลล์ซึ่งมีลักษณะเฉพาะด้วยลายเซ็นความร้อน
เสบียง
- ราสเบอร์รี่ Pi 3B+
- Panasonic AMG8833 กริดอาย
- Pi Camera V2
- แล็ปท็อปพร้อมโปรแกรมดู VNC
ขั้นตอนที่ 1: การพัฒนา PCB
- บอร์ด PCB สำหรับเซ็นเซอร์กริดอายของ Panasonic สามารถออกแบบได้ด้วยความช่วยเหลือของ EAGLE โต๊ะทำงานอัตโนมัติ
- ไฟล์.brd ได้รับการพัฒนาคล้ายกับโมดูล Adafruit AMG8833 โดยมีการดัดแปลงเล็กน้อย
- จากนั้น PCB สามารถพิมพ์กับผู้ผลิต PCB ได้ และฉันใช้ pcbway.com ซึ่งการสั่งซื้อครั้งแรกของฉันไม่มีค่าใช้จ่ายใด ๆ ทั้งสิ้น
- ฉันพบว่าการบัดกรี PCB แตกต่างอย่างสิ้นเชิงจากการบัดกรีที่ฉันรู้จักเนื่องจากเกี่ยวข้องกับอุปกรณ์ยึดบนพื้นผิว ดังนั้นฉันจึงไปที่ผู้ผลิต PCB รายอื่นและนำ PCB ของฉันไปบัดกรีด้วยเซ็นเซอร์
ขั้นตอนที่ 2: การพัฒนาซอฟต์แวร์
- รหัสนี้เขียนใน Thonny ซึ่งเป็นสภาพแวดล้อมการพัฒนาแบบรวมของหลาม
- ขั้นตอนเบื้องหลังโครงการคือการเชื่อมต่อกล้อง pi และติดตั้งซอฟต์แวร์ที่เกี่ยวข้อง
- ขั้นตอนต่อไปคือการเชื่อมต่อเซ็นเซอร์อุณหภูมิเพื่อแก้ไขพิน GPIO และติดตั้ง Adafruit Library เพื่อใช้งานเซ็นเซอร์
- ไลบรารี Adafruit มีสคริปต์สำหรับอ่านเซ็นเซอร์และทำแผนที่อุณหภูมิเป็นสี อย่างไรก็ตาม ภาพเคลื่อนไหวที่สร้างขึ้นไม่สามารถใช้งานได้
- ดังนั้นโค้ดจึงถูกเขียนใหม่เป็นรูปแบบที่สนับสนุนการประมวลผลภาพ ส่วนใหญ่สำหรับการรวมสองเฟรมเข้าด้วยกัน
ขั้นตอนที่ 3: การอ่านเซ็นเซอร์
- ในการรวบรวมข้อมูลจากไลบรารี ADAFRUIT ของกล้องถ่ายภาพความร้อน ซึ่งช่วยให้ปรับเซ็นเซอร์ใหม่ได้อย่างง่ายดายด้วย readpixels คำสั่ง () สร้างอาร์เรย์ที่มีอุณหภูมิเป็นองศาเซลเซียสที่วัดจากเซ็นเซอร์แยกองค์ประกอบ
- สำหรับกล้อง Pi คำสั่งฟังก์ชัน picamera.capture() จะสร้างรูปภาพด้วยรูปแบบไฟล์เอาต์พุตที่ระบุ
- เพื่อให้เหมาะกับการประมวลผลที่รวดเร็ว ความละเอียดที่ต่ำกว่าถูกกำหนดเป็น 500 x 500 พิกเซล
ขั้นตอนที่ 4: การตั้งค่าเซ็นเซอร์ความร้อน
- อันดับแรก เราต้องติดตั้งแพ็คเกจ Adafruit Library และ python ก่อน
- เปิดพรอมต์คำสั่งและเรียกใช้: sudo apt-get update ซึ่งจะอัปเดต Pi. ของคุณ
- จากนั้นออกคำสั่ง: sudo apt-get install -y build-essential python-pip python-dev python-smbus git
- จากนั้นเรียกใช้: git clone https://github.com/adafruit/Adafruit_Python_GPIO….ซึ่งจะดาวน์โหลดแพ็คเกจ Adafruit ไปยัง Raspberry Pi ของคุณ
- ย้ายภายในไดเร็กทอรี: cd Adafruit_Python_GPIO
- และติดตั้ง setup โดยรันคำสั่ง: sudo python setup.py install
- ตอนนี้ติดตั้ง scipy และ pygame: sudo apt-get install -y python-scipy python-pygame
- สุดท้าย ติดตั้งไลบรารีสีโดยออกคำสั่ง: sudo pip install color Adafruit_AMG88xx
ขั้นตอนที่ 5: การเปิดใช้งานอินเทอร์เฟซ I2C
- ออกคำสั่ง: sudo raspi-config
- คลิกที่ตัวเลือกขั้นสูงแล้วเลือก I2C จากนั้นเปิดใช้งานและเลือกเสร็จสิ้น
- รีบูต Pi เพื่อเปิดใช้งานI2C.สำเร็จ
- ตรวจสอบให้แน่ใจว่าคุณได้เปิดใช้งานอินเทอร์เฟซของกล้องและ VNC ด้วย
ขั้นตอนที่ 6: การเดินสายเซนเซอร์และกล้อง
- คุณควรเชื่อมต่อ AMG8833 เพียง 4 พินกับ Pi และปล่อยให้พิน IR
- 5V แหล่งจ่ายและกราวด์สามารถเชื่อมต่อกับพิน GPIO 1 และ 6
- SDA และ SCL ต่อเข้ากับพิน 4 และ 5 ของ Pi
- เข้าสู่ระบบราสเบอร์รี่ด้วย ssh
- เรียกใช้: sudo i2cdetect -y 1
- คุณควรเห็น "69" ในคอลัมน์ที่ 9 หากไม่มีปัญหาในการเดินสายเซ็นเซอร์กับ Pi
- สุดท้ายเชื่อมต่อกล้อง pi v2 เข้ากับช่องเสียบกล้องใน raspberry pi
ขั้นตอนที่ 7: การทำแผนที่ความร้อน
- ออกคำสั่ง: git clone
- ย้ายไปยังไดเร็กทอรี Adafruit_AMG88xx_python/examples
- ออกคำสั่ง: sudo python thermal_cam.py
- ฉันได้แนบรหัสสำหรับการทำแผนที่ความร้อน AMG8833 ด้านล่าง
ขั้นตอนที่ 8: การประมวลผลภาพ
-
การทำแผนที่อุณหภูมิ
- เพื่อให้เห็นภาพข้อมูลความร้อน ค่าอุณหภูมิจะถูกแมปเป็นการไล่ระดับสีตั้งแต่สีน้ำเงินถึงสีแดงพร้อมกับสีอื่นๆ ทั้งหมด
- เมื่อเซ็นเซอร์เริ่มทำงาน อุณหภูมิต่ำสุดจะจับคู่กับ 0 (สีน้ำเงิน) และอุณหภูมิสูงสุดคือ 1023 (สีแดง)
- อุณหภูมิอื่นๆ ทั้งหมดในระหว่างจะได้รับการกำหนดค่าที่สัมพันธ์กันภายในช่วงเวลา
- เอาต์พุตเซ็นเซอร์คืออาร์เรย์ 1 x 64 ซึ่งปรับขนาดเป็นเมทริกซ์
-
การแก้ไข
- ความละเอียดของเซ็นเซอร์ความร้อนค่อนข้างต่ำ 8 x 8 พิกเซล จึงใช้การประมาณค่าลูกบาศก์เพื่อเพิ่มความละเอียดเป็น 32 x 32 ส่งผลให้เมทริกซ์ใหญ่ขึ้น 16 เท่า
- Interpolation ทำงานโดยการสร้างจุดข้อมูลใหม่ระหว่างชุดของจุดที่รู้จัก แต่ความแม่นยำจะลดลง
-
ตัวเลขกับภาพ
- ตัวเลขตั้งแต่ 0 ถึง 1023 ในเมทริกซ์ขนาด 32 x 32 จะถูกแปลงเป็นรหัสทศนิยมในรูปแบบสี RGB
- จากรหัสทศนิยม มันง่ายที่จะสร้างภาพด้วยฟังก์ชั่นจากห้องสมุด SciPy
-
การปรับขนาดด้วยการลบรอยหยัก
- ในการปรับขนาดภาพ 32 x 32 เป็น 500 x 500 เพื่อให้ตรงกับความละเอียดของกล้อง Pi จะใช้ PIL (Python Image Library)
- มีฟิลเตอร์ป้องกันรอยหยักซึ่งจะทำให้ขอบระหว่างพิกเซลเรียบขึ้นเมื่อขยายขึ้น
-
ภาพซ้อนทับโปร่งใส
- จากนั้นภาพดิจิทัลและภาพความร้อนจะถูกรวมเข้ากับภาพสุดท้ายที่เพิ่มความโปร่งใส 50% ต่อภาพ
- เมื่อรูปภาพจากเซ็นเซอร์สองตัวที่มีระยะห่างขนานกันถูกหลอมรวมเข้าด้วยกัน จะไม่ทับซ้อนกันโดยสิ้นเชิง
- สุดท้าย การวัดอุณหภูมิต่ำสุดและสูงสุดโดย AMG8833 จะแสดงพร้อมข้อความซ้อนทับบนจอแสดงผล
ขั้นตอนที่ 9: ไฟล์โค้ดและ PCB
ฉันได้แนบการทดสอบและรหัสสุดท้ายสำหรับโครงการด้านล่าง
ขั้นตอนที่ 10: สรุป
- ดังนั้น กล้องถ่ายภาพความร้อนจึงถูกสร้างขึ้นด้วย Raspberry Pi และ AMG8833
- วิดีโอสุดท้ายถูกฝังอยู่ในโพสต์นี้
- สามารถสังเกตได้ว่าอุณหภูมิเปลี่ยนแปลงทันทีเมื่อฉันได้ไฟแช็กใกล้กับการตั้งค่า และเซ็นเซอร์ตรวจจับเปลวไฟของไฟแช็กได้อย่างแม่นยำ
- ดังนั้นโครงการนี้สามารถพัฒนาเพิ่มเติมสำหรับการตรวจหาไข้ในคนเข้าห้องซึ่งจะเป็นประโยชน์อย่างมากในวิกฤต COVID19 นี้
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง