จากความน่าเบื่อ สู่จุดเริ่มต้นของโปรเจกต์
ในการทำโปรเจกต์ฮาร์ดแวร์อย่าง ADSBee งานหนึ่งที่น่าเบื่อที่สุดคืองานเช็คสต็อกครับ! ลองจินตนาการว่าคุณต้องมานั่งนับชิ้นส่วนอิเล็กทรอนิกส์ (SMT components) หลักหมื่นชิ้น ตั้งแต่ตัวต้านทานจิ๋วๆ ไซส์ 0201 ไปจนถึงโมดูลใหญ่ๆ อย่าง ESP32 S3 ดูสิครับ
ปกติแล้ววิธีนับแบบลูกทุ่งคือ หาว่าในระยะ 4 มม. (ระยะห่างระหว่างรูบนเทป) มีอะไหล่กี่ตัว แล้วเอาไม้บรรทัดมาวัดความยาวเทปเพื่อคำนวณหาจำนวนชิ้นส่วนทั้งหมด วิธีนี้เวิร์คกับเทปสั้นๆ ครับ แต่ถ้าเป็นม้วนเทปยาวๆ ที่ตัดแบ่งมา มันจะเริ่มมึนและตาลายง่ายมาก
ความจริงผมเคยระดมทุนสนับสนุนโปรเจกต์เครื่องนับอะไหล่ชื่อ BeanCounter บน CrowdSupply ไปแล้วนะ แต่รอมาปีกว่าก็ยังไม่ได้ของ (น่าจะสั่งช้าไปจนหมดลอตแรก และไม่มีลอตสองอีกเลย) หลังจากต้องทนทนมานับอะไหล่ด้วยมือเป็นพันๆ ชิ้น ผมก็ทนไม่ไหวอีกต่อไป ตัดสินใจลุกขึ้นมาสร้างเครื่องนับของตัวเองซะเลย!
View more (ดูภาพเครื่องนับอะไหล่ทั่วไปและ BeanCounter)
ทำไมต้องสร้างใหม่? (The Problem with Existing Solutions)
เครื่องนับอะไหล่ระดับโรงงาน (SMT counter machines) นั้นมีขายทั่วไปครับ แต่มันทั้งแพงและใหญ่เทอะทะ กินพื้นที่บนโต๊ะทำงานที่มีค่าดั่งทองคำในแล็บของผมไปซะหมด
ส่วนตัว BeanCounter แม้จะเล็กพกพาง่าย แต่มันก็มีข้อจำกัดคือ ถูกออกแบบมาเพื่อเทปกระดาษขนาด 8 มม. เท่านั้น ถ้านำไปใช้กับเทปพลาสติกใส, เทปที่ใส่ชิ้นส่วนตัวใหญ่ๆ (อย่าง ESP32) หรือเทปที่มีหลุมลึกๆ (อย่างคาปาซิเตอร์) มันจะใส่เข้าช่องอ่านไม่ได้เลย เครื่องใหม่ที่ผมจะสร้างจึงต้องตอบโจทย์เรื่อง รองรับเทปได้ทุกสี ทุกวัสดุ และทุกความกว้าง!
กลไกการทำงานของ Dotterboard
หลังจากนั่งมึนอยู่กับโปรแกรม CAD ไม่กี่วัน ผมก็ได้คลอดโซลูชันที่ชื่อว่า Dotterboard ออกมาครับ!
-
กลไกเฟือง (Sprocket Wheel): ใช้ชิ้นส่วนที่สร้างจาก 3D Printer ทำหน้าที่เป็นเฟืองไปเกี่ยวเข้ากับรูของม้วนเทป SMT (เหมือนเฟืองฉายหนังสมัยก่อน) ซี่เฟืองแต่ละซี่จะมีช่องว่างทะลุอยู่ด้านใน
-
การอ่านค่า (Quadrature Encoder): ใช้เซ็นเซอร์ก้ามปู (IR Slot Sensors) 2 ตัว คอยอ่านจังหวะที่ช่องว่างของเฟืองตัดผ่าน โดยตั้งให้เยื้องกัน 90 องศา (Quadrature) ทำให้บอร์ดรู้ได้ทันทีว่าเรากำลังดึงเทป "เดินหน้า" หรือ "ถอยหลัง" และนับจำนวนรูได้อย่างแม่นยำ
💡 ทริคพิเศษสำหรับงาน 3D Print: เฟืองตัวนี้ผมเปลี่ยนไปใช้หัวฉีด (Nozzle) ขนาด 0.2 มม. พิมพ์ด้วยวัสดุ PETG เพื่อให้ได้ความละเอียดสูงสุด ซึ่งหากใครไม่มีเครื่อง 3D Printer หรืออยากได้งานพิมพ์เนี้ยบๆ สไตล์นี้ สามารถใช้บริการ 3D Printing หรือสั่งซื้อเซ็นเซอร์ต่างๆ ได้ที่ https://openlink.co/globalbyte เลยครับ!
View more (ดูรูปกลไกการทำงานภายใน Dotterboard)
ประสบการณ์เขียนโค้ดด้วย AI และการประกอบร่าง
การแสดงผลจะใช้หน้าจอ OLED พร้อมปุ่มกด 2 ปุ่มครับ ผมใช้ AI อย่าง Claude ช่วยเขียน GUI (ส่วนต่อประสานผู้ใช้) ให้ ซึ่งมันทำออกมาได้สวยงามและใช้งานง่ายกว่าที่ผมคิดไว้ซะอีก ใช้เวลาแค่ 15 นาทีก็ได้ UI กราฟิกรูปม้วนเทปสุดคิวท์มาใช้งานแล้ว
แต่ฝันร้ายมาอยู่ที่ การเขียนโปรแกรมควบคุมเซ็นเซอร์ ครับ! AI เริ่มออกทะเลเมื่อต้องมาจัดการกับการอ่านค่าแบบเรียลไทม์ เพราะระบบ Interrupt ของ MicroPython มักจะไปตีกับตอนที่บอร์ดกำลังส่งข้อมูลภาพขึ้นจอ (I2C transactions) ทำให้บางครั้งเครื่องนับข้ามสเต็ปไป สุดท้ายผมต้องลงมาลุยแก้โค้ด PIO + Interrupt ด้วยตัวเองจนมันทำงานได้ลื่นไหล ไม่พลาดการนับเลยแม้แต่รูเดียว ไม่ว่าจะดึงเทปเร็วแค่ไหนก็ตาม
การต่อวงจรแบบไม่ใช้ PCB (Wire Wrapping): เพื่อความรวดเร็ว ผมตัดสินใจไม่สั่งทำแผ่นปรินต์ (PCB) แต่ใช้วิธีดันขา Pin ของบอร์ด RP2040 Zero ขึ้นมา แล้วใช้วิธีพันสายไฟ (Wire wrap) เชื่อมต่อเซ็นเซอร์ หน้าจอ และปุ่มกดเข้าด้วยกันโดยตรงเลยครับ ดิบๆ แต่เวิร์ค!
View more (ดูรูปการประกอบวงจรและการแสดงผลหน้าจอ)
สภาพการเดินสายด้วยวิธี Wire wrap:
วิธีใช้งาน และแผนในอนาคต
เครื่อง Dotterboard ใช้ไฟจากสาย USB-C ครับ การใช้งานก็ง่ายมาก:
- กดปุ่มบน: เพื่อเพิ่มจำนวนชิ้นส่วนต่อ 1 รูเฟือง
- กดปุ่มล่าง: เพื่อลดจำนวนชิ้นส่วน
- กด 2 ปุ่มพร้อมกัน: เพื่อเคลียร์ค่านับกลับเป็นศูนย์
ตัวเครื่องสามารถนับขึ้น นับลง (ติดลบก็ยังได้) และกราฟิกบนหน้าจอจะอัปเดตตามระยะห่างของชิ้นส่วนที่เราตั้งค่าไว้ครับ
ผมได้เปิดเป็น Open Source บน GitHub เผื่อใครอยากเอาไปทำเล่นบ้าง ถ้ามีคนสนใจเยอะ ผมอาจจะทำเป็นเวอร์ชัน PCB สำเร็จรูปขายเลยก็ได้ครับ
รายการอุปกรณ์และไฟล์ 3D (Shopping List & Files)
หากคุณอยากลองสร้าง Dotterboard ด้วยตัวเอง นี่คือรายการอุปกรณ์หลักๆ ที่ต้องเตรียมครับ (คุณสามารถหาซื้อบอร์ด RP2040 และสั่งทำ 3D Print ได้ที่ https://openlink.co/globalbyte ครับ):
- บอร์ดไมโครคอนโทรลเลอร์: RP2040 Zero Modules
- น็อตสกรู: M2x3mm Screws (สำหรับยึดจอและปุ่ม) และ M3 Socket Head Cap Screws
- ตลับลูกปืน (Ball Bearings): ขนาด 3x7x3mm (2 ตัว)
- เซ็นเซอร์ก้ามปู (IR Slot Sensors): จำนวน 2 ตัว
- สปริง: ขนาด 0.4x4x15mm สำหรับทำลูกกลิ้งกดเทป
- ไฟล์ออกแบบ 3D (Mechanical Design): Onshape Design
อัปเกรดทักษะงานประดิษฐ์และเซ็นเซอร์เจ๋งๆ!
อยากประกอบอุปกรณ์อิเล็กทรอนิกส์ล้ำๆ แบบนี้ใช้เอง หรือกำลังมองหาบอร์ดและเซ็นเซอร์ดีๆ อยู่ใช่ไหม? แวะมาพูดคุยและหาซื้อของเล่นสาย Tech กับเราได้เลยครับ!
คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา โปรดอ้างอิงข้อมูลทางเทคนิคและการต่อวงจรโดยละเอียดจากต้นฉบับ