Arnan Sipitakiat


การทำ Scratch รุ่นปรับปรุงให้ใช้งานได้บน Raspberry Pi

เนื่องจากทางห้องวิจัย LIL ได้พัฒนาโปรแกรม Scratch รุ่นพิเศษขึ้นมาเพื่อให้มีคำสั่งในการควบคุมการทำงานของชุดหุ่นยนต์ GoGo Board โดยจะมีประโยชน์มากเมื่อนำไปใช้กับบอร์ดใหม่ที่ชื่อ PiTopping ซึ่งคือ GoGo Board รุ่นดัดแปลงย่อส่วนให้ขี่อยู่บน Raspberry Pi ได้ แต่ปัญหาที่พบคือ Scratch รุ่นที่ปรับปรุงนี้ไม่สามารถรันบน Raspberry Pi ได้ จึงเป็นปัญหาทำให้โครงการนี้ชะงักไประยะหนึ่ง แต่ถึงวันนี้สามารถแก้ไขปัญหาได้แล้วจึงนำวิธีการมาเรียบเรียงไว้ที่นี่


บันทึกแนวการจัดแข่ง GoGo Cup

การจัดแข่ง GoGo Cup หรือการแข่งเขียนโปรแกรมควบรถหุ่นยนต์ให้วิ่งไปทำภาระกิจต่างๆ ที่กำหนด เป็นกิจกรรมยอดนิยมกิจกรรมหนึ่งของห้อง LIL เวลาทำค่าย แต่ถึงแม้จะทำมาหลายรอบแล้วก็มักลืมรายละเอียดที่สำคัญหลายอย่างไป อย่างวันนี้จัด GoGo Cup ให้กับกลุ่มสามเณร ก็พบว่าลืมแนวทางสำคัญไปหลายอย่าง จึงอยากเขียนไว้เพื่อให้คราวหน้าจะทำได้ดีขึ้นมีการเตรียมที่พร้อมขึ้น ภาระกิจ ภาระกิจที่ 1 – บังคับรถเป็นเส้นตรงให้ชนลูกบอลหมายเลข 1 ล้ม โดยรถไม่ตกจากสนาม ภาระกิจที่ 2 – บังคับรถให้เลี้ยวซิกแซกไปชนลูกบอลหมายเลข 2 โดยห้ามชนหมุดที่วางไว้หรือตกจากสนาม ภาระกิจที่ 3 -บังคับรถให้ไปชนลูกบอลหมายเลข 3 โดยตำแหน่งของบอลจะเปลี่ยนแปลงทุกครั้งที่แข่ง โดยผู้แข่งสามารถวางแถบสีดำในตำแหน่งที่ต้องการได้ เพื่อใช้เป็นเครื่องหมายบอกทางให้กับรถผ่านทางการใช้เซ็นเซอร์ กำหนดให้รถเลี้ยวได้เพียงครั้งเดียวเท่านั้น ข้อแนะนำ เวลาที่ใช้ทำภาระกิจอย่างง่าย 3 ภาระกิจ คือ วิ่งเป็นเส้นตรง, ซิกแซก, และการใช้เซ็นเซอร์เล็ง มักใช้เวลาครึ่งวันในการแข่ง ถ้ามีการประกอบรถด้วยก็จะนานกว่านั้น  ควรกำหนดหมายเลขกลุ่มให้กับผู้แข่งขัน และสร้าง Google […]


เบื้องหลังการพัฒนา Bootloader ให้ PIC18F66J50

คนในแวดวงนี้คงรู้จัก Bootloader เป็นอย่างดีว่า มันเป็นโปรแกรมที่ช่วยให้เราสามารถโหลด Firmware ลงไปใน PIC ผ่านทาง serial หรือ USB โดยไม่ต้องใช้ Burner ซึ่ง Bootloader ที่ว่านี้ก็มีใช้กันในห้อง LIL แล้วภาควิชาวิศวกรรมคอมพิวเตอร์ ที่ มช. มาช้านาน แต่ทุกๆ สองสามปี PIC ที่เป็นตัวนิยมและกลายเป็นมาตรฐานจะเปลี่ยนไปตามยุคตามสมัย ทำให้ต้องคอยพัฒนา Bootloader ให้ใช้งานกับเจ้า PIC ใหม่ๆ ที่ว่านี้ได้ แรกเริ่มเดิมทีก็จะเป็น PIC 16F877 แล้วกลายเป็น 16F887 ต่อมาเปลี่ยนเป็น 18F4550 จนในปัจจุบันตัวใหม่ล่าสุดคือ 18F66J50 เจ้า 18F66J50 เป็น PIC ที่ราคาโดนใจ มี Flash Memory 64K เพิ่มจากตัวยอดนิยมก่อนหน้าเท่าตัว […]


เชื่อมต่อ Web App กับ GoGo Board ผ่าน Web Socket ใน Python

ปกติเวลาเขียน Web Application ขึ้นมา ข้อจำกัดสำคัญสำหรับงานสาย Hardware คือตัว Web Application จะไม่สามารถพูดคุยกับ Hardware โดยตรงได้ ต้องอาศัยตัวกลาง ซึ่งวิธีที่ดูจะมีประสิทธิภาพมากที่สุดในตอนนี้คือการให้ Web Application คุยผ่าน Web Socket ไปยังโปรแกรมที่ run บนคอมพิวเตอร์ซึ่งจะไปพูดคุยกับอุปกรณ์ Hardware (ในที่นี้คือผ่านทาง Serial Port) อีกทอดหนึ่ง จากที่เคยเห็นนักศึกษาพยายามทำวิธีนี้โดยใช้วิธีต่างๆ เช่น Java, PHP และตนเองเคยลองใช้ Unity3D (Mono C#) ค่อนข้างน่าประหลาดใจว่ามันเป็นเรื่องที่ยุ่งยากมาก  เช่นใน Java และ PHP นักศึกษาที่ลองบอกว่าต้องติดตั้ง Apache/Tomcat Web Server ด้วย ส่วนใน Unity3D แม้ไม่ต้องใช้ Apace แต่การใช้งานก็วุ่นวาย […]