โปรแกรมที่ใช้สำหรับบอร์ดสมองกลฝังตัว Arduino มีชื่อเรียกเป็นทางการว่า Arduino Integrated Development Environment หรือเรียกแบบย่อว่า Arduino IDE โดยที่จะมีส่วนประกอบและวิธีการใช้งานดังต่อนี้
1.3.1 การใช้งานโปรแกรม Arduino IDE
ในการใช้งานโปรแกรม Arduino IDE สามารถใช้งานได้ทั้งระบบออนไลน์และออฟไลน์ ซึ่งมีรายละเอียดในการใช้งานดังต่อไปนี้
1.3.1.1 การใช้งานโปรแกรม Arduino IDE ในระบบออนไลน์จะสามารถใช้งานที่เว็บไซต์ https://www.arduino.cc/en/software โดยจะต้องมีการสมัครเป็นสมาชิกโดยคลิกที่ตัวเลือก Create one แล้วกรอกข้อมูลตามที่กาหนด แต่ถ้าเป็นสมาชิกอยู่แล้วให้กรอก Username และ Password ในช่องที่กำหนดแล้วคลิกปุ่ม SIGN IN ดังรูปที่ 1.5 ก. ก็สามารถเข้าไปใช้งานได้ โดยที่เครื่องคอมพิวเตอร์ของผู้ใช้งานจะต้องเชื่อมต่อกับระบบอินเทอร์เนตตลอดเวลา นอกจากนั้นถ้าผู้ใช้งานเป็นสมาชิกของ gmail หรือมี Apple ID ก็สามารถนำมาเข้าสู่ระบบเพื่อใช้งานโปรแกรม Arduino IDE ในระบบออนไลน์ได้เช่นกัน ดังแสดงในรูปที่ 1.5 ข. และ ค.
รูปที่ 1.5 ก. การสมัครเป็นสมาชิกหรือการเข้าสู่ระบบโปรแกรม Arduino IDE
ข. การลงชื่อใช้งานโปรแกรม Arduino IDE ด้วย gmail
ค. การลงชื่อใช้งานโปรแกรม Arduino IDE ด้วย Apple ID
ซึ่งเมื่อเข้าสู่โปรแกรม Arduino IDE ในระบบออนไลน์แล้ว จะมีส่วนประกอบดังรูป
1.3.1.2 การใช้งานโปรแกรม Arduion IDE ในระบบออฟไลน์สามารถใช้งานได้กับระบบปฏิบัติการ Window Mac OS X และ Linux โดยสามารถดาวโหลด Arduino IDE ได้ที่เว็บไซด์ https://www.arduino.cc/en/software จะต้องทำการดาวโหลดให้ตรงกับรุ่นของระบบปฏิบัติการ ดังแสดงในรูป
เมื่อทำการติดตั้งโปรแกรม Arduino IDE สำหรับระบบออฟไลน์ ในระบบปฏิบัติการ Windows แล้ว จะมีส่วนประกอบดังแสดงในรูป
เมื่อเราคลิกตัวเลือกในช่อง DOWNLOAD OPTIONS แล้ว จะเข้าสู่หน้าจอ Support the Arduino IDE ถ้าผู้ใช้งานต้องการบริจาคเงินช่วยในการพัฒนาโปรแกรม Arduino IDE ก็คลิกเลือกปุ่ม CONTRIBUTE & DOWNLOAD แต่ต้องการแค่ดาวน์โหลดไปใช้งานอย่างเดียวก็คลิกเลือก JUST DOWNLOAD ก็จะได้ไฟล์สำหรับติดตั้งโปรแกรม Arduino IDE ในเครื่องคอมพิวเตอร์ของผู้ใช้งาน
1) แถบแสดงตัวเลือก (Menu Bar) ซึ่งจะเป็นบริเวณที่ทำให้ผู้ใช้งานสามารถเข้าถึงส่วนที่จำเป็นสำหรับการเขียนโปรแกรมสำหรับใช้งานบอร์ด Arduino
2) แถบแสดงเครื่องมือ (Tool Bar) ซึ่งจะประกอบด้วยปุ่มตัวเลือก 5 ปุ่มตัวเลือก ดังนี้
2.1 ปุ่มตัวเลือก Verify ใช้ในการ compile และตรวจสอบความถูกต้องของการเขียนโปรแกรม
2.2 ปุ่มตัวเลือก Upload ใช้ในการโหลดโปรแกรมเข้าสู่บอร์ด Arduino ผ่านการเชื่อมต่อ USB
2.3 ปุ่มตัวเลือก New ใช้สาหรับเปิดหน้าต่างอันใหม่ของ Arduino IDE
2.4 ปุ่มตัวเลือก Open คลิกเลือกเมื่อต้องการเปิดโปรแกรมที่ได้บันทึกไว้ในเครื่องคอมพิวเตอร์
2.5 ปุ่มตัวเลือก Save คลิกเลือกเมื่อต้องการบันทึกโปรแกรมที่ได้สร้างขึ้นมา
3) ปุ่มตัวเลือก Serial Monitor เมื่อเราเขียนโปรแกรมให้มีการแสดงผลออกทางหน้าจอคอมพิวเตอร์เราสามารถคลิกเลือกดูการแสดงผลได้ที่ปุ่มตัวเลือกนี้
4) พื้นที่ในการเขียนโปรแกรม ผู้ใช้งานจะสามารถกำหนดค่าคงที่ รูปการทำงานของโปรแกรมที่เราจะสั่งงานให้บอร์ด Arduino ทำงานได้ที่บริเวณนี้ โดยที่พื้นที่บริเวณนี้หรือโปรแกรมที่เราพิมพ์เพิ่มขึ้นจะเรียกว่า sketch
5) พื้นที่แสดงข้อความ (Message Area) บริเวณนี้จะบอกให้ผู้ใช้งานทราบขั้นตอนการทำงานของArduino IDE เช่น การบันทึกโปรแกรม (Save) โปรแกรมผิดพลาด(Error) เป็นต้น
6) กล่องแสดงรายละเอียดของโปรแกรม (Text Console) จะแสดงความผิดพลาดของโปรแกรมในขั้นตอนการคอมไพล์หรือแสดงความผิดพลาดในขั้นตอนอัพโหลดโปรแกรม
7) แถบแสดงรุ่นของบอร์ดและพอร์ตอนุกรม ( Board and Serial Port ) แสดงชนิดของบอร์ดสมองกลฝังตัวรุ่นต่างๆที่เราเลือกใช้งานและพอร์ตอนุกรมที่เลือกใช้ในการติดต่อกับสื่อสารกับบอร์ด
ภาษาซีของ Arduino IDE จะจัดแบ่งรูปแบบโครงสร้างของการเขียนโปรแกรมออกเป็นส่วนย่อยๆหลายๆส่วน โดยเรียกแต่ละส่วนว่า ฟังก์ชัน และเมื่อนำฟังก์ชันมารวมเข้าด้วยกัน ก็จะเรียกว่า โปรแกรม โดยที่ทุก ๆ โปรแกรมจะต้องประกอบไปด้วยอย่างน้อย 2 ฟังก์ชัน คือ setup ( ) และ loop ( )
โครงสร้างภาษาซีของ Arduino IDE จะประกอบด้วย 3 ส่วนใหญ่ ดังนี้
1) header ส่วนนี้จะมีหรือไม่มีก็ได้ ถ้ามีต้องกำหนดไว้ในส่วนเริ่มต้นของโปรแกรม จะใช้ในการประกาศ Compiler Directive ซึ่งจะใช้คำสั่งพิเศษ #include ซึ่งไม่ต้องมีเครื่องหมายเซมิโคล่อนปิดท้าย หรือใช้ในการประกาศตัวแปรหรือค่าคงที่ต่างๆ
2) setup ( ) เป็นฟังก์ชันบังคับจะต้องมีทุกโปรแกรม ใช้ในการกาหนดหน้าที่การใช้งานของ PinMode หรือกาหนดค่า Baudrate สาหรับใช้งานพอร์ตอนุกรม
3) loop ( ) เป็นฟังก์ชันบังคับจะต้องมีทุกโปรแกรม ทาหน้าที่บรรจุคาสั่งที่ต้องการให้โปรแกรมทางานเป็นวงรอบซ้าๆกันไปไม่รู้จบ
1.3.3 ขั้นตอนการเลือกรุ่นของบอร์ดสมองกลฝังตัว
1.3.4 ขั้นตอนการเลือกพอร์ตสาหรับการสื่อสารแบบอนุกรม