1. Arduino Uno R3 เป็นบอร์ด Arduino ที่ได้รับความนิยมมากที่สุด เนื่องจากราคาไม่แพง ส่วนใหญ่โปรเจคและ Library ต่างๆ ที่พัฒนาขึ้นมา Support จะอ้างอิงกับบอร์ดนี้เป็นหลัก และข้อดีอีกอย่างคือ กรณีที่ MCU เสีย ผู้ใช้งานสามารถซื้อมาเปลี่ยนเองได้ง่าย
2. Arduino Uno SMD เป็นบอร์ดที่มีคุณสมบัติและการทำงานเหมือนกับบอร์ด Arduino UNO R3 ทุกประการ แต่จะแตกต่างกับที่ Package ของ MCU ซึ่งบอร์ดนี้จะมี MCU ที่เป็น Package SMD (Arduino UNO R3 มี MCU ที่เป็น Package DIP)
3. Arduino Mega 2560 R3 เป็นบอร์ด Arduino ที่ออกแบบมาสำหรับงานที่ต้องใช้ I/O มากกว่า Arduino Uno R3 เช่น งานที่ต้องการรับสัญญาณจาก Sensor หรือควบคุมมอเตอร์ Servo หลายๆ ตัว ทำให้ Pin I/O ของบอร์ด Arduino Uno R3 ไม่สามารถรองรับได้ ทั้งนี้บอร์ด Mega 2560 R3 ยังมีความหน่วยความจำแบบ Flash มากกว่า Arduino Uno R3 ทำให้สามารถเขียนโค้ดโปรแกรมเข้าไปได้มากกว่า ในความเร็วของ MCU ที่เท่ากัน
4. Arduino Mega ADK เป็นบอร์ดที่ออกแบบมาให้บอร์ด Mega 2560 R3 สามารถติดต่อกับอุปกรณ์ Android Deviceผ่านพอร์ต USB Host ของบอร์ดได้
5. Arduino Leonardo การทำงานจะคล้ายกับบอร์ด Arduino Uno R3 แต่มีการเปลี่ยน MCU ตัวใหม่เป็น ATmega32U4 ซึ่งมีโมดูลพอร์ต USB มาด้วยบนชิป (แตกต่างจากบอร์ด Arduino UNO R3 หรือ Arduino Mega 2560 ที่ต้องใช้ชิป ATmega16U2 ร่วมกับ Atmega328 ในการเชื่อมต่อกับพอร์ต USB)
ข้อควรระวัง: เนื่องจาก MCU เป็นคนละเบอร์กับ Arduino Uno R3 อาจะทำให้บอร์ด Shield บางตัวหรือ Library ใช้ร่วมกันกับบอร์ด Arduino Leonardo ไม่ได้ ผู้ใช้งานจำเป็นต้องตรวจสอบก่อนใช้งาน
6. Arduino Mini 05 เป็นบอร์ด Arduino ขนาดเล็กที่ใช้ MCU เบอร์ ATmega328 เบอร์เดียวกับบอร์ด Arduino UNO R3
ข้อแตกต่าง: บอร์ด Arduino Mini 05 จะไม่มีพอร์ต USB มาให้ ผู้ใช้งานต้องต่อกับบอร์ด USB to Serial Converter เพิ่มเมื่อต้องการโปรแกรมบอร์ด
7. Arduino Pro Mini 328 3.3V เป็นบอร์ด Arduino ขนาดเล็ก ที่ใช้ MCU เบอร์ ATmega328 ซึ่งจะคล้ายกับบอร์ด Arduino Mini 05 แต่บนบอร์ดจะมี Regulator 3.3 V ชุดเดียวเท่านั้น ระดับแรงดันไฟที่ขา I/O คือ 3.3V
8. Arduino Pro Mini 328 5V เป็นบอร์ด Arduino ขนาดเล็ก ที่ใช้ MCU เบอร์ ATmega328 เช่นเดียวกับบอร์ด Arduino Mini 05 แต่บนบอร์ดจะมี Regulator 5V ชุดเดียวเท่านั้น ระดับแรงดันไฟที่ขา I/O คือ 5V
9. Arduino Ethernet with PoE module เป็นบอร์ด Arduino ที่ใช้ MCU เบอร์เดียวกับ Arduino Uno SMD ในบอร์ดมีชิป Ethernet และช่องสำหรับเสียบ SD Card รวมทั้งโมดูล POE ทำให้บอร์ดนี้สามารถใช้แหล่งจ่ายไฟจากสาย LAN ได้โดยตรง โดยไม่ต้องต่อ Adapter เพิ่ม แต่บอร์ด Arduino Ethernet with PoE module นี้จะไม่มีพอร์ต USB ทำให้เวลาโปรแกรมต้องต่อบอร์ด USB toSerial Converter เพิ่มเติม
10. Arduino Ethernet without PoE module บอร์ดนี้จะตัดโมดูล POE ออกไป ต้องใช้ไฟจากพอร์ต Power Jack เท่านั้น คุณสมบัติอื่นๆ จะเหมือนกับบอร์ด Arduino Ethernet with PoE module
11. Arduino Due เป็นบอร์ด Arduino ที่เปลี่ยนชิป MCU ใหม่ ซึ่งจากเดิมเป็นตระกูล AVR เปลี่ยนเป็นเบอร์ AT91SAM3X8E(ตระกูล ARM Cortex-M3) แทน ทำให้การประมวลผลเร็วขึ้น แต่ยังคงรูปแบบโค้ดโปรแกรมของ Arduino ที่ง่ายอยู่ ข้อควรระวัง:เนื่องจาก MCU เป็นคนละเบอร์กับ Arduino Uno R3 อาจะทำให้บอร์ด Shield บางตัวหรือ Library ใช้ร่วมกันกับบอร์ด Arduino Leonardo ไม่ได้ ผู้ใช้งานจำเป็นต้องตรวจสอบก่อนใช้งาน
เนื่องจากบอร์ด Arduino UNO R3 เป็นรุ่นที่ได้รับความนิยมมากที่สุด ทำให้ Library และบอร์ด Shield ส่วนใหญ่จะรองรับกับบอร์ดรุ่นนี้ ดังนั้น จึงขออธิบายรายละเอียดต่างๆ โดยอิงจากบอร์ด Arduino UNO R3 เป็นหลัก
คำถาม: ถ้าต้องการทราบว่า Library ที่รันบนบอร์ด Arduino Uno R3 นั้น สามารถนำรันบนบอร์ด Arduino อื่นๆ ได้หรือไม่? มีหลักการตรวจสอบอย่างไร?
คำแนะนำ: ในเบื้องต้น ถ้าบอร์ด Arduino ที่มี MCU เป็นเบอร์ Atmega328 (เบอร์เดียวกับบอร์ด Arduino UNO R3) จะสามารถใช้ Library เดียวกันกับที่ใช้ใน Arduino UNO R3 ได้ แต่ถ้าบอร์ด Arduino ที่ใช้ MCU เบอร์อื่นๆ เช่น Arduino Mega 2560 R3 ที่ใช้ MCU เบอร์ ATmega2560 ผู้ใช้งานต้องตรวจสอบก่อนว่า Library นั้นๆ รองรับหรือไม่ ซึ่งถ้าเป็น Library ที่ต้องติดต่อกับค่า Register ต่างๆ อาจจะใช้ด้วยกันไม่ได้ หรือขาบางขาจะไม่ตรงกับรุ่น UNO
ตัวอย่างบอร์ด Arduino ที่สามารถใช้ Library เดียวกับบอร์ด Arduino UNO R3: Arduino Uno SMD, Arduino Mini 05, Arduino Pro Mini 328 - 3.3V, Arduino Pro Mini 328 - 5V, Arduino Ethernet with PoE module, Arduino Ethernet without PoE module
คำถาม: ถ้าต้องการทราบว่า Shield ที่รันบนบอร์ด Arduino Uno R3 นั้น สามารถรันบนบอร์ด Arduino อื่นๆ ได้หรือไม่ มีหลักการตรวจสอบอย่างไร?
คำแนะนำ: หลักการตรวจสอบ คือ
- ต้องดูระดับแรงดัน I/O ของบอร์ด Arduino รุ่นนั้นๆ ว่าสามารถต่อกับ Shield ได้หรือไม่
- นอกจากดูเรื่องระดับแรงดันแล้ว ต้องตรวจสอบต่อว่าบอร์ด Arduino Shield ที่จะนำมาต่อนั้น เมื่อเสียบกับบอร์ด Arduino แล้วมี Pin I/O ที่ต้องการใช้งานตรงกันหรือไม่? (เช่น Pin I2C, SPI, PWM)