วันศุกร์ที่ 24 มีนาคม พ.ศ. 2560

การทดลองใช้โปรแกรม CodeBlocks แทน Arduino IDE

การทดลองใช้โปรแกรม CodeBlocks แทน Arduino IDE


Arduino IDE เป็นโปรแกรมสำหรับการเขียนโค้ดและอัพโหลด Arduino Sketch ไปยังบอร์ด Arduino และถือว่าเป็นตัวเลือกแรกในการเรียนรู้และใช้งาน Arduino นอกเหนือจากโปรแกรมนี้แล้ว ยังมีซอฟต์แวร์ที่เป็นตัวเลือกอื่นอีกและนำมาใช้งานได้ฟรี บทความนี้กล่าวถึง การทดลองติดตั้งและใช้งานโปรแกรมที่มีชื่อว่า CodeBlocks Arduino IDE (http://arduinodev.com/codeblocks/) เป็นซอฟต์แวร์แบบ Open Source และสามารถใช้งานได้ทั้งกับระบบปฏิบัติการ Windows และ Linux แต่ในบทความนี้จะกล่าวถึงการใช้งานสำหรับ Windows เท่านั้น

การดาวน์โหลดและติดตั้งโปรแกรม CodeBlocks Arduino IDE

ขั้นตอนแรกคือการดาวน์โหลด CodeBlocks Arduino IDE (https://sourceforge.net/projects/arduinodev/files/) และนำมาติดตั้งสำหรับเครื่องคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการ Windows เวอร์ชันที่ทดลองใช้คือ CodeBlocks-Arduino-20131127.7z จากนั้นให้ทำขั้นตอน unzip ไฟล์ดังกล่าว ซึ่งจะได้ Folder ใหม่ที่ชื่อว่า CodeBlocks และภายในจะมีไฟล์ที่ชื่อว่า CodeBlocks.exe ที่เรียกใช้งานได้

การใช้งานโปรแกรม CodeBlocks Arduino IDE

เมื่อได้เปิดโปรแกรม CodeBlocks Arduino IDE แล้ว ขั้นตอนแรกคือการสร้างโปรเจคใหม่ (New Project Creation) โดยเลือกจากเมนูคำสั่ง File > New > Project ... และให้เลือกชนิดของโปรเจคเป็น "Arduino Project" และเข้าสู่ Arduino Project Wizard ต่อไป

รูปแสดงหน้าต่างหลักของ CodeBlocks Arduino IDE

รูปแสดงหน้าต่างตัวเลือกสำหรับชนิดของโปรเจคใหม่ (เลือก Arduino Project)

เมื่อเข้าสู่ Arduino Project Wizard ให้กำหนดค่าตัวเลือกสำหรับบอร์ด Arduino ที่จะใช้ เช่น ใช้สำหรับไมโครคอนโทรลเลอร์ 8 บิต ความถี่ 16 MHz เป็นต้น และในหน้าถัดไป ให้กำหนดชื่อโปรเจค และ Folder สำหรับโปรเจค

รูปแสดงการตั้งค่าสำหรับ Arduino Project

รูปแสดงการตั้งชื่อโปรเจคและเลือก Folder สำหรับโปรเจค

เมื่อได้สร้างโปรเจคใหม่แล้ว จะกลับเข้าสู่หน้าหลักของ IDE โดยจะมีโค้ด Arduino Sketch ถูกใส่ไว้โดยอัตโนมัติ (มาจาก Code Template) และอยู่ในส่วนของ Editor

รูปแสดงหน้าต่างหลักเมื่อได้สร้างโปรเจคแล้ว พร้อมโค้ดตัวอย่าง

โค้ดที่ถูกใส่มาเป็นตัวอย่างนั้น เป็นโค้ดที่ทำให้ LED ที่ขา D13 ของบอร์ด Arduino กระพริบ และมีการเปิดใช้พอร์ต Serial เพื่อส่งข้อมูลจากบอร์ด Arduino ไปยังคอมพิวเตอร์ผ่านสาย USB โค้ดนี้เป็นโค้ดตัวอย่าง และสามารถนำไปทดลองใช้ได้กับบอร์ด Arduino ... ถัดไปให้เลือกบอร์ดเป้าหมาย จากเมนูคำสั่ง Build > Select Target > Arduino Leonardo (ใช้บอร์ด Leonardo เป็นตัวอย่าง) แล้วทำขั้นตอน "Build" (หรือกด Ctrl+F9) ถ้าต้องการคอมไพล์เฉพาะไฟล์ที่ได้แก้ไขอย่างเดียว ให้เลือก Build > Compile current file

รูปแสดงเมนูคำสั่งสำหรับเลือกบอร์ด Arduino สำหรับใช้งาน

รูปแสดงข้อความในส่วน Build Log เมื่อทำขั้นตอน Build แล้ว

เมื่อได้ทำขั้นตอน Build เพื่อตรวจสอบความถูกต้องของ Arduino Sketch ขั้นตอนต่อไปคือการอัพโหลด โดยให้เชื่อมต่อบอร์ด Arduino กับคอมพิวเตอร์ ผ่าน USB แล้วจึงเลือกทำคำสั่ง Run (หรือกด Ctrl+F10) จากนั้นเมื่อได้คอมไพล์โค้ดแล้ว จะเข้าสู่หน้าต่างของ Arduino Builder และให้เลือกพอร์ต Serial ที่ตรงกับบอร์ด Arduino ในตัวอย่างนี้คือ COM49 และให้กดที่ปุ่มดังกล่าว และโปรแกรมจะทำการอัพโหลดไฟล์ .hex ของ Arduino Sketch ไปยังบอร์ดเป้าหมาย

รูปแสดงหน้าต่างของ Arduino Builder

รูปแสดงข้อความในหน้าต่างของ Arduino Builder หลังจากได้อัพโหลด Arduino Sketch สำเร็จแล้ว

ปัญหาที่พบ: จากการทดลองใช้งานกับบอร์ด Leonardo และ Pro Micro ซึ่งใช้ชิป ATmega32u4 พบว่า สามารถอัพโหลด Arduino Sketch ได้ แต่ไม่สามารถรับส่งข้อมูลได้ในหน้าต่างของ Arduino Builder แต่ถ้าใช้ Serial Monitor ของ Arduino IDE หรือโปรแกรมอย่างเช่น putty สามารถรับข้อมูลจาก Serial ได้ตามปรกติ (สำหรับบอร์ด Arduino Uno และ Arduino Mega 2560 สามารถใช้งานพอร์ต Serial ได้ตามปรกติ)

รูปแสดงข้อความจากพอร์ต Serial ของArduino Builder
แต่ทดลองใช้กับบอร์ด Arduino Pro Mini + USB-to-Serial module (FTDI chip) แล้วรับส่งข้อมูลได้

จุดเด่นของโปรแกรม CodeBlocks Arduino IDE

เมื่อเปรียบเทียบกับ Arduino IDE ผู้ใช้สามารถทดสอบการทำงานของ Arduino Sketch ในโหมด Debug ด้วย Simulator ของ CodeBlocks Arduino IDE ได้ และในการเขียนโค้ด มีโหมด Auto Code Complete และ Auto Save ให้ใช้งาน ทำให้สะดวกในการเขียนโค้ดมากขึ้น

รูปแสดงการเลือก Target เป็น Simulator เพื่อจำลองการทำงานและตรวจสอบการทำงานของโค้ด (Debug)
เมื่อเลือก Target เป็น Simulator แล้วให้ทำขั้นตอน Build อีกครั้ง

รูปแสดงการทดสอบการทำงานของโค้ดโดย Simulator
และเลือกทำคำสั่งไปจนถึงตำแหน่งของเคอร์เซอร์ใน Editor

รูปแสดงตัวอย่างเอาต์พุตที่ได้จากการทำงานของ Simulator สำหรับโค้ดตัวอย่าง

รูปแสดงตัวอย่างการทำ Auto-Complete ในขณะที่เขียนโค้ด

รูปแสดงตัวอย่างการทำ Auto-Complete ในขณะที่เขียนโค้ด

แก้ไขครั้งล่าสุด (Last Update): 9 Dec. 2013

1 ความคิดเห็น: