วิธีเขียนโปรแกรม arduino มือใหม่

Arduino

arduinopic

สำหรับคนที่ไม่ได้อยู่ในวงการไอทีหรือมีงานที่เกี่ยวข้องกับการเขียนโปรแกรม พอได้ยินชื่อ Arduino ก็คงงงๆ ว่ามันคืออะไรกันแน่ นี่เป็นระบบที่ออกแบบมาเพื่อใช้สำหรับการพัฒนาอุปกรณ์อิเล็กทรอนิกส์ เริ่มต้นมาจากชาวอิตาลีที่ต้องการสร้างไมโครคอนโทรลเลอร์ในราคาย่อมเยา เอาแบบที่นักเรียนนักศึกษารายได้ไม่มากจับต้องได้ จากจุดนี้ก็กลายเป็นโปรแกรม Arduino ที่มีชื่อเสียงยาวนานมาจนถึงปัจจุบัน และยังแตกแขนงไปเป็นอุปกรณ์เสริมอีกหลายอย่างที่อยู่ภายใต้ชื่อเดียวกันนี้

อุปกรณ์ไมโครคอนโทรลเลอร์ คืออะไร

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

แท้จริงแล้วหน้าที่ของ Arduino คืออะไร

โปรแกรม Arduino ถ้าพูดให้เข้าใจได้ง่ายๆ มันก็คือโปรแกรมอีกตัวหนึ่งที่เอาไว้เขียนภาษาซีได้ โดยที่ตัวโปรแกรมพยายามจะทำให้การใช้ภาษาซีของนักเขียนโปรแกรมมีความสะดวกมากขึ้น หน้าตาของจอโปรแกรมจึงแบ่งพื้นที่เป็นส่วนย่อยหลายๆ ส่วน และให้ชื่อแต่ละส่วนว่าฟังก์ชัน ท้ายที่สุดก็เป็นการนำฟังก์ชันทั้งหมดมารวมเข้าด้วยกันกลายเป็นโปรแกรมที่ต้องการ ในหนึ่งโปรแกรมที่สร้างขึ้นมาจะมีจำนวนฟังก์ชันมากน้อยแค่ไหนก็ได้ ขอแค่มีฟังก์ชันบังคับ 2 ตัว คือฟังก์ชัน setup  ฟังก์ชัน loop ถ้าถามว่าโปรแกรมนี้จะต่างจากโปรแกรมเขียนภาษาซีทั่วไปอย่างไร ก็ให้ย้อนกลับไปดูที่จุดเริ่มต้นว่ามันมุ่งเน้นออกแบบมาเพื่อทำงานร่วมกับอุปกรณ์อิเล็กทรอนิกส์ ดังนั้นโปรแกรมที่เขียนด้วย Arduino ส่วนใหญ่จึงมักจะเป็นโปรแกรมควบคุมการทำงานของแผงไฟ ควบคุมการทำงานของไฟ LED ควบคุมแผงบันทึกเสียง ชิ้นส่วนของอุปกรณ์อิเล็กทรอนิกส์ประเภทอื่นๆ

มือใหม่ที่สนใจ Arduino จะเริ่มต้นอย่างไร

การเขียนโปรแกรมด้วยภาษาอะไรก็ตาม มันก็ต้องเริ่มที่การเรียนรู้คำสั่งทั้งหมดให้ได้ และใช้ให้เป็นเสียก่อน ในส่วนของโปรแกรม Arduino ก็จะใช้ภาษาซี หรือภาษาซี++ ก็ได้แล้วแต่ความถนัด คำสั่งพื้นฐานจึงใช้เหมือนกับการเขียนภาษาซีในโปรแกรมอื่นๆ นั่นเอง แต่มันจะง่ายขึ้นกว่าปกติเพราะมีฟังก์ชันช่วยเหลือค่อนข้างเยอะ เช่น มีปุ่มสำหรับตรวจสอบว่าโค้ดที่เราเขียนถูกต้องหรือไม่ ต้องแก้ไขที่ตรงไหน มีคู่มือที่บอกว่าตอนนี้เราลืมการเชื่อมต่ออะไรที่สำคัญไปบ้างหรือไม่ เป็นต้น หากเป็นมือใหม่แกะกล่องที่ไม่เคยมีอะไรเกี่ยวข้องกับวงการนี้เลย ก็ต้องบอกว่ายังมีอะไรให้เรียนรู้อีกเยอะมาก ไม่ใช่แค่การฝึกใช้ภาษาเขียนโปรแกรมเท่านั้น แต่ต้องเข้าใจวงจรอิเล็กทรอนิกส์กับระบบไฟที่ค่อนข้างซับซ้อนด้วย ไม่อย่างนั้นแล้วก็จะไม่มีทางรู้ได้เลยว่า จะต้องเขียนคำสั่งอย่างไรอุปกรณ์อิเล็กทรอนิกส์เหล่านั้นถึงจะแสดงผลลัพธ์ได้ตามที่ต้องการ  และการลงโปรแกรมในส่วนของไมโครคอนโทรลเลอร์ก็มีวิธีการที่เฉพาะเจาะจง เป็นอีกประเด็นที่ต้องทำความเข้าใจให้ถ่องแท้เช่นเดียวกัน

อย่างไรก็ตามแต่ ถ้าเกิดมีความสนใจขึ้นมาจริงๆ มันก็ไม่มีอะไรที่ยากเกินความสามารถไปได้ เราสามารถเรียนรู้ทั้งเรื่องการใช้ภาษาของโปรแกรมควบคู่ไปกับการปูพื้นฐานวงจรอิเล็กทรอนิกส์ได้เลย หากซื้อหนังสือมาอ่านเองแล้วไม่เข้าใจก็มีคอร์สระยะสั้นที่เปิดสอนอยู่หลายที่ ไม่นานก็จะใช้งานได้คล่องมือ ผลพลอยได้ก็คือองค์ความรู้นี้เอาไปต่อยอดได้กว้างมาก  และยังเป็นที่ต้องการของตลาดไปอีกนานหลายสิบปีเลยทีเดียว