36
3.4.1.6 ทำการวาดแผ่นเพลตสำหรับใส่ Roller โดยกำหนดให้มีขนาดตามรูปท่ี
3.12 หลังจากนั้นนำ Roller 3D Model มาประกบใสเ่ ข้ากบั แผน่ เพลตจะผลลัพธต์ ามรปู ที่ 3.13
รูปที่ 3.12 ขนาดของแผน่ เพลตสำหรับยดึ Roller
รูปท่ี 3.13 ผลลัพธ์การนำแผ่นเพลตมาประกบเข้ากบั โครง
37
3.4.1.7 ทำการออกแบบท่ีก้ันสำหรับป้องกันไม่ให้ตัวชิ้นงานหล่นขณะสายพาน
กำลังลำเลียงโดยการออกแบบให้มีขนาด (กว้างxยาวxสูง) 40mm x 1070mm x 40mm มีความ
หนาท่ี 1mm ดงั รปู ที่ 3.14 หลงั จากนั้นนำไปติดตั้งจะได้ผลลัพธ์ตามรปู ท่ี 3.15
รูปท่ี 3.14 ขนาดแบบของที่ก้ัน
รปู ที่ 3.15 ผลลพั ธ์การตดิ ตัง้ ทกี่ ้นั
38
3.4.1.8 ออกแบบทีย่ ดึ กล้องเวบ็ แคมและหลอดไฟ โดยท่ที ำเหมอื นกนั กับข้ันตอนท่ี
1 แตเ่ ปลยี่ นจากอลูมิเนยี มโปรไฟล์ 5050 ให้เปน็ ขนาด 3030 โดยมขี นาดความยาว 505mm จำนวน
1 ทอ่ น และขนาดความยาว 225mm จำนวน 1 ท่อน หลังจากนั้นนำมาประกบกันดงั รูปท่ี 3.16 เมอ่ื
นำมาติดตง้ั เขา้ กบั ตัวสายพานลำเลียงแลว้ จะมผี ลลพั ธต์ ามรูปท่ี 3.17
รูปที่ 3.16 ทจ่ี บั กล้องและทย่ี ึดหลอดไฟแสดงสถานะ
รปู ท่ี 3.17 ผลลพั ธก์ ารออกแบบสายพานลำเลยี ง
39
3.5 การออกแบบแผ่นวงจรพิมพ์
ในการใช้งานเครื่องนับจำนวนวัตถุจำเป็นอย่างมากที่ต้องมีวงจรควบคุมการทำงานของ
มอเตอร์หรืออุปกรณ์แสดงสถานะต่าง ๆ เพื่อควบคุมความเร็วของมอเตอร์ไม่ให้เร็วหรือช้าจนเกินไป
และจำเป็นอย่างมากในโรงงานอุตสาหกรรมที่จะต้องมีไฟแสดงสถานะการทำงานของเครีอ่ งจักร โดย
การออกแบบจะใช้ซอฟต์แวร์ Altium Designer ซึ่งเป็นที่นิยมกันอย่างแพร่หลายสำหรับใช้ในการ
ออกแบบวงจรพมิ พ์อิเลก็ ทรอนิกส์
รปู ท่ี 3.18 ซอฟตแ์ วร์ออกแบบวงจรพิมพ์ Altium Designer
3.5.1 การออกแบบวงจรควบคุมดว้ ยซอฟต์แวร์ Altium Designer
3.5.1.1 วงจรควบคมุ I/O
ในการออกแบบและดีไซน์วงจรควบคุม I/O สำหรับนำไปเชื่อมต่อกบั บอรด์
Raspberry Pi จำเป็นอย่างมากที่ต้องมีวงจรแยกสัญญาณระหว่างบอร์ดกับชุดคอลโทรลเลอร์เพ่ือ
ป้องกันความเสียหายจากการทำงานผิดพลาด หรือการต่อสายสัญญาณผิด โดยภายในวงจรได้มีการ
นำ Optocoupler หรอื ที่เรยี กว่า “อปุ กรณเ์ ชอ่ื มต่อทางแสง” สำหรับนำมาแยกสัญญาณทางแสงโดย
การเปลี่ยนสัญญาณไฟฟ้าให้เป็นแสง แล้วเปลี่ยนกลับเป็นสัญญาณไฟฟ้าตามเดิม นิยมใช้สําหรับการ
เชื่อมต่อสัญญาณระหว่างสองวงจร และต้องการแยกกันเพื่อป้องกันการรบกวนกันทางไฟฟ้า
โครงสร้างสญั ลักษณอ์ ุปกรณ์เชอื่ มต่อทางแสงจะเหมือนกับอปุ กรณป์ ระเภทโฟโต้ แต่จะเพ่มิ อปุ กรณ์ส่ง
แสงอินฟาเรดคือไดโอดเปล่งแสงอินฟาเรดเข้าไปอีกหนึ่งตัวเช่นโฟโต้ทรานซิสเตอร์จะเพ่ิม
ไดโอดเปลง่ แสงอินฟาเรดเขา้ ไปอีกหนงึ่ ตัวจะได้ออปโต้ทรานซสิ เตอร์
40
รูปที่ 3.19 โครงสร้างภายใน Optocoupler
3.5.1.2 การออกแบบและคำนวณ
การนำอุปกรณ์แต่ละชนิดนำไปใช้งานจำเป็นต้องมีการคำนวณอุปกรณ์ที่
นำเข้ามาเชือ่ มต่อกนั สามารถคำนวณคา่ รีซิสเตอรท์ ี่จะนำไปต่อกับ optocoupler ไดด้ งั ตอ่ ไปน้ี
รูปที่ 3.20 ตวั อยา่ งการตอ่ ใชง้ าน optocoupler
1) การคำนวณหาค่าความต้านทานฝั่งส่ง สำหรับจำกัดกระแสให้
LED ภายในตัว optocoupler เพอ่ื ท่จี ะเปล่งแสงใหฝ้ ่งั รับทำงาน สามารถคำนวณได้จากสมการดังน้ี
Rf = Vs −VfLED 3.1
If LED
เม่ือ Rf คือ คา่ ความตา้ นทานหลอด LED ภายใน optocoupler
Vs คือ แหลง่ จา่ ยแรงดนั ไฟฟ้ากระแสตรงทีป่ ้อนให้กบั วงจร
VfLED คอื แรงดันตกคร่อมหลอด LED
IfLED คอื กระแสท่ีไหลผ่านหลอด LED
41
ตวั อย่างการคำนวณหาค่าความต้านทาน
จากสมการที่ 3.1 กำหนดให้แรงดันไฟฟ้า (Vs) มีค่าเท่ากับ 12Vdc แรงดันตกคร่อม
(VfLED) มีค่าเท่ากับ 1.25Vdc และกระแสที่ไหลผ่านหลอดแอลอีดี (IfLED) กำหนดให้มีค่าเท่ากับ
0.005A เพอื่ หาค่าความตา้ นทาน (Rf)
Rf = 12 −1.25 = 215 3.1(ก)
0.05
ดงั น้ัน ค่าความตา้ นทาน Rled มีคา่ เทา่ กบั 215 โอหม์ แต่เนอ่ื งจากไมม่ ีคา่ ความต้านทาน 215 โอหม์ จึง
ต้องเลือกใช้คา่ ความตา้ นทานที่ 220 – 300 โอหม์
ตวั อยา่ งการคำนวณหาค่ากำลังวัตต์
จากการคำนวณข้างต้นสามารถนำไปคำนวณหาค่ากำลังวัตต์ของตัวต้านทานเพื่อนำไป
เลอื กค่ากำลงั วตั ต์ทเี่ หมาะสมสามารถคำนวณไดจ้ ากสมการดงั ต่อไปน้ี
Power = I 2 R 3.2
จากสมการ 3.2 กำหนดให้กระแส (I) มีค่าเท่ากับ 0.05A และค่าความต้านทาน Rf มีค่า
เท่ากับ 220 โอหม์ สามารถคำนวณหาค่ากำลงั วตั ตไ์ ดด้ ังน้ี
Power = 0.0052 220 = 0.0055 3.2(ก)
ดงั นั้น จึงเลอื กใช้ตัวต้านทานทีท่ นกำลังวตั ต์มากกวา่ 0.0055W
42
จากคณุ สมบัตขิ อง Optocoupler ดังกล่าวจึงได้มกี ารนำมาออกแบบวงจรควบคุม I/O โดยมอี ินพุต 8
ช่องสัญญาณและช่องเอาต์พุต 8 ช่องสัญญาณ โดยนำมาแยกกราวด์ของแหล่งจ่าย ป้องกันสัญญาณ
รบกวน และนำมาเป็นชุดไดร์ให้กับ IC ULN2803 เพื่อที่จะสามารถนำแรงดันต่ำควบคุมแรงดันที่สูง
กว่า รองรบั แรงดันไฟฟ้ากระแสตรง 12-14Vdc กระแสมากกว่า 1.5A ได้มกี ารออกแบบดงั รูปท่ี 3.21
รูปท่ี 3.21 วงจรควบคุม I/O
1) ทำการเปิดซอฟต์แวร์ Altium Designer และทำการไปที่ File > New
> Project เพื่อเป็นการเริ่มต้นสร้างโปรเจ็คสำหรับออกแบบแผนผังวงจร (Schematic) และ
แผ่นวงจรพิมพ์ (Printed Circuit Board : PCB) ดังรูปที่ 3.22 หลังจากนั้นจะมีหน้าต่างเด้งขึ้นมา
สำหรับการตั้งชื่อโปรเจ็คและเลือกที่เก็บไฟล์ โดยให้ทำการตั้งชื่อและเลือกที่เก็บไฟล์ตามความ
เหมาะสมดงั รูปท่ี 3.23 หลงั จากน้นั คลกิ ที่ Create เพอื่ เป็นการสรา้ งไฟลโ์ ปรเจ็ค
รูปท่ี 3.22 ข้ันตอนการสร้างโปรเจ็ค
43
ตง้ั ชอ่ื โปรเจค็
เลอื กท่เี ก็บไฟล์
รูปที่ 3.23 การตั้งชื่อไฟล์และเลือกทีเ่ ก็บไฟล์
2) ทำการสร้างแผนผงั (Schematic) โดยให้ทำการคลิกขวาที่ชื่อโปรเจ็ค >
Add New to Project > Schematic เพื่อเป็นสร้างหน้าเอกสารเปล่าสำหรับการนำสัญลักษณ์
อุปกรณ์มาต่อกันให้เป็นวงจร หลังจากนั้นทำการกดบันทึก (Save) จะมีหน้าต่างเด้งขึ้นมาดังรูปที่
3.25 ให้ทำการตั้งชื่อไฟล์ให้สอดคลอ้ งกับงานและทำการคลิกที่ Save เพื่อเป็นการบันทึกไฟล์ไปยังท่ี
อยู่ทเ่ี กบ็ ไฟล์
คลิกขวา
รูปที่ 3.24 การสร้างไฟล์เอกสาร Schematic สำหรบั ตอ่ วงจร
44
ต้ังชือ่ ไฟล์เอกสาร
ปมุ่ บันทึกขอ้ มลู
รปู ท่ี 3.25 บันทึกไฟลห์ น้าเอกสาร
3) นำสญั ลกั ษณอ์ ุปกรณ์มาวางบนเอกสารโดยสามารถค้นหาอปุ กรณ์ต่าง ๆ
ได้ท่แี ถบด้านขวามือทีช่ ือ่ ว่า Components ดงั รปู ท่ี 3.26 หลังจากนัน้ ใหเ้ ลือกหรือค้นหาอุปกรณ์และ
ทำการคลิกหรือดับเบิ้ลคลิกเพอ่ื เปน็ การเลอื กอุปกรณ์นั้นให้ทำการเลอื กและวางอปุ กรณ์ดังรปู 3.27
รูปที่ 3.26 การนำสญั ลักษณ์อุปกรณม์ าวางบนเอกสาร
45
รปู ที่ 3.27 การเลือกและวางสญั ลักษณ์อปุ กรณ์วงจรควบคุม I/O
4) ทำการติดป้ายกำกับหรือคำอธิบายประกอบของสัญลักษณ์อุปกรณ์ต่าง
ๆ บนเอกสารเพื่อเป็นการระบุลำดับของสัญลักษณ์ ให้ง่ายต่อการจัดเลียงและการวางตำแหน่งของ
อุปกรณ์โดยให้คลิกที่ Tools > Annotation > Annotate Schematics ดังรูปที่ 3.28 จากนั้นจะมี
หน้าต่างเด้งข้นึ มา ดงั รูปที่ 3.29 ใหท้ ำการคลกิ ที่ Update Changes List จะมหี นา้ ตา่ ง Information
แจ้งรายละเอยี ดจำนวนอปุ กรณ์ทง้ั หมดให้ทำการคลิกท่ี OK
รปู ที่ 3.28 วธิ กี ารใส่คำบรรยายประกอบ (Annotation) สัญลักษณ์อุปกรณ์
46
รปู ที่ 3.29 การอัปเดทลำดับรายการสญั ลักษณอ์ ุปกรณ์
5) ทำการยอมรับการเปลี่ยนแปลงอุปกรณ์โดยคลิกที่ Accept Change
(Create ECO) จะมีหน้าต่าง Engineering Change Order เด้งขึ้นมาดังรูปที่ 3.30 หลังจากนั้นคลิก
ที่ Validate Changes เพื่อตรวจสอบการเปลี่ยนแปลงและทำการกด Execute Changes เพื่อเป็น
การดำเนินการ เมื่อกด Execute Change ตัวซอฟต์แวร์ก็จะดำเนินการเปลี่ยนคำบรรยายสัญลกั ษณ์
ของอปุ กรณ์ถ้าหากอปุ กรณ์ไม่มขี ้อผิดพลาดกจ็ ะมเี คร่ืองหมายถูกสีเขียวดังรูปที่ 3.31 และทำการคลิก
ที่ Close เพอื่ เปน็ การปิดหนา้ ตา่ ง
ตรวจสอบการเปลีย่ นแปลง ปดิ หน้าตา่ ง
ดำเนนิ การ
รปู ที่ 3.30 การดำเนินการเปลี่ยนลำดับคำบรรยายอปุ กรณ์
47
รปู ที่ 3.31 ผลลัพธ์การดำเนนิ การเปลี่ยนลำดับคำบรรยายอุปกรณ์
6) ทำการสร้างไฟล์เอกสารแผ่นวงจรพิมพ์ (Printed Circuit Board) เพ่ือ
เป็นการจัดวางตำแหน่งอปุ กรณ์โดยให้คลิกขวาทช่ี ่ือโปรเจ็ค > Add New to Project > PCB ดังรูปท่ี
3.32 หลังจากนั้นจะได้หน้าเอกสารเปล่าสีดำดังรูปที่ 3.33 ให้ทำการอัปเดทรายการอุปกรณ์ที่อยู่บน
ห น ้ า Schematics ไ ป ย ั ง ห น ้ า PCB โ ด ย ก า ร ค ล ิ ก ท ี ่ Design > Update PCB Document
PCB1.PcbDoc อปุ กรณ์ทเี่ ปน็ ฟุตปรนิ้ ท์ (Footprint) จะไปแสดงทหี่ น้าเอกสาร PCB
รูปที่ 3.32 การสร้างหนา้ เอกสารแผ่นวงจรพมิ พ์
48
รปู ที่ 3.33 การอัปเดทรายการอุปกรณ์ไปยังหน้า PCB
หลงั จากที่คลิก Update PCB Document เรยี บร้อยแล้วจะมหี นา้ ตา่ ง Engineering Change Order
เด้งขึ้นมาดังรูปที่ 3.34 ให้ทำการคลิกท่ี Validate Changes ตามด้วยการกดปุ่ม Execute Changes
เพื่ออัปเดทตัวรายการอุปกรณ์ลงหน้าเอกสาร PCB จะสังเกตได้ว่าทางขวามือจะมีอุปกรณ์ต่าง ๆ
แสดงผลขึ้นมาดงั รปู ท่ี 3.35 หลังจากนน้ั คลกิ ท่ี Close เพอ่ื ปิดหน้าตา่ ง Engineering Change Order
ตรวจสอบการเปลีย่ นแปลง
ดำเนินการ
รปู ท่ี 3.34 หนา้ เอกสารสำหรบั การวาดลายวงจร
49
รายการอปุ กรณต์ า่ ง ๆ
รปู ท่ี 3.35 ผลลพั ธ์การอัปเดทอปุ กรณจ์ ากหน้า Schematic มายงั PCB
7) จัดวางตำแหน่งอุปกรณ์ตามความเหมาะสมดังรูปที่ 3.36 ทำการสร้าง
Polygon คอื การเทบรเิ วณบน PCB ให้เตม็ ไปด้วยทองแดง เสมอื นการสรา้ ง ground plane เพื่อช่วย
ให้การกระจายกระแสไฟฟ้าดขี น้ึ ทัง้ TOP และ Bottom Layer ดังรปู ท่ี 3.37
รปู ท่ี 3.36 การจดั วางตำแหนง่ ของอุปกรณ์
50
รูปที่ 3.37 การสรา้ ง Polygon สำหรบั Ground Plane
51
3.6 การออกแบบซอฟต์แวร์สำหรบั ตรวจนับวัตถุ
ในการใช้งาน OpenCV สำหรบั นบั จำนวนประสบปัญหาเกี่ยวกับการปรับคา่ พารามิเตอร์
ต่าง ๆ จึงทำให้ไม่ได้รับความสะดวกในการใช้งานจึงได้มีการพัฒนาหน้าต่างผู้ใช้งาน (Graphic User
Interface : GUI) ขึ้นมาสามารถรองรับการปรบั เปลย่ี นค่าตัวแปรตา่ ง ๆ ไดอ้ ย่างสะดวก ใช้งานงา่ ยข้ึน
โดยตวั ซอฟตแ์ วร์ถกู พฒั นาด้วยเครื่องมือที่มชี อ่ื วา่ Qt Designer สำหรับการจัดวางตำแหนง่ (Layout)
ของตัววิดเจ็ต (Widget) หรือชุดคำสั่งโปรแกรมคอมพิวเตอร์ขนาดเล็ก หรือโปรแกรมสำหรับการ
ควบคมุ ในการทำงานของเครื่องคอมพวิ เตอร์ เชน่ ปมุ่ กด (Button) เป็นต้น
รปู ที่ 3.38 หนา้ ตาซอฟต์แวร์ Qt Designer
รูปที่ 3.39 ซอฟต์แวร์พัฒนาหนา้ ตา่ งผ้ใู ชง้ าน Qt Designer
52
ตัวซอฟต์แวร์มีเครื่องไม้เครื่องมือหลากหลายรูปแบบให้เลือกใช้งานและมีความทันสมัย
โดยตัวซอฟต์แวร์มีขนาดที่เล็กเนื่องจากตัวซอฟต์แวร์ไม่มี Editor หรือ IDE (integrated
development environment) สำหรับการพัฒนาหรือการโค้ดดิ้งต่าง ๆ จำเป็นต้องใช้ Editor ตัว
อืน่ ในการใชง้ านแทน เชน่ VS Code ของไมโครซอฟต์, Atom, PyCharm เปน็ ต้น โดย Editor ที่เป็น
ท่นี ยิ มในการพฒั นาก็คือ VS Code เน่อื งจากมอื เครื่องไมเ้ คร่ืองมอื ท่ลี ำ้ ในการเขยี นโค้ดใหร้ วดเร็วและ
ประหยัดเวลา Qt Designer รองรับทุกระบบปฎิบัติการ (Operating System : OS) ไม่ว่าจะเป็น
Windows, Linux, MacOS
การออกแบบหน้าต่างผู้ใช้งานในการจัดวางตำแหน่งวิดเจต็ ต่าง ๆ มีการแบง่ แยกหน้าต่าง
ออกเป็น 3 สว่ นหลัก ๆ คือ 1.หนา้ ต่างผใู้ ช้งานหลัก 2.หน้าตา่ งแสดงการทำงานบอร์ด I/O 3.หน้าต่าง
แสดงข้อความการทำงานผิดพลาด โดยมีการจัดวางหน้าตา่ งดังต่อไปนี้
3.6.1 หนา้ ตา่ งผ้ใู ช้งานหลกั
เปน็ หน้าสำหรับใช้ในการควบคุมการทำงานต่าง ๆ เปน็ หัวใจหลกั สามารถเปดิ -ปิด
กล้อง สั่งงานมอเตอร์ เปิดดูสถานะการทำงานของบอร์ดควบคุม ดูค่าพารามิเตอร์ต่าง ๆ และเลือก
การตรวจจบั วัตถุ ซึ่งทัง้ หมดสามารถควบคมุ ได้จากหนา้ ตา่ งผู้ใชง้ านหลักนี้
1 2 34 5 67
18 11 8
17
9
16
13
15 10
12 14
รูปท่ี 3.40 หนา้ ตา่ งผูใ้ ช้งานสำหรบั ตรวจนับวตั ถุ
53
หมายเลข 1 รายช่ือกล้องทีเ่ ช่อื มต่อเข้าผา่ นทางชอ่ ง USB
หมายเลข 2 ป่มุ กดเร่ิมการทำงานกล้อง
หมายเลข 3 ปมุ่ กดหยุดการทำงานกลอ้ ง
หมายเลข 4 ปุ่มกดเร่ิม/หยุด การทำงานมอเตอร์
หมายเลข 5 ปมุ่ กดแสดงหน้าต่างการใช้งานพอรต์ I/O
หมายเลข 6 แสดงผลประสทิ ธิภาพของตวั จดั การงาน
หมายเลข 7 จอแสดงผลเวลาปัจจบุ นั
หมายเลข 8-10 จอแสดงผลภาพย่อยสำหรบั การเซต็ คา่ วัตถุ
หมายเลข 11 จอแสดงผลหลกั
หมายเลข 12 พ้ืนท่แี สดงประวัติการทำงาน
หมายเลข 13 จอ LCD สำหรับแสดงผลจำนวนตัวเลขทนี่ ับไดข้ องวตั ถุ
หมายเลข 14 ปุ่มกดปิดโปรแกรม
หมายเลข 15 ชอ่ งเลือกการแสดงและการต้ังค่าจอท่ีจะนำไปแสดงผล
หมายเลข 16 ลกู เลือ่ นสำหรบั การต้ังคา่ พน้ื ทีว่ ตั ถุ
หมายเลข 17 สไลดเ์ ดอร์สำหรบั การตั้งค่าเลือกเฉดสีของวตั ถุ
หมายเลข 18 สไลด์เดอร์สำหรับการทำภาพเบลอ
3.6.1.1 วธิ กี ารออกแบบหน้าต่างผใู้ ช้งานหลักมีวิธกี ารดำเนินงานดังตอ่ ไปนี้
1) สร้างโปรเจ็คหน้าต่างผู้ใช้งานหลักโดยคลิกที่ File > New จากนั้นจะมี
หน้าต่างเด้งขึ้นมาให้ทำการเลือก Main Window และทำการคลิกที่ Create เพื่อเป็นการสร้าง
หนา้ ต่างดังรปู ที่ 3.41 จะไดห้ นา้ งต่างเปลา่ ๆ ดังรปู ท่ี 3.42
เลือก Main Window
คลิก Create
รูปท่ี 3.41 สร้างหน้าต่างหลักเปลา่ เพ่อื เริ่มตน้ การสร้าง
54
รปู ที่ 3.42 ผลลัพธ์การสรา้ งหน้าต่าง
2) นำ Widgets ต่าง ๆ จัดวางตามความเหมาะสม โดยจะเริ่มทำในส่วน
ของการควบคุมการทำงานของกล้องและปุ่มควบคุมมอเตอร์ ป่มุ เปิดมอนิเตอร์บอร์ด I/O โดยลากวาง
Widgets ทางดา้ นซา้ ยมือและลากวางไปยงั หนา้ Main Window ดงั รูปท่ี 3.43 โดยจะมีส่วนทนี่ ำมาใช้
ดังนี้
- Combo Box สำหรบั ใชใ้ นการแสดงรายชือ่ ของกล้อง
- Button สำหรบั ทำเป็นปุม่ กดเปิด-ปดิ กล้อง
- Label สำหรบั เขยี นช่ือหรอื ข้อความ
รูปที่ 3.43 การลากวาง Widget ต่าง ๆ
55
3) ทำการเปลย่ี นชอ่ื และตงั้ ช่ือ Object ใหส้ อดคลอ้ งกับหน้าที่ของปุ่มนั้น ๆ
ดังรปู ท่ี 3.44 หลงั จากนั้นทำการจดั กลุ่มเข้าด้วยกนั โดยเลอื กใชเ้ คร่ืองมอื ทม่ี ีชื่อวา่ Lay out in a Grid
โดยวิธีการลากคลมุ Widget ทง้ั หมดและทำการคลกิ ที่ Lay out in a Grid ดงั รปู ท่ี 3.45
รปู ท่ี 3.44 การเปล่ียนช่อื ให้สอดคล้องกบั หนา้ ทีแ่ ละการตั้งช่อื ให้กับ Object
คลิกที่ Lay Out in a Grid
ลากคลมุ ทั้งหมด
รูปท่ี 3.45 การจัดวางปุม่ ควบคมุ โดยจัดวางในลกั ษณะตาราง
56
4) ต่อไปจะเป็นการสร้างตัวแสดงผลการใช้งาน Resource ของเครื่องที่
เป็นการแสดงผลเปอร์เซ็นการทำงานของ CPU RAM TEMP โดยจะเลือกใช้ Widget ที่เป็น Label
อย่างเดียวดังรูปที่ 3.46 หลังจากนั้นทำการตั้งชื่อให้สอดคล้องกับหน้าที่และในส่วนที่เป็น Object
หลังจากนั้นทำการเปลี่ยนข้อความในส่วนที่จะแสดงเปอร์เซ็นการทำงานให้เป็นเลข 0 ทำการจัดวาง
ตำแหนง่ ในรูปแบบกรดิ โดยลากคลุมแล้วคลิกท่ี Lay Out in a Gride ดงั รปู ที่ 3.47
รปู ท่ี 3.46 การสร้างตัวแสดงผลเปอรเ์ ซ็นการทำงานของเครอื่ ง
รปู ท่ี 3.47 การจัดตำแหนง่ ในรูปแบบกรดิ และการตั้งชื่อให้สอดคล้องกบั หน้าท่ี
57
5) การสร้างจอแสดงผลนาฬิกาปัจจุบันทำได้โดยเลือก Widget ที่มีชื่อว่า
LCD Number ทำการลากวางจากด้านซ้ายมือ สามารถจัดวางตำแหน่งได้ตามความต้องการโดยจะ
เลือกวางที่มุมบนขวามือดังรูปที่ 3.48 หลังจากนั้นทำการเปลี่ยนชื่อ Object ให้สอดคล้องกับหน้าที่
หลังจากนั้นทำการเปลี่ยนสีการแสดงผลสามารถทำได้โดยคลิกขวาที่ LCD Number เลือก Change
stylesheet หลงั จากนั้นจะมหี น้าต่าง Edit Style Sheet – Qt Designer เด้งข้ึนมา สามารถพิมพ์สีท่ี
ต้องการเปลี่ยนได้ หรือคลิกที่ Add Color > Color จะมีหน้าต่าง Select Color เด้งขึ้นมาให้ทำการ
เลอื กสีทีต่ ้องการและคลกิ ท่ี OK เพื่อเปน็ การปิดหน้าต่างดงั รปู ท่ี 3.49
รูปที่ 3.48 การสร้างจอแสดงผลเวลาปจั จุบัน
รปู ที่ 3.49 การเปลี่ยนสีจอแสดงผลเวลาปจั จบุ ัน
58
6) การสร้างส่วนการตั้งค่าพารามิเตอร์สำหรับการตั้งค่าสีของวัตถุบน
OpenCV มีการตั้งค่า Ksize สำหรับการทำให้ภาพเบลอ การตั้งค่า HSV Color Range สำหรับการ
เลอื กชว่ งสีของวตั ถุทต่ี ้องการ การตง้ั ค่า Contours สำหรับการหาพื้นท่ีของวัตถุ โดยมกี ารเลือกใชง้ าน
Widget หลากหลายรปู แบบดังน้ี
- Group Box สำหรับการเป็นตคู้ รอบให้กบั Widget อ่นื ๆ
- Scroll Area สำหรับการทำให้ Widget เล่ือนขน้ึ ลงได้สำหรบั เลือก
การต้งั คา่ พารามเิ ตอรต์ า่ ง ๆ
- Frame สำหรับเป็นพ้ืนทีใ่ นการวาง Widget อื่น ๆ
- Horizontal Slider สำหรับสไลด์เลือกคา่ พารามเิ ตอร์ทตี่ ้องการ
- Dial สำหรบั หมนุ หา Min/Max ของพืน้ ทีว่ ตั ถุ
อันดับแรกให้วาง Group Box ก่อนหลังจากนั้นนำ Scroll Area วางซ้อนเข้าไปด้านในและทำการจัด
ตำแหนง่ โดยคลิกที่ Lay Out in a Grid เพือ่ ให้ขนาดของ Scroll Area ขยายตาม Group Box ดังรูป
ที่ 3.50 จากนั้นนำ Frame ซ้อนเข้าไปภายใน Scroll Area อีกทีและทำการคลิกที่ Lay Out in a
Grid เพื่อให้ Frame สามารถยืดหดได้ตาม Group Box หลังจากนั้นทำการกำหนดขนาดความสูงให้
มากกว่า Scroll Area โดยสังเกตที่ขวามือในส่วนของ Properties > minimumSize และ
MaximunSize จะได้ผลลัพธ์ดังรูปที่ 3.51 และนำ Widget ต่าง ๆ ซ้อนลงไปบน Frame ทำการต้ัง
ช่อื และเปลี่ยนชอ่ื บน Object ใหส้ อดคลอ้ งกบั หนา้ ทข่ี อง Widget นัน้ ๆ ดังรูปที่ 3.52
รูปที่ 3.50 การทำพื้นทีเ่ ล่ือนหรือ Scroll Area สำหรับวาง Widget จำนวนมาก
59
รปู ท่ี 3.51 การทำ Scroll Area สำหรบั Widget อน่ื ๆ
รปู ที่ 3.52 การนำ Widget ต่าง ๆ เขา้ ไปซ้อนบน Frame เพื่อทำ Scroll Area
60
7) การทำส่วนแสดงผลหลกั และส่วนแสดงผลย่อยสำหรับแสดงรูปวัตถุและ
ใช้สำหรบั การแสดงผลในขณะท่ีกำลงั ตั้งคา่ พารามิเตอร์เพ่ือให้สามารถเห็นชว่ งเฉดสขี องวตั ถุได้ อันดับ
แรกนำ Group Box ในการสร้างเป็นกล่องหรือที่เรียกว่า Container สำหรับบบรรจุจอหลักและ
จอแสดงผลย่อยดังรูปที่ 3.53 ทำการคลิกที่ Lay Out in a Grid เพื่อให้สามารถยืดหดไดต้ าม Group
Box หลังจากนั้นทำการเปลี่ยนชื่อและตั้งชื่อ Object ให้สอดคล้องกับหน้าที่ โดยหน้าจอแสดงผลจะ
อยูใ่ นลักษณะของ Pixamp
รูปที่ 3.53 การสร้างหนา้ จอแสดงผลหลักและย่อย
8) หลังจากนัน้ ใหท้ ำการจัดสร้างและวางตำแหน่งตามรูปแบบท้ังหมดดังรูป
ที่ 3.54 เป็นอันเสร็จสิ้นการออกแบบหน้าตาผู้ใช้งานหลัก ทำการแสดงผลหน้าจอหลักที่ได้ทำการ
ออกแบบไวโ้ ดยคลกิ ท่ี Form > Preview จะมหี นา้ ตา่ งท่ไี ดอ้ อกแบบไวเ้ ด้งข้ึนมา
รปู ท่ี 3.54 หนา้ ตา่ งผใู้ ช้งานหลกั ที่ได้ทำการออกแบบไว้
61
3.6.1.2 การสร้างหน้าตา่ งมอนิเตอรบ์ อรด์ I/O
1) สร้างโปรเจ็คหน้าต่างผู้ใช้งานหลักโดยคลิกที่ File > New จากนั้นจะมี
หน้าต่างเด้งขึ้นมาให้ทำการเลอื ก Dialog without Buttons และทำการคลิกที่ Create เพื่อเป็นการ
สร้างหน้าต่างดังรปู ท่ี 3.55 จะไดห้ นา้ งตา่ งเปลา่ ๆ
รูปท่ี 3.55 การสร้าหนา้ ตา่ งมอนเิ ตอรบ์ อร์ด I/O
2) นำ Label จัดวางตำแหน่งที่ต้องการและทำการเปลี่ยนชื่อ หลังจากน้ัน
นำ Label มาจัดวางอีกครั้งแต่ให้ทำการตั้งค่าสีโดยคลิกขวาที่ Label > Change stylesheet จะมี
หน้าต่าง Edit Style Sheet – Qt Designer เด้งขึ้นมาให้ทำการคลิกที่ Add Color > Background
Color จะมีหน้าต่าง Select Color เด้งขึ้นมาให้ทำการเลือกสีที่ต้องการ หลังจากนั้นคลิกที่ OK เพ่ือ
เปน็ การยนื ยนั การเลือกสีและปดิ หนา้ ต่าง สจี ะปรากฏบน Label ดังรูปที่ 3.56
รูปที่ 3.56 การเลอื กตั้งคา่ สีสำหรับทำเป็นหลอดไฟ
62
3) ทำการปรับขนาดของ Label ให้มีขนาดกว้าง 30 x สูง 30 โดยสามารถ
ปรับได้ทางด้านซ้ายมือที่ Properties ดังรูปที่ 3.57 หลังจากนั้นทำให้เป็นวงกลมโดยการคลิกขวาท่ี
Label เลือก Change stylesheet หลังจากนั้นเพิ่มคำสั่ง border-radius:15px; และคลิก OK จะ
แสดงผลเป็นรูปวงกลมดังรูปท่ี 3.58
รปู ท่ี 3.57 การตัง้ ค่าขนาดให้ Label
รปู ท่ี 3.58 การทำให้ Label เปน็ รูปวงกลม
63
4) ให้ทำการสร้างอีกครั้งทั้งฝั่งที่เป็น IN และ OUT โดยทำการ
Copy&Paste หลังจากนนั้ ตงั้ ช่อื Object ให้สอดคล้องกบั หนา้ ท่ดี งั รูปท่ี 3.59
รปู ที่ 3.59 การทำหน้าต่างแสดงผลการทำงานบอร์ด I/O
3.6.2 บล็อกไดอะแกรมการทำงาน
รบั ภาพจากกลอ้ ง แสดงผลหน้าจอหลัก ตัง้ ค่าช่วงสีของวตั ถุ สรา้ งกรอบสเี หล่ียม แสดงผลจานวนวัตถทุ ่ี
webcam ลอ้ มรอบวตั ถุ นับได้
แสดงผลหนา้ จอย่อย
รปู ท่ี 3.60 บลอ็ กไดอะแกรมการทำงานของซอฟตแ์ วร์
64
บทที่ 4
ผลการดำเนินงาน
/
/
การทดลองประสิทธิภาพภาษาไพธอนและนับจำนวนวัตถุด้วยคอมพิวเตอร์วิทัศน์ ที่ได้
จากการทดลองนับจำนวนวัตถุที่เป็นคลิปก้ามปู PCV การทดลองเร่ิมต้นนับจำนวนคลิปก้ามปู PCV สี
ขาว สีเหลอื ง และสีฟา้ ขนาด 1/2 นิ้ว จำนวนอยา่ งละ 20 ตวั รวมเป็นทั้งหมด 120 ตวั โดยแยกการ
นับออกเป็น 2 กรณี คือ 1.นำคลิปก้ามปู PCV แยกนับทีละสีจาก 5 ตัวจนถึง 20 ตัว 2.นำคลิปก้ามปู
นับรวมกันทั้ง 3 สี เพื่อหาค่าเฉลี่ยในการนับแล้วนำค่าที่ได้มาคำนวณและหาประสิทธิภาพของ
ซอฟต์แวรน์ ับจำนวนวัตถุจากคา่ ความผดิ พลาด
4.1 ทดลองประสิทธภิ าพระหว่างภาษาไพธอนกับภาษาซีพลสั พลัสบนบอรด์ Raspberry Pi
เป็นการทดลองเปรียบเทียบประสิทธิภาพในการประมวลผลการทำงานระหว่างภาษา
Python กับภาษา C++ บนบอร์ด Raspberry Pi 4 แรม 2GB โดยการให้ทั้งสองภาษาวนลูปนับ
จำนวนจาก 10,000 ถงึ 100,000 โดยเพิ่มคา่ ทีละ 4,000 เพือ่ นำผลลัพธ์มาหาค่าเฉลยี่
X =X 4.1
N
เมอื่ X คอื คา่ เฉลีย่ ของคลปิ ก้ามปูท่ีไดจ้ ากการนบั
X คอื ผลรวมของจำนวนคลปิ กา้ มปู PVC
N คอื จำนวนครัง้ ท่ีทำการนับ
65
ตารางที่ 4.1 การทดลอบประสิทธิภาพระหว่างภาษาไพธอนและภาษาซีพลสั พลสั (หนว่ ยวนิ าที)
ครัง้ 10,000 40,000 80,000 100,000
ท่ี Python C++ Python C++ Python C++ Python C++
1 0.2511 0.1350 0.7398 0.3282 1.5266 0.6461 2.2425 0.8072
2 0.1776 0.1344 0.7996 0.3569 1.6817 0.8061 1.8044 0.8275
3 0.2133 0.1361 0.7990 0.3719 1.9776 0.6776 2.0920 0.8311
4 0.1796 0.1019 1.0238 0.3804 1.4570 0.6610 1.7858 0.8315
5 0.1797 0.1399 0.7284 0.3822 1.5128 0.6716 2.0800 0.8064
Avg 0.20026 0.12946 0.81812 0.36392 1.63114 0.69248 2.00094 0.82074
จากการทดลองประสิทธิภาพระหว่างภาษาไพธอนและภาษาซพี ลัสพลัส พบว่าในการวน
ลูปที่มีค่ามากข้ึนจะทำให้เวลาในการดำเนินการของภาษาไพธอนใช้เวลานานกว่าภาษาซีพลัสพลัส
เนอ่ื จากภาษาไพธอนมีการทำงานโดยแปลคำสงั่ ทีละคำส่ัง ซง่ึ ตา่ งจากภาษาซีพลสั พลัสท่ีต้องผ่านการ
คอมไพล์เพ่อื แปรคำสั่งทง้ั หมด ดังน้ันภาษาซีพลัสพลัสจงึ มคี วามรวดเรว็ กวา่ ดังตารางท่ี 4.1
4.2 ทดลองนบั จำนวนคลปิ ก้ามปู PVC
เป็นการนับจำนวนวัตถุที่เป็นคลิปก้ามปู PVC จำนวน 5, 10, 15, และ 20 ตัว ค่าละ 10
ครั้ง ใช้ความเร็วในการเคลื่อนที่ 0.5m/s, 1.0m/s และ 1.5m/s โดยจะแยกการนับในแต่ละสี เพื่อ
นำมาหาคา่ ความผิดพลาดในการนบั
Dimeter = 60mm
T2 = 14 Teeth
T1 = 9 Teeth
รูปที่ 4.1 สายพานลำเลียงและมอเตอรเ์ กียร์
66
สมการในการหาความเรว็ ในการเคลอื่ นท่ีของวตั ถุ
V = 2 r RPM 4.2
S
เมือ่ V คอื อัตราในการเคลือ่ นท่ีการเปลย่ี นตำแหน่ง
RPM คือ ความเร็วในการหมุนของสายพาน
r คือ รศั มี
S คอื เวลา มีหน่วยเปน็ วนิ าที
สมการในการคำนวณหาความเร็วรอบมอเตอร์จากความถ่ใี นการหมุน
Frequency = RPM 4.3
S
เม่อื Freq คือความถี่ มีหนว่ ยเปน็ เฮิรตซ์ (Hz)
RPM คอื หนว่ ยวดั อตั ราการหมุนมอเตอร์ มหี น่วยเปน็ รอบ/นาที
S คอื เวลา มีหน่วยเป็นวินาที
ตวั อย่างการคำนวณหาความเรว็ รอบมอเตอร์เพือ่ ใช้ในการขับสายพานลำเลียง
โดยกำหนดให้ r มคี า่ เทา่ กบั (0.03) T1 มคี า่ เทา่ กับ 9 ฟนั เฟือง T2 มคี ่าเท่ากับ 14 ฟันเฟอื ง ความเรว็
ในการเคล่อื นทท่ี ่ี 1m/s มอเตอร์ตอ้ งหมนุ กรี่ อบ/นาที
จากสมการท่ี 4.2 นำมาหาความเร็วในการเคล่ือนท่ีของวตั ถุบนสายพานลำเลยี งได้ดงั นี้
V = 2 r RPM (belt)
S
RPM (belt) = V S
2 r
RPM (belt) = 1 60
( 2 ) ( 3.14 ) ( 0.03)
RPM(belt) = 318.47 1
67
จากสมการที่ 1 นำมาคำนวณความเรว็ รอบมอเตอร์ในการหมนุ สายพานลำเลยี งได้ดังนี้
( )RPM(belt) = T1
T2 RPM motor
( )RPM motor = T 2 RPM (belt)
T1
( RPM ) = 14 318.47
9
motor
( RPM motor ) = 495.39
ซึ่งความเร็วรอบมอเตอร์ได้จากการนำออสซิลโลสโคปมาวัดฟันเฟืองมอเตอร์ โดยใช้ IR Sensor ติด
ตรงบรเิ วณฟันเฟอื งของมอเตอร์โดยใชส้ มการท่ี 4.3
Frequency = RPM
S
Frequency = 495.39
60
Frequency = 8.25
ดงั นนั้ มอเตอรต์ ้องหมนุ ดว้ ยความถ่ีที่ 8.25 Hz จงึ จะได้ความเร็วรอบมอเตอร์ที่ 495.39 รอบ/นาที จึง
จะได้ความเรว็ ในการเคล่ือนท่ีของวตั ถุท่ี 1.0 m/s
สมการหาคา่ เปอร์เซน็ ความผิดพลาด
%error = Yn − X n 100 4.4
Yn
เม่อื %error คอื เปอรเ์ ซน็ ความผิดพลาดที่ไดจ้ ากการนับ
Yn คอื จำนวนคลปิ กา้ มปู PVC จริง
Xn คอื จำนวนคลิปกา้ มปู PVC ที่นบั ได้
68
4.2.1 นับจำนวนคลปิ กา้ มปู PVC แบบแยกนบั แตล่ ะสี
ตารางท่ี 4.2 การทดสอบนับจำนวนคลปิ ก้ามปู PVC ทั้งสามสี จำนวนสลี ะ 5 ตัว โดยใช้ความเรว็ ใน
การทดสอบ 0.5m/s – 1.5m/s ทดสอบสลี ะ 10 ครง้ั
ความเร็วเคลอ่ื นท่ีของวตั ถุ
ครงั้ ที่ 0.5 เมตร/วินาที 1.0 เมตร/วินาที 1.5 เมตร/วนิ าที
สขี าว สีเหลอื ง สฟี ้า สขี าว สีเหลอื ง สีฟา้ สีขาว สีเหลอื ง สฟี า้
155 555 555 5
255 555 555 5
355 555 555 5
455 555 555 5
555 555 555 5
655 555 555 5
755 555 555 5
855 555 555 5
955 555 555 5
10 5 5 5 5 5 5 5 5 5
%error 0 0 0 0 0 0 0 0 0
จากการทดลองนับคลิปก้ามปู PVC ทั้งสามสี จำนวนสีละ 5 ตัว ด้วยความเร็วที่ 0.5m/s
– 1.5m/s ตามลำดบั พบว่าสามารถนับจำนวนคลิปก้ามปู PVC ได้ครบท้งั 10 ครงั้ เปอร์เซ็นค่าความ
ผิดพลาดเท่ากบั 0
69
ตารางท่ี 4.3 การทดสอบนบั จำนวนคลปิ กา้ มปู PVC ทง้ั สามสี จำนวนสีละ 10 ตัว โดยใชค้ วามเรว็ ใน
การทดสอบ 0.5m/s – 1.5m/s ทดสอบสลี ะ 10 ครัง้
ความเรว็ เคลือ่ นที่ของวตั ถุ
ครัง้ ท่ี 0.5 เมตร/วินาที 1.0 เมตร/วินาที 1.5 เมตร/วนิ าที
สขี าว สีเหลือง สีนำ้ ฟ้า สีขาว สีเหลอื ง สีน้ำฟา้ สีขาว สีเหลอื ง สนี ำ้ ฟ้า
1 10 10 10 10 10 10 10 10 10
2 10 10 10 10 10 10 10 10 10
3 10 10 10 10 10 10 10 10 10
4 10 10 10 10 10 10 10 10 10
5 10 10 10 10 10 10 10 10 10
6 10 10 10 10 10 10 10 10 10
7 10 10 10 10 10 10 10 10 10
8 10 10 10 10 10 10 10 10 10
9 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
%error 0 0 0 0 0 0 0 0 0
จากการทดลองนบั คลิปกา้ มปู PVC ท้ังสามสี จำนวนสลี ะ 10 ตัว ดว้ ยความเรว็ ท่ี 0.5m/s
– 1.5m/s ตามลำดับ พบว่าสามารถนับจำนวนคลิปก้ามปู PVC ไดค้ รบทัง้ 10 ครัง้ เปอร์เซ็นค่าความ
ผิดพลาดเท่ากับ 0
70
ตารางท่ี 4.4 การทดสอบนับจำนวนคลิปกา้ มปู PVC ทงั้ สามสี จำนวนสลี ะ 15 ตัว โดยใชค้ วามเรว็ ใน
การทดสอบ 0.5m/s – 1.5m/s ทดสอบสีละ 10 ครง้ั
ความเรว็ เคลอื่ นท่ีของวตั ถุ
ครง้ั ที่ 0.5 เมตร/วนิ าที 1.0 เมตร/วนิ าที 1.5 เมตร/วินาที
สีขาว สีเหลอื ง สีฟ้า สีขาว สเี หลือง สีฟ้า สีขาว สีเหลอื ง สีฟา้
1 15 15 15 15 15 15 15 15 15
2 15 15 15 15 15 15 15 15 15
3 15 15 15 15 15 15 15 15 15
4 15 15 15 15 15 15 15 15 15
5 15 15 15 15 15 15 15 15 15
6 15 15 15 15 15 15 15 15 15
7 15 15 15 15 15 15 15 15 15
8 15 15 15 15 15 15 15 15 15
9 15 15 15 15 15 15 15 15 15
10 15 15 15 15 15 15 15 15 15
%error 0 0 0 0 0 0 0 0 0
จากการทดลองนับคลิปกา้ มปู PVC ท้ังสามสี จำนวนสลี ะ 15 ตวั ดว้ ยความเร็วท่ี 0.5m/s
– 1.5m/s ตามลำดบั พบว่าสามารถนับจำนวนคลิปก้ามปู PVC ได้ครบท้งั 10 ครง้ั เปอร์เซ็นค่าความ
ผิดพลาดเทา่ กบั 0
71
ตารางท่ี 4.5 การทดสอบนบั จำนวนคลิปก้ามปู PVC ทงั้ สามสี จำนวนสีละ 20 ตวั โดยใชค้ วามเร็วใน
การทดสอบ 0.5m/s – 1.5m/s ทดสอบสลี ะ 10 ครง้ั
ความเรว็ เคลือ่ นที่ของวตั ถุ
ครัง้ ที่ 0.5 เมตร/วนิ าที 1.0 เมตร/วนิ าที 1.5 เมตร/วินาที
สีขาว สีเหลือง สฟี า้ สีขาว สเี หลอื ง สฟี า้ สีขาว สเี หลอื ง สฟี ้า
1 20 20 20 20 20 20 20 20 19
2 20 20 20 20 20 20 20 20 19
3 20 20 20 20 20 20 20 20 18
4 20 20 20 20 20 20 20 20 19
5 20 20 20 20 20 20 20 20 17
6 20 20 20 20 20 20 20 20 17
7 20 20 20 20 20 20 20 20 19
8 20 20 20 20 20 20 20 20 19
9 20 20 20 20 20 20 20 20 19
10 20 20 20 20 20 20 20 20 19
%error 0 0 0 0 0 0 0 0 7.5
จากการทดลองนับคลปิ ก้ามปู PVC ท้ังสามสี จำนวนสีละ 20 ตวั ดว้ ยความเรว็ ที่ 0.5m/s
– 1.5m/s ตามลำดับ พบว่าในการนับจำนวนคลปิ กา้ มปู PVC สีฟ้าด้วยความเรว็ ที่ 1.5m/s มีการนับ
ท่คี ลาดเคล่อื นคดิ เป็นเปอรเ์ ซ็นได้ 7.5%
72
4.2.2 นบั จำนวนคลปิ ก้ามปู PVC ทงั้ 3 สพี รอ้ มกัน
ตารางท่ี 4.6 ผลการนบั คลิปก้ามปู PCV ทัง้ 3 สี จำนวนสลี ะ 5ตัว โดยนบั พรอ้ มกัน
ความเร็วเคลื่อนที่ของวัตถุ
ครั้งท่ี 0.5 เมตร/วนิ าที 1.0 เมตร/วนิ าที 1.5 เมตร/วินาที
สีขาว สเี หลอื ง สีฟ้า สขี าว สีเหลอื ง สีฟา้ สขี าว สเี หลือง สีฟ้า
155 545 245 2
255 545 235 2
355 545 334 2
455 545 244 1
555 545 235 2
655 545 343 2
755 555 433 3
855 545 345 2
955 545 244 2
10 5 5 4 4 5 2 4 4 2
%error 0 0 2 18 0 50 28 16 60
จากการทดลองนับคลิปก้ามปู PVC ทั้งสามสี จำนวนสลี ะ 5 ตวั พร้อมกนั ดว้ ยความเร็วท่ี
0.5m/s – 1.5m/s ตามลำดับ พบว่าในการนับจำนวนคลิปก้ามปู PVC สีฟ้าด้วยความเร็วที่ 0.5m/s
มีการนับท่คี ลาดเคล่อื นคิดเปน็ เปอร์เซน็ ได้ 2% คา่ ความคลาดเคลื่อนอืน่ ๆ ดงั ผลการทดลอง
73
บทที่ 5
สรุปผล และข้อเสนอแนะ
/
/
จากการดำเนินโครงงานในสถานประกอบการ ในการจัดทำเครื่องนับจำนวนวัตถุด้วย
คอมพิวเตอร์วิทัศน์ เพื่อนำมาใช้ในการนับจำนวนที่เกิดจากการผลิตสามารถสรุปผลการดำเนินงาน
โครงงานดังต่อไปนี้
5.1 สรปุ ผล
จากผลการทดลองเครื่องนบั จำนวนวัตถดุ ว้ ยคอมพิวเตอรว์ ิทัศน์ดังท่กี ลา่ วมาแสดงให้เห็น
ว่าเครอ่ื งสามารถนับจำนวนวตั ถุได้อย่างมปี ระสิทธภิ าพกรณีทนี่ ับแยกสีด้วยความเร็วตัง้ แต่ 0.5m/s –
1.5m/s และมีค่า error อยู่ที่ 7.5% นั่นคือวัตถุสีน้ำฟ้าทำให้เกิดการนับที่ผิดพลาดด้วยความเร็วที่
1.5m/s เนื่อจากสีใกล้เคียงกับสีของสายพานลำเลียง แต่วัตถุอื่นก็ยังสามารถนับจำนวนได้อย่างมี
ประสิทธิภาพ แสดงให้เห็นถงึ เคร่อื งนนั้ สามารถนบั วัตถุไดจ้ รงิ
จากผลการทดลองในกรณีที่มีการนับจำนวนพร้อมกันทั้ง 3 สีทำให้เกิดการนับจำนวน
ผิดพลาดมีค่า %error สูงเนื่องจากทั้ง 3 สี มีค่าความสว่างใกล้เคียงกันจึงทำให้การปรับค่า HSV
ค่อนข้างยาก และสายพานเมื่อมีการเคลื่อนที่ด้วยความเร็วตั้งแต่ 1-1.5m/s จะทำให้การนับจำนวน
น้นั เกดิ ขอ้ ผิดพลาดในการนับ
5.2 ข้อเสนอแนะ
5.2.1 ในการตรวจนับควรใชก้ ารตรวจจับแบบ Single Frame เพราะการนับแบบต่อเน่ือง
จะทำให้เกิดความผดิ พลาดสูง
5.2.2 ควรมี Cover ปดิ ตรงบรเิ วณท่มี กี ารตดิ ตง้ั กล้องและใช้ Light Source จะทำให้การ
ตรวจจบั และนบั จำนวนมีประสทิ ธิภาพมากย่งิ ขน้ึ
5.2.3 ใช้ภาษา C++ หรือภาษาอื่น ๆ ที่ไม่ใช้การแปรภาษาแบบ Interpreter เนื่องจาก
ภาษาไพธอนมีการทำงานแบบทลี ะบรรทัดทำให้การทำงานมีความชา้ กวา่ ภาษาอน่ื ๆ
5.2.4 ใช้สายพานลำเลียงที่มี encoder เพื่อความแม่นยำในการเคลื่อนที่ เนื่องจาก
สายพานที่ใช้ในการทดสอบจัดทำขึ้นมาเอง จึงทำให้เกิดข้อผิดพลาดบางประการทำให้สายพาน
เคลอ่ื นท่ีได้ไมส่ มำ่ เสมอ
74
บรรณานกุ รม
สุชาติ คุ้มมะณ.ี (2558). เช่ยี วชาญการเขียนโปรแกรมด้วยไพธอนภาษาไพธอน [ไฟล์ PDF].
หน้า 18-22, เขา้ ถึงได้จาก: https://www.theconfig.me/p/programming-expert-
with-python.html
สบื คน้ เมือ่ วันที่ 10 กันยายน 2564,
กอ้ ง รกั สยาม. (2564). การประมลผลภาพ (Image processing). [ออนไลน์].
เข้าถงึ ได้จาก: https://kongruksiam.medium.com
สืบคน้ เมอื่ วันที่ 10 กันยายน 2564,
ศุภกจิ เกรียงขจร. (2562). การแยกสว่ นประกอบภาพ (Image Thresholding). [ออนไลน์].
เขา้ ถึงได้จาก: https://www.skconan.com/image-simple-thresholding/
สืบคน้ เม่ือวนั ที่ 12 กนั ยายน 2564,
ตัวดำเนนิ การการเปล่ียนแปลงลกั ษณะรูปร่างหรือโครงร่างของภาพ. (2565). [ออนไลน์].
เขา้ ถึงไดจ้ าก: https://phyblas.hinaboshi.com/oshi12
สบื ค้นเมื่อวนั ที่ 12 กนั ยายน 2564,
สรุ พงษ์ กนกทิพยส์ าธาราภรณ์. (2564). กล่องขอบเขต (Bounding Box). [ออนไลน์].
เข้าถงึ ไดจ้ าก: https://www.bualabs.com/archives/3453/
สือค้นเมื่อวนั ท่ี 28 กันยายน 2564,
75
ภาคผนวก
76
ภาคผนวก ก
Raspberry Pi 4 Model B
77
DATASHEET Raspberry Pi 4 Model B
1. Introduction
The Raspberry Pi 4 Model B (Pi4B) is the first of a new generation of
Raspberry Pi computers supporting more RAM and with significantly enhanced CPU,
GPU and I/O performance; all within a similar form factor, power envelope and cost
as the previous generation Raspberry Pi 3B+.
The Pi4B is available with either 1, 2 and 4 Gigabytes of LPDDR4 SDRAM.
2. Features
2.1 Hardware
• Quad core 64-bit ARM-Cortex A72 running at 1.5GHz
• 1, 2 and 4 Gigabyte LPDDR4 RAM options
• H.265 (HEVC) hardware decode (up to 4Kp60)
• H.264 hardware decode (up to 1080p60)
• VideoCore VI 3D Graphics
• Supports dual HDMI display output up to 4Kp60
2.2 Interfaces
• 802.11 b/g/n/ac Wireless LAN
• Bluetooth 5.0 with BLE
• 1x SD Card
• 2x micro-HDMI ports supporting dual displays up to 4Kp60
resolution
• 2x USB2 ports
• 2x USB3 ports
• 1x Gigabit Ethernet port (supports PoE with add-on PoE HAT)
• 1x Raspberry Pi camera port (2-lane MIPI CSI)
• 1x Raspberry Pi display port (2-lane MIPI DSI)
• 28x user GPIO supporting various interface options:
– Up to 6x UART
– Up to 6x I2C
78
– Up to 5x SPI
– 1x SDIO interface
– 1x DPI (Parallel RGB Display)
– 1x PCM
– Up to 2x PWM channels
– Up to 3x GPCLK outputs
2.3 Software
• ARMv8 Instruction Set
• Mature Linux software stack
• Actively developed and maintained
– Recent Linux kernel support
– Many drivers upstreamed
– Stable and well supported userland
– Availability of GPU functions using standard APIs
3. Mechanical Specification
79
4. Schematic Board
80
ภาคผนวก ข
I/O Board
81
1. แนะนำบอรด์ I/O
บอร์ด I/O เป็นบอร์ดทสี่ รา้ งมาสำหรบั เชื่อมตอ่ เข้ากับบอร์ด Raspberry Pi เพ่ิมนำไปใช้
เปน็ ตัวรบั อินพตุ และเอาตพ์ ุตโดยวงจรจะถกู แยกแหลง่ จา่ ยโดยใช้ Optocoupler เบอร์ PC817 ใน
การทไ่ี ม่ให้สญั ญาณรบกวนเข้าไปส่บู อรด์ Raspberry Pi และนำคุณสมบัตดิ ังกลา่ วมาทำให้สามารถ
นำแรงดนั ตำ่ ควบคมุ แรงดนั สูงได้
2. คณุ สมบัติ
2.1 รองรับแรงดนั 12V-15V กระแส 1.5A
2.2 มชี ่องสญั ญาณอินพุต 8 ช่องสัญญาณ
2.3 มีชอ่ งสญั ญาณเอาต์พุต 8 ชอ่ งสญั ญาณ
3. แผนผงั วงจร
82
ภาคผนวก ค
กลอ้ งเวบ็ แคม Logitech รนุ่ C505e
83
DATASHEET
C505E HD WEBCAM
1
2
3
1. HD 720p widescreen video: A 60° diagonal field of view along with HD
720p/30
fps resolution, fixed focus and auto light correction helps adjust to most lighting.
2. Mono, long-range microphone: The single, omnidirectional mic is
engineered
to support clear, natural conversation up to 3 meters away, even in busy office
environments.
3. Extra-long USB-A cable extends setup options: With its USB cable and
universal clip, position it securely on a laptop or external screen, or mount it up to
7 ft (2 m) away from your computer
Supports resolutions 720p (HD) @30fps to best support the quality
offered by your application and monitor.
Video 60° diagonal fixed field of view (dFOV).
RightLight™ 2 auto light correction for clear image in various lighting
environments ranging from low light to direct sunlight
Audio Noise-reducing, single, omni-directional mic with long-range pickup
up from up to three meters away.
Connectivity Easily connects via USB-A; cable length of 7 ft (2 m)
Mounting Universal clip fits on laptops, LCD, or monitors
Options
84
Works with Windows, Mac, or Chrome based computer via USB-A
and with common calling applications such as Microsoft® Teams,
Compatibility Skype for Business, Google Meet and Voice™, Zoom™, Cisco
Jabber™ and others to ensure compatibility and seamless
integration in the workplace.
Part number 960-001385
Dimensions & weight Without clip: Height including clip: Height
x Width x Depth: x Width x Depth: 1.26
1.26 in (31.91 mm) in (31.91 mm) x 2.87
General x 2.87 in (72.91 in (72.91 mm) x 2.62
mm) x .95 in (24.19 in (66.64 mm) Weight:
mm) Cable Length: 2.65 oz (75 g)
7 ft (2 m)
85
ภาคผนวก ง
ภาพขณะปฏบิ ัติงาน