วันเสาร์ที่ 26 เมษายน พ.ศ. 2557

Interactive(week11 Physical Computing & consult Full Project with P'Ohm)


            วันนี้เป็น class แรกหลังจากปิดยาวช่วงสงกรานต์ ซึ่่งวันนี้เป็นวันที่พวกเรานัดว่าจะทำการพรีเซนต์งาน Project Prototype ซึ่งก่อนที่จะทำการพรีเซนต์งานนั้น อาจารย์ได้สอน lecture สุดท้ายของ class เรียนโดยเป็นเรื่องเกี่ยวกับ Physical Computing

            Physical Computing คืออะไร? ถ้าตอบแบบกว้างๆ ก็คือ การสร้างระบบหรืออุปกรณ์เครื่องมือ (Hardware) และโปรแกรม (Software) เพื่อติดต่อและโต้ตอบกับโลกภายนอกได้ เช่น เครื่องใช้ไฟฟ้าหลายๆ อย่าง ไม่ว่าจะเป็น ทีวี ไมโครเวฟ เครื่องซักผ้า ฯลฯ ซึ่่งหากมองถึงวิชา Interactive นี้แล้วคงหนี Physical Computing ไม่พ้นแน่ๆ แต่หากการ interac นี้ไม่ได้เกี่ยวกับ เครื่องใช้ไฟฟ้าที่เจอในชีวิตประจำวัน แต่เป็นการออกแบบและสร้างสรรค์นวัตกรรมใหม่ๆที่สามารถทำงานโต้ตอบกับมนุษย์ได้ โดยความลับของการตอบโต้นี้คือ การใช้ sensor ต่างๆรับผลของการกระทำที่เปลี่ยนไปของมนุษย์แล้วเข้าไปประมวลผลผ่าน ตัว microcontroller ว่าจะตอบโต้กลับไปเช่นไร 
Physical computing
การ Transduction Energy ของคนไปเป็น Electric Signal

                 ในคาบเรียนนี้ได้พูดถึงการที่อุปกรณ์ต่างๆสามารถ Stand alone ได้ ซึ่งหมายถึงว่าอุปกรณ์ต่างๆสามารถประมวลผลและแสดงผลออกมาได้ด้วยตัวของมันเอง โดยหลักที่สำคัญคือ พกพาได้สะดวกเพราะในปัจจุบันการนำ Physical Computing มาติดกับเสื้อผ้าก็เป็นสิ่งที่กำลังเป็นที่นิยมมาก ซึ่งโดยการทำงานหลักๆของตัว Microcontroller นี้คือเป็นตัวประมวลผลที่สามารถเย็บติดเสื้อผ้าได้หรือสิ่งต่างๆได้ เช่น Lilypad arduino ซึ่งงานของเจ้า Lilypad  นี้คือการประมวลผลว่าจะแสดงผลต่างๆอย่างไร ซึ่งหลักสำคัญไม่ได้อยู่ที่การประมวลผลอย่างมากมายมหาศาล แต่หลักของมันคือพกพาได้สะดวก และสามารถเย็บติดกับอะไรก็ได้ เท่าที่ผมอ่านมา เจ้า Lilypad นี้สามารถนำไปซักได้โดยไม่เสียอีกด้วย
Lilypad Arduino



             อีกเรื่องนึงที่อาจารย์ได้พูดถึงในคาบเรียนนี้คือ Design pattern Software Architecture เป็นการพูดถึงหลักการออบแบบโครงสร้างของ software ให้สามารถใช้งานได้ง่ายโดยหลักของมันคือให้คนที่อยากเรียนรู้สามารถเรียนรู้การใช้โปรแกรมได้ง่าย ซึ่ง Arduino bord ก็มีโครงสร้างของ software ที่ออกแบบให้ใช้งานง่าย โดยได้รับการออกแบบจาก artist ทำให้ผู้ที่เรียนรู้การใช้โปรแกรมนี้สามารถเรียนรู้ได้โดยไม่ยากเกินไป

เกร็ดความรู้
โดยทั่วไปแล้ว engineer จะมีหลักความคิดโดยด้วยการมีหลักการและคิดถึงฟังก์ชันการทำงานต่างๆ แต่หาก engineer สามารถผสมความ art เข้าไปโดยคิดถึงหลักการ activity จะทำให้สิ่งประดิษฐ์เดิมๆดูมีอะไรมากยิ่งขึ้นตัวอย่างเช่น การสร้างหุ่นยนต์ให้สามารถตอบโต้กับคนได้ + ตุ๊กตาน่ารักๆ จึงได้ตุ๊กตาที่สามารถโต้ตอบกับคนได้เช่น ตุ๊กตาเฟอบี้นั่นเอง ซึ่งตุ๊กตาเฟอบี้นี้ก็ได้นำหลักการนี้มาใช้เช่นกัน
เฟอบี้ - หลักการของ engineer + หลักความอาร์ตของศิลปิน

       ต่อจากการเรียนในคลาสแล้ว AM:PM ของเราได้ทำการพรีเซนต์ Project prototype ในคลาสเรียนซึ่งก็ผ่านไปด้วยดี โดยอาจารย์ได้บอกว่าให้ทุกกลุ่มนั้นไปปรึกษาโปรเจคกับพี่โอห์ม เพื่อทำการออกแบบ story ของงานและออกแบบวงจรให้ดีขึ้น ซึ่งในเย็นวันถัดไปกลุ่มของเราก็ได้เข้าไปปรึกษาพี่โอห์มที่ตึก Inovation ชั้น 11 ซึ่งในวันนั้นพี่โอห์มก็ได้ให้เราเลือกระหว่าง เปลี่ยนจาก LDR เป็น IR sensor เพราะการใช้ LDR นั้นเมื่อเปลี่ยนห้องเปลี่ยนแสง จะทำให้วงจรของเรานั้นรวน ต้องทำการเซ็ตค่าใหม่ทุกครั้ง แต่ก็ยังติดปัญหาอีกว่าหากใช้ IR sensor แล้วเมื่อนำอะคิริคมาบังเพื่อทำเป็นโต๊ะแล้ว IR sensor จะอ่านค่าผิดเพี้ยนไปหรือเปล่า หรือจะเลือก ใช้ LDR เหมือนเดิมโดยปรับการจัดแสงและจัดการรับแสงของตัว LDR ให้ง่ายยิ่งขึ้น ซึ่งเมื่อเราหาข้อมูลแล้ว IR sensor สามารถมีวัตถุอื่นที่ไม่มีชีวิตมาบังได้โดยไม่ทำให้ค่าผิดเพี้ยนไปทำให้เราเลือกที่จะใช้ IR sensorครับ


       เมื่อทำการสรุปแล้วกลุ่มเราจะเปลี่ยนเป็นไปใช้ IR sensor แทนและทำการเปลี่ยน LED จากหลอดปกติเป็น Led strip โดยคอนเซ็ปของกลุ่มเราจะทำเป็นโต๊ะกาแฟที่มีการ interac กับผู้ใช้ โดยพี่โอห์มยังแนะนำอีกว่าให้แสดงการติด-กับของ LED ให้ smooth มากกว่านี้ หมายถึงการเซ็ตให้ LED ติดแบบแรนดอมบริเวณที่เกี่ยวข้องเมื่อมีการเคลื่อนไหว ไม่ใช่แค่ติด- ดับเฉยๆที่ดวงเดิมๆเพราะจะดูแข็งเกินไป โดยโต๊ะกาแฟนี้มีขนาดประมาณ ฟุตครึ่ง กลุ่มเราจึงได้เสนอพี่โอห์มว่าบอร์ดใหม่ของเราจะแบ่งเป็น 4 ส่วนแล้วนำมาต่อกันทีหลัง เพื่อให้การทำงานของเราเป็นไปได้สะดวกขึ้น(ไม่ใหญ่เกินไป) และยังสะดวกต่อการนำไปให้ชาวเขาอีกด้วย ซึ่งพี่โอห์มก็ได้รับทราบและเห็นด้วยกับความคิดของกลุ่มเราครับ

LED strip
IR sensor





วันศุกร์ที่ 18 เมษายน พ.ศ. 2557

Service Design

Service Design

               ในปัจจุบัน ธุรกิจต่างๆมีผู้แข่งขันที่ทำสินค้าที่มีรูปแบบเดียวกัน คุณภาพใกล้เคียงกันอยู่มากโดยคู่แข่งต่างๆนี้มีอาจกลุ่มลูกค้าเดียวกัน สิ่งหนึ่งที่ทำให้เรา อาจแย่งลูกค้าเพื่อเพิ่มส่วนแบ่งในตลาดได้นั่นคือ "Service Design" นั่นเองซึ่งหลักการของ Service Sesign มีอยู่ 7ปัจจัย หรือ 7Ps คือ Product , Price , Place , Promotion , People , Process และ Physical Evidence ซึ่งเราจะพูดถึงเฉพาะ People , Process และ Physical Evidence ซึ่งเป็นส่วนที่เพิ่มออกมาจาก 4Ps ที่มีอยู่เดิม

                        People คือการสร้างความสัมพันธ์กับลูกค้าและผู้ให้บริการ 
                        Process คือการออกแบบระบบที่ลูกค้าใช้บริการได้อย่างสะดวกราบลื่น
                        Physical Evidence คือการออกแบบจุดบริการเพื่อให้ความสะดวกแก่ลูกค้า

             โดยการทำ Service Sesign จะเข้ามามีบทบาทด้วยการนำวิธีคิดและหลักการของการออกแบบมาใช้กับงานบริการกับปัจจัยที่เพิ่มขึ้นมานี้โดยมีองค์ประกอบ 3 ส่วนคือ Exploration , Creation และ Implementation โดยองค์ประกอบแรก Exploration คือการค้นคว้า วิจัย วิเคราะห์เและรวบรวมข้อมูลไปใช้แก้ปัญหาซึ่งจะทำให้เรามองเห็นภาพรวมของธุรกิจ ซึ่งจะทำการค้นหาปัญหาว่าจริงๆแล้วปัญหาคือไรและอะไรเป็นสิ่งที่ต้องแก้ไข เช่น ใช้การลงพื้นที่เพื่อทำการสังเกตพฤติกรรมของลูกค้าอย่างละเอียด และทำการสัมภาษณ์ผู้ที่เกี่ยวข้องกับการใช้บริการ แล้วนำปัญหาที่พบมาเป็นโจทย์ไปทำการแก้ไขต่อไป

        องค์ประกอบที่สอง Creation คือการออกแบบแนวคิดที่ควบคู่กันระหว่าง "เหตุผลและความคิดสร้างสรรค์" ที่ใช้ในการแก้ปัญหาที่แท้จริงที่ได้จากขั้นตอน Exploration ซึ่งการออกแบบนี้อาจใช้การจำลองขั้นตอนบริการต่างๆไปทีละขั้นอย่างครอบคลุมทั้งระบบ "Design Scenarios"และ "Customer Journey" จะทำให้เราสามารถเห็นได้ถึงภาพรวมของการบริการได้

         และองค์ประกอบสุดท้าย Implementation คือการนำ Idea จากขั้นตอน Creation มาทดลองเพื่อหาข้อผิดพลาดและปรับปรุงให้สามารถใช้ได้จริง โดยอาจใช้วิธีการสร้างแบบจำลองจริงๆเพื่อใช้ทดสอบแนวคิดว่าในขณะที่ใช้งานจริง ลูกค้าและผู้ให้บริการจะมีปฏิสัมพันธ์อย่างไร แล้วทำการเก็บแบบสอบถามเพื่อประเมินแบบทดสอบหาความบกพร่องของบริการอีก และหลังจากที่ได้การออกแบบการบริการที่สมบูรณ์แล้ว การทำ Service Blueprint ขึ้นมาจะทำให้เป็นเครื่องมือสำคัญในการใช้บริการต่างๆของลูกค้า ผู้บริหารและพนักงานหน้าร้านสามารถเข้าใจถึงกระบวนการต่างๆในแต่ละขั้นตอน

       หากเราทำService Design ที่ดีแล้วจะทำให้เราสามารถรักษาและขยายฐานลูกค้าได้อย่างมีระบบและยังเห็นภาพรวมเพื่อแก้ไขปัญหาในอนาคตที่อาจเกิดขึ้นได้อย่างถูกจุดและทันท่วงที













Project Prototype (Interactive Table)

         หลังจากกลับบ้าน 3-4 วันเพื่อกลับบ้านในวันสงกรานต์ ในวันที่17เมษานี้เอง ผมได้นัดรวมเพื่อนๆในกลุ่มมาทำโปรเจค โดยที่ก่อนหน้านี้ได้ช่วยกันออกแบบลายปริ้นของวงจรด้วยโปรแกรม proteus มาแล้วโดยมีลายวงจรตามรูปด้านล่างนี้ โดยหลักการออกแบบคือ ใช้ตัวรับแสง(LDR)เป็นตัวส่งค่า input เข้า port ของ arduino controller โดยจะต้องต่อไฟเข้าและกราวเข้า LDR อีกด้วย และเมื่อมีการส่งค่า input จาก LDR แล้ว controller จะส่งค่า output ออกไปยัง portที่เชื่อมต่อกับ LED
ลายวงจร
หลักการออกแบบวงจรที่ใช้LDR และ LED

           จากที่ได้ออกแบบลายแผ่นปริ้นแล้ว ในตอนเช้าของวันที่ 17 ผมได้โทรไปติดต่อภาค ENE ขอใช้เครื่องมือกัดแผ่นปริ้นซึ่งทางภาค ENE ก็ได้รับทราบและอนุญาตให้ใช้อุปกรณ์ได้ ผมจึงได้ไปหาซื้ออุปกรณ์คร่าวๆเท่าที่คิดออกได้ตอนนั้นราคารวมๆแล้วประมาณ 500 บาทซึ่งจะประกอบไปด้วย แผ่น PCB , LED , LDR , ตัวต้านทาน และแผ่น Dryflim (เนื่องจากวงจรมีความละเอียดมากจึงกัดปริ้นโดยใช้ Dryflim จะทำให้ลายที่กัดนั้นสมบูรณ์มากยิ่งขึ้น) โดยอุปกรณ์จำเป็นอื่นๆ เช่นสว่าน หรือหัวแร้งทางกลุ่มเราได้ยืมจากที่ภาคมาใช้

       จากที่ตอนแรกผมได้ติดต่อใช้เครื่องเซาะร่อง ซึ่งเป็นเครื่องที่สามารถกัดลายปริ้นที่ออกแบบจากโปรแกรมได้ง่ายกว่าการกัดแผ่นปริ้น แต่พอถึงเวลาจริงก็ทำให้ต้องใช้การกัดแผ่นปริ้นแบบเดิมเพราะการใช้เครื่องเซาะร่องนั้นมีลิมิตขนาดของแผ่นปริ้นที่กัด ซึ่งจะส่งผลให้ Prototype ของเรานั้นมีขนาดเล็กลงและอีกอย่าง หากลายวงจรเล็กเกินไปจะทำให้การบัดกรีนั้นลัดวงจรได้ง่ายมากๆ สุดท้ายเราจึงตัดสินใจใช้การกัดแผ่นปริ้นแบบ ใช้ dryflim เหมือนเดิม
การกัดแผ่นปริ้นโดยใช้เครื่องเซาะร่อง
         โชคดีของกลุ่มเราคือกลุ่มของผมได้เรียนวิชา embedded system มาบ้าง ซึ่งสอนวิธีการกัดแผ่นปริ้นมาจึงทำให้มีพื้นฐานให้การกัดแผ่นปริ้นอยู่บ้างแต่ปัญหาหลักคือ ไม่มีใครเคยใช้ dryflim ที่เป็นตัวช่วยในการกัดแผ่นปริ้นเลย เราจึงเก๊ๆกังๆอยู่พอสมควร โดยหลักการของการใช้ dryflim คือนำแผ่น dryflimไปแปะกับแผ่น pcb ให้แนบสนิทแล้วรีดทำให้เรียบ (ลืมบอกไป!! ในขั้นตอนที่ใช้ dryflim นั้นจะต้องทำในห้องมืดเท่านั้น เพราะหากแผ่น dryflim ถูกแสง uv จะทำให้เสียทันที) เมื่อเราได้แผ่น pcb ที่ถูกแปะทับด้วยแผ่น dryflim แล้วให้เรานำแผ่นลายวงจรที่ปริ้นออกมากแบบ negative มาวางทับลงบนแผ่นpcbอีกทีแล้วทำการฉายแสง UV ลงไป(negative flim คือฟิลมที่ปริ้นสีสลับจากขาวเป็นดำ ดำเป็นขาวเหมือนรูปด้านบนสุด โดยส่วนที่เป็นสายไฟจะโปร่งใสให้แสงผ่านได้)โดยเมื่อเวลาแผ่น dryflim ถูกแสง UV แล้วส่วนนั้นจะกลายเป็นลายไปติดอยู่บนแผ่น pcb (พอจะนึกออกมั้ยครับ) เมื่อผ่านไป20นาทีนำแผ่น pcb ที่มีลายวงจรติดแล้วไปล้าง dryflim ออกให้หมดโดยใช้ แคลเซียมคาบอเนต ซึ่งเมื่อได้ลายวงจรตามต้องการแล้วเราก็นำแผ่น pcbไปแช่น้ำกรดจึงได้แผ่น pcb ที่สมบูรณ์ออกมาโดยปัญหาอีกอย่างหนึ่งของเราก็คือเราหาที่กัดแผ่นปริ้นไม่ได้ เพราะมีขนาดใหญ่เกินไปทำให้เสียน้ำยากัดไปหลายขวด สุดท้ายเราจึงนำแผ่น pcb ไปกัดในอ่างล้างจานโดยเอาดินน้ำมันมาอุดรูไว้จนได้แผงวงจรที่เสร็จออกมา
นำแผ่น pcb ที่ถูกแปะด้วย dryflim ไปฉายแสง UV เพื่อให้ได้ลายวงจรตามที่ออกแบบไว้
         ขั้นตอนต่อไปหลังจากได้แผ่นปริ้นออกมาแล้วคือเช็ควงจรทั้งหมดว่ามีความสมบูรณ์มากน้อยแค่ไหน แล้วทำการซ่อมให้ใช้การได้ เช่น หากมีจุดที่ลัดวงจรก็นำคัทเตอร์ไปทำการขูดทองแดงออก หรือหากมีจุดที่ทองแดงขาดก็จะทำการบัดกรีเชื่อม จากนั้นก็ทำการเจารูแผ่นปริ้นเพื่อให้ทำการใส่ขาของ ตัวต้านทาน , LED , LDR , ขาต่อไฟ , ขาต่อกราว และขาส่ง data ตามที่ได้ออกแบบไว้แล้วทำการใส่ LDR , LED และ ตัวต้านทานลงไปแล้วทำการบัดกรีก็เป็นอันเสร็จสมบูรณ์แล้วสำหรับวงจร H/W ของเรา
บัดกรีวงจรเข้าด้วยกัน


นำบอร์ดไปเชื่อมต่อกับ controller
             ขั้นตอนต่อไปคือการนำวงจรที่เสร็จแล้วมาเชื่อมต่อกับport ต่างๆของ controller ให้ถูกต้อง โดยที่เราต้องเช็คค่าที่วัดได้จาก LDR มาปรับให้พอดีกับแสงสว่างของห้องในเวลาปกติ และเวลาที่มีเงาบัง และทำการเช็ค LED ทุกดวงว่าเชื่อมกับวงจรได้ถูกหรือไม่ ซึ่งในขั้นตอนนี้กลุ่มเราได้พบปัญหาอยู่ 2 อย่างคือ การบัดกรีไม่แน่นพอทำให้บางครั้งไฟติดๆดับๆ และport ของ controller เสียบาง port เราจึงแก้ปัญหาโดยการเปลี่ยนไปใช้ port อื่น จึงเป็นการเสร็จสิ้นการทำ Interactive Tableของกลุ่มเราครับ