ประเภทของโครงงานคอมพิวเตอร์
ประเภทของโครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์เป็นพื้นฐานของงานงานวิจัยในทุก ๆ สาขาวิชา ซึ่งมีความหลากหลายทั้งในลักษณะของเนื้อหา กิจกรรม และลักษณะของประโยชน์หรือผลงาน ดังสามารถแบ่งออกเป็นหลายประเภท คือ โครงงานพัฒนาสื่อเพื่อการศึกษา (Educational Media) โครงงานพัฒนาเครื่องมือ (Tools Development) โครงงานประเภทจำลองทฤษฎี (Theory Experiment) โครงงานประเภทการประยุกต์ใช้งาน (Application) โครงงานพัฒนาเกม (Game Development) โครงงานอินเทอร์เน็ตออฟติงค์ (IoT) โดยมีรายละเอียดดังต่อไปนี้
1. โครงงานคอมพิวเตอร์ประเภทสื่อการศึกษา
โครงงานพัฒนาสื่อเพื่อการศึกษา (Educational Media) เป็นโครงงานที่ใช้คอมพิวเตอร์ในการผลิตสื่อเพื่อการศึกษา โดยการสร้างโปรแกรมบทเรียน หรือหน่วยการเรียน ซึ่งอาจจะต้องมีภาคแบบฝึกหัด บททบทวน และคำถามคำตอบไว้พร้อม ผู้เรียนสามารถเรียนแบบรายบุคคลหรือรายกลุ่ม การสอนโดยใช้ สอนนี้ ถือว่าเครื่องคอมพิวเตอร์เป็นอุปกรณ์การสอน ไม่ใช่เป็นครูผู้สอน ซึ่งอาจเป็นการพัฒนาบทเรียนแบบออนไลน์ ให้นักเรียนเข้ามาศึกษาด้วยตนเองก็ได้ โครงงานประเภทนี้สามารถพัฒนาขึ้นเพื่อใช้ประกอบการสอนในวิชาต่าง ๆ ไม่ว่าจะเป็นสาขาคอมพิวเตอร์ วิชาคณิตศาสตร์ วิชาวิทยาศาสตร์ วิชาสังคม วิชาชีพอื่น ๆ ฯลฯ โดยนักเรียนอาจคัดเลือกหัวข้อที่นักเรียนทั่วไปที่ทำความเข้าใจยาก มาเป็นหัวข้อในการพัฒนาโปรแกรมบทเรียน ตัวอย่างเช่น โปรแกรมสอนวิธีการใช้งาน ระบบ โปรแกรมแบบทดสอบวิชาต่าง ๆ โดยการพัฒนาโครงงานคอมพิวเตอร์ประเภทสื่อการศึกษา ผู้เรียนที่จะพัฒนาโครงงานประเภทนี้จำเป็นที่จะต้องใช้เครื่องมือในการพัฒนาโครงงานดังนี้
1.1 โปรแกรม Adobe Flash
เป็นโปรแกรมที่ใช้ในการพัฒนาสื่อมัลติมีเดียที่เอาไว้ใช้สร้างเนื้อหาเกี่ยวกับ Flash ซึ่งตัว Flash Player พัฒนาและเผยแพร่โดย Adobe System ที่เริ่มต้นพัฒนาโดยบริษัท ฟิวเจอร์แวร์ ตอนหลังเปลี่ยนเป็น Macromedia ซึ่งภายหลังถูกควบรวมกิจการเข้ากับ Adobe ซึ่งเป็นโปรแกรมที่ทำให้ เว็บเบราว์เซอร์ สามารถแสดงตัวมันได้ ซึ่งมันมีความสามารถในการรองรับ ภาพแบบเวกเตอร์ และ ภาพแบบแรสเตอร์ และมีภาษาสคริปต์ที่เอาไว้ใช้เขียนโดยเฉพาะเรียกว่า สคริปต์ (ActionScript) และยังสามารถเล่นเสียงและวิดีโอ แบบสเตอริโอได้ Adobe Flash เป็นโปรแกรมแบบ integrated development environment (IDE) เป็นที่นิยมในการเสนอ และ อินเทอร์แอกทีฟ ในเว็บเพจ และในโปรแกรมหลาย ๆ โปรแกรมระบบ และ เครื่องมือต่างๆ ที่มีความสามารถในการแสดง แฟลชได้ และ แฟลชยังเป็นที่นิยมในการใช้สร้าง โฆษณาออกแบบส่วนต่าง ๆ ของเว็บเพจ ใส่วิดีโอบนเว็บและอื่น ๆ อีกมากมาย
ภาพที่ 1 ภาพหน้าจอจากโปรแกรม Adobe Flash
1.2 โปรแกรม Adobe Captivate
โปรแกรม Adobe Captivate เป็นโปรแกรมที่ถูกพัฒนาขึ้นมาเพื่อสนับสนุนการสร้าง Movie ในรูปแบบสื่อเรียนการเรียนรู้ หรือสื่อการนำเสนอแบบมัลติมีเดีย เช่น การนำเสนอผลงาน การจับหน้าจอภาพเพื่อนำไปสร้างสื่อการเรียนรู้ การสร้างแบบทดสอบ รวมไปถึงการตัดต่อวิดีโอ เพื่อใช้สำหรับงานนำเสนอหรือผลิตสื่อการเรียนรู้ โดยโปรแกรม Adobe Captivate เป็นโปรแกรมที่ใช้สร้างชิ้นงานได้ง่ายและเร็ว
โปรแกรม Captivate ทำงานในลักษณะเดียวกับโปรแกรม MS PowerPoint คือในแต่ละไฟล์ หรือ Project จะประกอบไปด้วย สไลด์ (Slide) หลาย สไลด์นำในแต่ละสไลด์สามารถบรรจุสิ่งต่าง ๆ ซึ่งต่อไปนี้ จะเรียกว่าเป็น วัตถุ เช่น ภาพ ข้อความ เสียง คลิปวิดีโอ และ ปุ่ม เป็นต้น การเข้า-ออกของสไลด์ และวัตถุในสไลด์สามารถกำหนด Effects ต่าง ๆ ได้เมื่อสั่งให้โปรแกรมทำงาน โปรแกรมจะเริ่มนาแผ่นสไลด์ ที่ 1 มาแสดง จากนั้นจะนำเอาแผ่นสไลด์ ที่ 2 และ 3 มาแสดงเรื่อย ๆ จนหมดทุกสไลด์ การควบคุมสไลด์ให้ไปยังแผ่นสไลด์ที่กำหนด ทำได้โดยการสร้างปุ่ม และใช้คำสั่งของโปรแกรม เพื่อให้ไปยังสไลด์ที่ต้องการ
สไลด์แต่ละแผ่น จะมีไทม์ไลน์ (Timeline) เป็นของตนเอง ไทม์ไลน์จะเป็นตัวกำหนดเวลาการแสดงของวัตถุแต่ละตัวในแผ่นสไลด์ นั้น ๆ ตลอดจน การกำหนดให้วัตถุใดเกิดก่อน หรือเกิดหลังอย่างไร หรือการกำหนดตำแหน่งของวัตถุให้อยู่ข้างหน้า หรืออยู่หลังวัตถุใด ก็ได้ วัตถุแต่ละวัตถุ เช่น ภาพ ข้อความ เสียง และวิดีโอ สามารถปรับแก้ลักษณะได้ ผ่านทางแถบคุณสมบัติ (Properties) โดย วัตถุแต่ละอย่าง จะมีแถบ คุณสมบัติของตนเอง เมื่อคลิกเลือกวัตถุใด โปรแกรม Captivate จะแสดงคุณสมบัติของวัตถุนั้น ทำให้สามารถกำหนดลักษณะของวัตถุนั้น ๆ ได้
1.3 โปรแกรม Powerpoint
โปรแกรม Microsoft PowerPoint เป็นโปรแกรมหนึ่งในตระกูล Microsoft Office เหมาะสำหรับการจัดสร้างงานนำเสนอข้อมูล (Presentation) สำหรับนำไปประยุกต์ใช้ในงานได้หลายประเภท เช่น การนำเสนอข้อมูลสินค้าและบริการ การจัดทำ Slide Show การออกแบบแผ่นพับ เป็นต้น
สำหรับ หลักการทำงานของ Presentation ที่สร้างจาก PowerPoint จะสร้างออกเป็นสไลด์ย่อยๆ แต่ละสไลด์ สามารถใส่ข้อมูล รูปภาพ ภาพเคลื่อนไหว หรือเสียง เพื่อสร้างความน่าสนใจเพิ่มขึ้น นอกจากกนี้เรายังสามารถกำหนดให้ Presentation ของเรา นำเสนอออกมาแบบในรูปแบบอัตโนมัติได้โดยไม่จำเป็นต้องมีการกดเลือกให้แสดงทีละ slide
ก่อนเริ่มต้นสร้าง Presentation ควรกำหนดรูปแบบของ Presentation ของเราก่อนว่า ต้องการให้แสดงออกในรูปแบบใด เช่น ต้องการให้ส่วนด้านบน แสดงเป็นชื่อหัวข้อ ด้านล่างเป็นชื่อ และฉากหลังให้แสดงเป็นสีน้ำเงิน เป็นต้น
1.4 โปรแกรม Articulate Storyline
โปรแกรม Articulate Storyline เป็นโปรแกรมผลิตสื่อการเรียนการสอนที่สามารถใช้งานได้ทั้งแบบOnline และ Offline สามารถใช้งานได้ทั้งบน Computer PC, Tablet, Smartphone ซึ่งสะดวกต่อการใช้งานเป็นอย่างมาก การใช้งานนั้นเนื่องจากมีลักษณะการใช้ และหน้าตาโปรแกรมลักษณะคล้ายโปรแกรม MicrosoftPowerpoint ซึ่งจะง่ายสำหรับผู้ใช้งานเป็นอย่างมาก
1.5 โปรแกรม Adobe Presenter
Adobe Presenter เป็นเครื่องมือช่วยสร้างอีเลิร์นนิ่งอย่างง่ายดายในการสร้างสื่อ การเรียนการสอน อีเลิร์นนิ่ง การสร้างอีเลิร์นนิ่งสามารถดําเนินการสร้างอีเลิร์นนิ่งผ่านโปรแกรมเพาเวอร์พอยต์ เป็นหลัก โปรแกรมไม่มีความสลับซับซ้อนและอาศัยพื้นที่ในการติดตั้งไม่มาก สามารถเพิ่ม/แก้ไข เสียงคําบรรยาย, สร้างความสอดคล้องระหว่างสไลด์และภาพได้, เพิ่ม/แก้ไขแบบทดสอบได้ด้วยตนเอง เพิ่มเติมภาพเคลื่อนไหวลงไปได้และสามารถนําอีเลิร์นนิ่งที่สร้างขึ้นไปใช้งานในรูปแบบต่างๆ ได้ เช่น swf, SCORM เป็นต้น Adobe Presenter ทำงานร่วมกับ Microsoft Power Point มีความสามารถในการสร้างสื่ออิเล็กทรอนิกส์ ในลักษณะมัลติมีเดียสร้างสามารถข้อสอบหรือแบบสอบถามได้
ข้อดี ของ Adobe Presenter สามารถใช้งานได้ง่าย ทำได้รวดเร็ว มีความสัมพันธ์กับการแสดงผลของ Microsoft Power Point
ข้อเสีย ของ Adobe Presenter คือ เป็นไฟล์ที่มีขนาดใหญ่ เนื่องจากรวมไฟล์ทั้งหมดมาเป็น Packet และไม่รองรับภาษาไทย
1.6 โปรแกรม Scratch
โปรแกรมภาษา ที่ผู้เรียนสามารถสร้างชิ้นงานได้อย่างง่ายเช่น นิทานที่สามารถโต้ตอบกับผู้อ่านได้ ภาพเคลื่อนไหว เกมดนตรี และศิลปะ และเมื่อสร้างเป็นชิ้นงานเสร็จแล้วสามารถนำชิ้นงานที่สร้างสรรค์นี้ แสดง และแลกเปลี่ยนความคิดเห็นร่วมกับผู้อื่นบนเว็บไซต์ได้ ทำให้ผู้เรียนได้เรียนรู้หลักการทางคณิตศาสตร์ และแนวคิดการโปรแกรมไปพร้อมๆ กับการ มีเหตุผล เป็นระบบ และเกิดการท ำงานร่วมกัน การโปรแกรมภาษา Scratch จะใช้บล็อกคำสั่งมาวางต่อกันแทนการพิมพ์คำสั่งมีตัวละครและฉากที่ใช้สร้างเรื่องราวต่างๆ จึงเหมาะกับการสอนเขียนโปรแกรมที่ส่งเสริมความคิดริเริ่มสร้างสรรค์ การคิดอย่างมีระบบและการทำงานร่วมกันอัปโหลดกนี้ยังสามารถแลกเปลี่ยนและเผยแพร่ผลงานผ่านทางเว็บไซต์ http://scratch.mit.edu/ ได้อีกด้วย
ชิ้นงานในโปรแกรม Scratch เรียกว่าโปรเจกต์ จะประกอบด้วย 3 ส่วนสำคัญ ได้แก่ เวที (Stage) ตัวละคร (Sprite) และสคริปต์ (Script) โดยแต่ละส่วนเกี่ยวข้องสัมพันธ์กันและทำงานไปพร้อม ๆ กัน การสร้างโปรเจกต์ทำได้โดยการเขียนสคริปต์ (ชุดคำสั่ง) ซึ่งใช้การลากวางบล็อก (คำสั่ง)เรียงต่อกันเพื่อสั่งตัวละคร ณ ตำแหน่งต่างๆ บนเวที ให้ทำงานต่างๆ คำสั่งพื้นฐานที่สั่งให้ตัวละครเคลื่อนไหว แสดงออก ควบคุมขั้นตอนการทำงานของคำสั่งจะใช้กลุ่มบล็อก Motion, Looks, และ Control ตามลำดับ
1.7 โปรแกรม CONSTRUCT 2
โปรแกรม CONSTRUCT 2 คือ โปรแกรมที่พัฒนาโดยบริษัท SCIRRA LTD. มีพี่น้อง ASHLEY และ THOMAS GULLEN เป็นเจ้าของ แต่เดิมใช้ชื่อว่า CONSTRUCT CLASSIC ซึ่งใช้พัฒนาเกม DIRECTX 9 สำหรับระบบปฏิบัติการ WINDOW และด้วยแนวโน้มของเทคโนโลยี HTML5 ทำให้เกิดการเปลี่ยนแปลงและพัฒนามาเป็น CONSTRUCT 2 โดยโปรแกรมดังกล่าว มีแนวคิดว่า “การสร้างเกมโดยไม่ต้องเขียนโปรแกรม” Construct สำหรับสร้างเกม 2 มิติ ด้วยภาษา HTML5 โดยลดขั้นตอนการเขียน Code ให้น้อยที่สุด ซึ่งเกมที่ใช้ภาษา HTML5 จะสามารถติดตั้งบนอุปกรณ์ได้หลายประเภทไม่ว่าจะเป็น PC แท็บเล็ต หรือ Smart Phone
คุณสมบัติเด่นของ Construct2
Quick & Easy การสร้างเกมด้วย Construct 2 สามารถทําได้ง่ายๆ ไม่กี่ขั้นตอน เพียงแค่คลิกลากและวางวัตถุลง หน้าจอ เพิ่ม Behavior ให้วัตถุ และทําให้พวกมันมีชีวิตด้วย Event ทั้งนี้ เราสามารถ Preview เพื่อ ทดลองผลงานได้เท่าที่เราต้องการ
Powerful Event System ระบบการเขียน Event ของเกมถูกออกมาให้ดูง่าย และใช้ภาษาที่ใกล้เคียงภาษามนุษย์ เพียงแค่ ผู้พัฒนาเข้าใจระบบตรรกะพื้นฐาน ก็สามารถสร้างเกมง่ายๆ ได้แล้ว โดย Construct 2 จะบังคับให้ เราเขียนโปรแกรมโดยใช้ Event เท่านั้น ทําให้ผู้พัฒนาไม่จําเป็นต้องสนใจ Code เกมเลย
Flexible Behaviors Construct 2 จะเตรียมสิ่งที่เรียกว่า Behaviors (พฤติกรรม) หลากหลายรูปแบบ เช่น ได้เป็น วัตถุทางตัน ขยับได้ 8 ทิศทาง สําหรับเพิ่มให้กับวัตถุในเกมของเรา ทําให้ลดนการทํางานลง ได้มาก
Instant Preview ระบบ Preview ในโปรแกรมสามารถทําได้ตลอดเวลา อัปโหลดกนี้ license version ยังมีระบบ Preview Over Wifi ที่ช่วยให้เราสามารถ preview เกมจาก PC ด้วยมือถือหรือ แท็บเล็ต ผ่าน wifi ได้ทันที
Stunning Visual Effects Construct2 ได้เตรียม plug-in ที่เกี่ยวกับ effect ไว้มากมายเช่นกัน รวมไปถึง Particle plug-in ที่ช่วย ให้เราสร้าง effect สวยๆ ได้
Multiplatform Export เพราะใช้ภาษา HIML5 เป็นหลัก Construct 2 จึงสามารถสร้างเกมสําหรับ Run บนอุปกรณ์หลายประเภท โดยไม่ต้องแก้ไขไฟล์เกมมากนัก ซึ่งการเผยแพร่เกมไปยัง iOS หรือ Android จะต้องใช้ โปรแกรมอื่นๆ เข้ามาช่วย
Easy Extensibility แม้ว่าจะมี Construct 2 จะมี Plug-in มากมายให้เลือกใช้อยู่แล้ว แต่ถ้าเราต้องการมากกว่านั้น เรา สามารถเขียน Plug-in เพิ่มเอง หรือแบ่งปังกับเพื่อนๆ นักพัฒนาได้ เขียน Plug - in จําเป็นต้องใช้ ความรู้ทางด้าน JavaScript หรือ GLSL
ทั้งหมดเป็นเพียงส่วนหนึ่งเท่านั้น ในการพัฒนาโครงงานคอมพิวเตอร์ประเภทสื่อการศึกษา โดยยังมีเครื่องมือโปรแกรมอื่น ๆ อีกมากมายในการพัฒนาโครงงานประเภทสื่อการศึกษา
2. โครงงานพัฒนาเครื่องมือ (Tools Development)
ส่วนใหญ่เป็นโครงงานพัฒนาซอฟต์แวร์ประยุกต์ เพื่อใช้ประโยชน์ ในด้านต่างๆ เช่น การออกแบบและสร้างชิ้นงาน ที่เราคุ้นเคยตัวอย่างเช่น ซอฟต์แวร์วาดรูป ซอฟต์แวร์พิมพ์งาน ซอฟต์แวร์สร้างงานสามมิติเป็นต้น
3. โครงงานประเภทจำลองทฤษฎี (Theory Experiment)
เป็นโครงงานที่ใช้คอมพิวเตอร์ในการออกแบบและจำลองการทดลอง โดยใช้ความรู้ หลักการ ข้อเท็จจริงและแนวความคิดต่าง ๆ ในศาสตร์แต่ละด้าน ซึ่งส่วนใหญ่อาจอยู่ในรูปแบบของสมการ สูตร หรือคำอธิบายก็ได้ โดยจำลองทฤษฎีเหล่านั้นด้วยคอมพิวเตอร์ ตัวอย่าง เช่น การทดลองเรื่องการเคลื่อนที่แบบต่าง ๆ การทดลองเรื่องพฤติกรรมของสัตว์ ทฤษฎีการแบ่งแยกสารประกอบ เป็นต้น
4. โครงงานประเภทการประยุกต์ใช้งาน (Application)
เป็นโครงงานประเภทที่มีการออกแบบและพัฒนาทั้งฮาร์ดแวร์และซอฟต์แวร์ มักเป็นการสร้างใหม่หรือดัดแปรงของเดิมให้มีประสิทธิภาพสูงขึ้น เน้นเพื่อเป็นการประยุกต์ใช้งาน มีการนำความรู้ทางด้านเครื่องคอมพิวเตอร์ ภาษาโปรแกรม และเครื่องมือต่าง ๆ ที่เกี่ยวข้อง โดยอาจใช้วิธีทางวิศวกรรมฮาร์ดแวร์และซอฟต์แวร์ในการพัฒนาเข้ามาเกี่ยวข้องด้วย
5. โครงงานพัฒนาเกม (Game Development)
เป็นโครงงานอีกประเภทที่น่าสนใจ เน้นการพัฒนาเกมเพื่อส่งเสริมทางด้านความรู้ควบคู่กับความเพลิดเพลิน สนุกสนาน เน้นการฝึกการคิดและการตัดสินใจในการแก้ไขปัญหา ตามโจทย์หรือรูปแบบของเกมที่วางไว้ การออกแบบมุ่งเน้นลักษณะและกฎเกณฑ์เพื่อให้เกิดความน่าสนใจและท้าทายแก้ผู้เล่น
แหล่งที่มา
โรงเรียนราชินี. (11 ธันวาคม 2562). เอกสารประกอบการอบรมครูหลักสูตรการเขียนโปรแกรม Scratch เพื่อส่งเสริมความคิดสร้างสรรค์. สืบค้นเมื่อ 11 ธันวาคม 2562, จาก http://www.rajini.ac.th/pdf/Scratch.pdf.
โรงเรียนอัสสัมชัญ ระยอง. (11 ธันวาคม 2562). หลักการทำโครงงานคอมพิวเตอร์. สืบค้นเมื่อ 11 ธันวาคม 2562, จาก http://www.acr.ac.th/acr/ACR_E-Learning/CAREER_COMPUTER/COMPUTER/M4/ComputerProject/content1.html
สุภกาญจน์ แก้วงาม. (16 ธันวาคม 2562). Adobe Presenter. สืบค้นเมื่อ 16 ธันวาคม 2562, http://suppakarn-keawngam.blogspot.com/2012/02/adobe-presenter.html
6. โครงงานอินเทอร์เน็ตออฟติงค์ (IoT)
โครงงานอินเทอร์เน็ตออฟติงค์ (IoT) คือ โครงการที่สร้างสภาพแวดล้อมอันประกอบด้วยสรรพสิ่งที่สามารถสื่อสารและเชื่อมต่อกันได้ผ่านโพรโทคอลสำหรับการสื่อสารทั้งแบบใช้สายและไร้สาย โดยสรรพสิ่งต่าง ๆ มีวิธีการระบุตัวตนได้ รับรู้บริบทของสภาพแวดล้อมได้ และมีปฏิสัมพันธ์โต้ตอบและทำงานร่วมกันได้ ความสามารถในการสื่อสารของสรรพสิ่งนี้จะนำไปสู่นวัตกรรมและบริการใหม่อีกมากมาย ตัวอย่างเช่น ตรวจจับการเคลื่อนไหวของผู้อยู่อาศัยภายในบ้าน และส่งสัญญาณไปสั่งเปิด/ปิด ตามห้องต่าง ๆ ที่มีคนหรือไม่มีคนอยู่ ทางด้านการแพทย์ อุปกรณ์วัดสัญญาณชีพ สามารถที่จะวัดและส่งสัญญาณชีพของผู้ป่วย ผู้สูงอายุ โดยส่งข้อมูลไปยังบุคลากรทางการแพทย์ หรือส่งข้อความเรียกหน่วยกู้ชีพหรือรถฉุกเฉิน เป็นต้น โดยเครื่องมือที่จะสามารถพัฒนาโครงงานอินเทอร์เน็ตออฟติงค์ (IoT) ผู้เรียนที่จะพัฒนาโครงงานประเภทนี้จำเป็นที่จะต้องใช้เครื่องมือในการพัฒนาโครงงานดังนี้
บอร์ดไมโครคอนโทรเลอร์ หรือ ชุดแผงวงจรอิเล็กทรอนิกส์
ไมโครคอนโทรลเลอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ที่ใช้ควบคุมอุปกรณ์ไฟฟ้าหรือระบบอิเล็กทรอนิกส์ต่าง ๆ ไมโครคอนโทรลเลอร์นั้นเปรียบเสมือนคอมพิวเตอร์ขนาดเล็ก โดยผู้พัฒนาโครงงานอยากให้โครงงาน หรือบอร์ดทำอะไรเราก็เขียนโปรแกรมที่เราต้องการใส่ลงไป ไมโครคอนโทรลเลอร์ก็เลยเข้ามาเกี่ยวข้องเพื่อรองรับกับความอยากนำไปควบคุมระบบที่ความรู้ความเข้าใจที่พวกเราอยากได้โดยให้มีขนาดเล็กที่สุด แต่ว่าไม่ใช่เพียงขนาดเล็กแค่นั้น ไมโครคอนโทรลเลอร์ยังสามารถป้อนชุดคำสั่งให้สามารถปฏิบัติงานได้อย่างอัตโนมัติ ด้วยแบบการเขียนโปรแกรมภาษาต่าง ๆ ตามความชำนาญ นักออกแบบพัฒนาผลิตภัณฑ์ โดยบอร์ดต่าง ๆ ที่นิยมมาพัฒนาโครงงานได้แก่ บอร์ด IPST เป็นชุดแผงวงจรอเนกประสงค์ที่ใช้อุปกรณ์ควบคุมแบบโปรแกรม บอร์ด micro:bit เป็นบอร์ดไมโครคอนโทรเลอร์สำหรับการศึกษาจากโครงการของ BBC (British Broadcasting Company) หรือบริษัทแพร่ภาพกระจายเสียงของอังกฤษ หรือบอร์ดไมโครคอนโทรเลอร์ ที่ได้ออกแบบและจัดทำขึ้นเอง
ภาพที่ 2 ตัวอย่างบอร์ดไมโครคอนโทรเลอร์
ที่มา, https://commons.wikimedia.org/wiki/File:Arduino_UNO_unpacked.jpg, Nick Hubbard
NodeMCU v2
NodeMCU Development Kit V2 เป็นตัวที่พัฒนาจาก NodeMCU Version เดิม โดยเป็นโมดูลที่ประกอบด้วย ESP8266-12 E มีเสาอากาศแบบ PCB Antenna เชื่อมต่อเฮดเดอร์สำหรับขาสัญญาณต่างๆ ได้แก่ GPIO, PWM, I2C, 1-wire, ADC และ มี SPI เพิ่มขี้นมาจาก Versionเดิม มีส่วนของ USB-to-TTL และพอร์ต micro USB ซึ่งใช้ชิพ USB to Serial ของ silicon labcp2102 เชื่อมต่อเข้ากับเครื่องคอมพิวเตอร์เพื่อพัฒนาโปรแกรม สามารถติดตั้งเฟิร์มแวร์ NodeMCU ได้ และยังมีขนาดของ PCB ที่เล็กลง สามารถใช้งานกับ breadboard ได้ ผู้ใช้สามารถเลือกพัฒนาด้วยสคริปต์ Lau โดยใช้เฟิร์มแวร์ NodeMCU หรือใช้เป็นชุดพัฒนาด้วยโมดูล ESP8266 ก็ได้ ซึ่งสามารถเขียนด้วย ArduinoIDE ได้ โมดูลมี GPIO ให้ใช้ถึง 10 พอร์ต สามารถนำมาพัฒนาโครงงานด้านอินเทอร์เน็ตออฟติงค์ เชื่อมต่อกับอุปกรณ์อื่น ๆ ตามต้องการ
ESP8266 12e
Wi-Fi คือ Wireless LAN หรือระบบ Network แบบไร้สาย ด้วยเทคโนโลยีการสื่อสารภายใต้มาตรฐาน IEEE 802.11 ซึ่งอุปกรณ์ทุกตัวที่ต่างยี่ห้อกันนั้นจะสามารถติดต่อสื่อสารกันได้โดยไม่ประสบปัญหา หากอุปกรณ์นั้นผ่านตามเกณฑ์มาตรฐานก็จะมีการประทับตรา Wi-Fi Certified ซึ่งหมายความว่าอุปกรณ์ตัวนี้สามารถเชื่อมต่อแบบไร้สายกับ อุปกรณ์อื่นที่มีตรา Wi-Fi Certified ได้ แล้วจึงกลายมาเป็นคำศัพท์ของอุปกรณ์ LAN ไร้สาย ระบบเครือข่ายไร้สาย คือระบบการสื่อสารข้อมูลที่มีความคล่องตัวมาก ซึ่งอาจจะนำมาใช้ทดแทนหรือเพิ่มต่อกับระบบเครือข่ายแลนใช้สายแบบดั้งเดิม โดยใช้การส่งคลื่นความถี่วิทยุในย่านวิทยุ RF และ คลื่นอินฟราเรด ในการรับและส่งข้อมูลระหว่างคอมพิวเตอร์แต่ละเครื่อง ผ่านอากาศ ทะลุกำแพง เพดานหรือสิ่งก่อสร้างอื่น ๆ โดยปราศจากความต้องการของการเดินสาย การอัปโหลดนั้นระบบเครือข่ายไร้สายก็ยังมีคุณสมบัติครอบคลุมทุกอย่างเหมือนกับระบบ LAN แบบใช้สาย ที่สำคัญก็คือ การที่มันไม่ต้องใช้สายทำให้การเคลื่อนย้ายการใช้งานทำได้โดยสะดวก ไม่เหมือนระบบ LAN แบบใช้สาย ที่ต้องใช้เวลาและการลงทุนในการปรับเปลี่ยนตำแหน่งการใช้งานเครื่องคอมพิวเตอร์ สำหรับเลข 802.11 นั้นเป็น เทคโนโลยีมาตรฐานแบบเปิดซึ่งกำหนดโดย Institute of Electrical and Electronics Engineers : IEEE โดยเลขหลักตัวหน้าจะเหมือน ๆ กัน แต่ความแตกต่างของเทคโนโลยีจะกำหนดด้วยตัวอักษรด้านหลัง เช่น 802.11b , 802.11a ,802.11g มาตรฐาน 802.11b ถือเป็นมาตรฐาน Wi-Fi ตัวแรก ที่ได้รับการพัฒนาขึ้นมา สามารถส่งข้อมูลได้ด้วยความเร็ว 11 เมกะบิตต่อวินาทีโดยใช้ช่วงความถี่ 2.4 กิกะเฮิรตซ์ ครอบคลุมพื้นที่ทำการในระยะ 150 เมตร
ชิ้นส่วนและอุปกรณ์ทางกล
เป็น ชิ้นส่วนกลไกต่าง ๆ ของโครงงาน เช่น โครงสร้าง เพลา เฟือง ประแจ ฉากโลหะ ชนิดต่าง ๆ ตามการปฏิบัติโครงงาน เช่น โครงงานถังขยะอัตโนมัติ อาจจะต้องใช้ อัลตราโซนิค หรือโครงงานที่ตรวจจับความชื้นของดิน อาจจะต้องใช้ อุปกรณ์ วัดความชื้นในดิน (Soil Moisture Sensor) แผงวงจรตรวจจับแสง เซอร์โวรุ่นต่าง ๆ หรือชิ้นส่วนอื่นตามความสามารถของการพัฒนาโครงงาน
ภาพที่ 3 ตัวอย่างอุปกรณ์ วัดความชื้นในดิน (Soil Moisture Sensor)
ที่มา, https://commons.wikimedia.org/wiki/File:Soil_moisture_sensor.JPG ,Sealman
พัฒนาโปรแกรม
สำหรับบอร์ด IPST จะใช้โปรกรม Arduino ในการเขียนคำสั่ง โดยโปรกรม Arduino เป็นโครงการที่นำชิปไอซีไมโครคอนโทรลเลอร์ตระกูลต่างๆ มาใช้ร่วมกันในภาษา C ซึ่งภาษา C นี้เป็นลักษณะเฉพาะ คือมีการเขียนไลบารี่ของ Arduino ขึ้นมาเพื่อให้การสั่งงานไมโครคอนโทรลเลอร์ที่แตกต่างกัน สามารถใช้งานโค้ดตัวเดียวกันได้ โดยตัวโครงการได้ออกบอร์ดทดลองมาหลาย ๆ รูปแบบ เพื่อใช้งานกับ IDE ของตนเอง สาเหตุหลักที่ทำให้ Arduino เป็นนิยมมาก เป็นเพราะ ที่ใช้งานร่วมกันสามารถโหลดได้ฟรี และตัวบอร์ดทดลองยังถูกแจกแปลน ทำให้ผู้ผลิตจีนนำไปผลิตและขายออกตลาดมาในราคาที่ถูก
สำหรับบอร์ด micro:bit เป็นบอร์ดไมโครคอนโทรเลอร์ชนิดหนึ่งที่ถือว่า มีความยืดหยุ่นในการพัฒนาโปรแกรมสูง เพราะว่าบอร์ด micro:bit รองรับการพัฒนาโปรแกรมได้หลายภาษา ไม่ว่าจะเป็น JavaScript Block Editor, ภาษา Python และ ภาษา C/C++ ผู้ใช้งานสามารถเลือกพัฒนาโปรแกรมได้ตามรูปแบบภาษาที่ตนเองถนัดโดยในแต่ละภาษาที่ใช้ในการพัฒนาโปรแกรมนั้นจะมีความยากง่ายแตกต่างกันไปสำหรับโปรแกรมที่ใช้ในการเขียนโปรแกรมลงบนบอร์ด micro:bit ส่วนใหญ่จะเป็น Online Editor สามารถเรียกใช้งานผ่าน Internet Browser (Google Chrome, Microsoft Edge, Mozilla Firefox, Safari) ที่ติดตั้งอยู่บนเครื่องคอมพิวเตอร์ได้ทันที ข้อดีของโปรแกรมแบบนี้คือไม่จำเป็นต้องติดตั้งโปรแกรมเพิ่มเติม ใน Editor บางตัวสามารถแชร์ตัวอย่างโค้ดที่เขียนได้เป็น link ได้ สามารถใช้งานได้ในหลายแพลตฟอร์มคอมพิวเตอร์ไม่ว่าจะเป็นทั้ง Windows OS, Mac OS, Linux OS และยังรองรับการใช้งานบน สมาร์ตโฟนและแท็บเล็ต (Android, iOS) ได้อีกด้วย
Blynk
Blynk เป็น Application สำเร็จรูปสำหรับงาน IoT เป็นการเขียนโปรแกรมที่ง่ายโดย ไม่ต้องเขียน เองสามารถใช้งานได้อย่าง Real time สามารถเชื่อมต่อ Device ต่าง ๆ เข้ากับอินเทอร์เน็ต ได้อย่างง่าย ไม่ว่าจะเป็น Arduino, Esp8266, Esp32, Nodemcu,Rasberry pi นำมาแสดงบน ได้อย่างรวดเร็ว Blynk เปิดให้บริการใช้ฟรี และ รองรับในระบบ IOS และ Android อีกด้วย
วิธีการทำงานของ Blynk เริ่มจาก อุปกรณ์ เช่น Arduino esp8266 Esp32 Rasberry Pi เชื่อมต่อไปยัง Server ของ Blynk โดยตรง สามารถรับส่งข้อมูลหากันได้คอมพิวเตอร์ Smartphone ก็จะเชื่อมต่อกับ Server ของ Blynk โดยตรง กลายเป็นว่า มี Server เป็นสะพานให้เชื่อมต่อหากันจึงหมดปัญหาและข้อจำกัดทุกอย่างทำให้อุปกรณ์ของเรามีความฉลาดมากขึ้น
โครงงานอินเทอร์เน็ตออฟติงค์ (IoT) ที่สามารถสื่อสารและเชื่อมต่อกันได้ผ่านโพรโทคอลและมีปฏิสัมพันธ์โต้ตอบและทำงานร่วมกันได้ โดยอาศัยอุปกรณ์เครื่องมือไม่ว่าจะเป็น บอร์ดไมโครคอนโทรเลอร์ หรือ ชุดแผงวงจรอิเล็กทรอนิกส์ อุปกรณ์NodeMCU v2 อุปกรณ์ ESP8266 12e ชิ้นส่วนและอุปกรณ์ทางกลพัฒนาโปรแกรม และ ในการสั่งงาน ที่จะสามารถพัฒนาโครงงาน โครงงานอินเทอร์เน็ตออฟติงค์ ได้อย่างมีประสิทธิภาพ
แหล่งที่มา
ทวีป ตรีหะจินดารัตน. (2559). อินเตอร์เน็ตกับทุกสิ่งของสวนอัจฉริยะ. สืบค้นเมื่อ 11 ธันวาคม 2562, http://ir.swu.ac.th/xmlui/bitstream/handle/123456789/5082/PRO2392.pdf?sequence=1
Inex. (11 ธันวาคม 2562). แผงวงจร IPST-SE. สืบค้นเมื่อ 11 ธันวาคม 2562, https://inex.co.th/shop/ipst-se.html
วีนัส ซัพพลาย. (11 ธันวาคม 2562). ทำความรู้จักกับบอร์ด Micro:bit และเรียนรู้การใช้งานเบื้องต้น สืบค้นเมื่อ 11 ธันวาคม 2562, https://www.thaieasyelec.com/article-wiki/latest-blogs/getting-started-with-the-microbit.html