phone: 02-954-2408-9, 089-514-8111

บทความ Arduino คืออะไร? ตอนที่2 มาทำความรู้จักกับ Arduino รุ่นต่างๆกัน

Sep 23,2016

บทความ Arduino คืออะไร? ตอนที่2 มาทำความรู้จักกับ Arduino รุ่นต่างๆกัน
(บทความนี้ เหมาะสำหรับมือใหม่ หัดเล่น)

 

 

 

เเนะนำบทความ Arduino จาก ThaiEasyElec:


1. บทความ Arduino คืออะไร? ตอนที่1 แนะนำเพื่อนใหม่ที่ชื่อ Arduino >> คลิกอ่าน!


2. บทความ Arduino คืออะไร? ตอนที่2 มาทำความรู้จักกับ Arduino รุ่นต่างๆกัน >> คลิกอ่าน!


3. บทความ Arduino [ตอนที่ 3: Case Study#1 ทำโปรเจคเครื่องวัดอุณหภูมิแบบง่ายๆ] >> คลิกอ่าน!


4. บทความ Arduino [ตอนที่ 3: Case Study#2 ทำโปรเจคเครื่องวัดอุณหภูมิ + LCD TFT + SD Card] >> คลิกอ่าน!

 

Arduino Board (Official from Arduino.cc) มีหลากหลายรุ่นที่น่าสนใจ สินค้าผ่านการทดสอบคุณภาพ 100% ลูกค้าสามารถเลือกใช้บอร์ด Arduino ตามความเหมาะสมกับการใช้งาน ซึ่งมีดังนี้ 

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 UNO WiFi Rev2 ใช้ชิพ ATmega4809 ซึ่งมี Flash memory 48KB, SRAM 6KB และยังประหยัดพลังงานมากกว่าตัวเวอร์ชั่นเก่า อีกทั้งตัวบอร์ด Arduino Uno Wifi Rev2 ยังมาพร้อมกับชิพ ESP32 u-Blox NiNA-W13 Wifi ที่ทำให้ตัวบอร์ดรองรับใช้งานร่วมกับ Wifi และมีฟังก์ชั่นการใช้งานที่หลากหลายมากขึ้น (ดูรายละเอียดสินค้า)

 

 

 

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 MKR WIFI 1010 เป็นบอร์ดในตระกูล MKR ของ Arduino ปรับปรุงจากบอร์ด MKR 1000 WIFI ประกอบด้วย 3 ส่วน ได้แก่ (1) ชิพหลัก SAMD21 ARM Cortex-M0+ 32-bit Low Power MCU 48 MHz SRAM 32 KB และ Flash Memory 256 KB มี Digital I/O 8 ขา Analog Input 7 ขา Analog Output 1 ขา UART 1 ชุด SPI 1 ชุด I2C 1 ชุด รองรับ External Interrupt 8 ขา รองรับ PWM 12 ขา แรงดันขา I/O ทำงานที่ 3.3 โวลต์เท่านั้น (2) ชิพ ESP32 U-BLOX NINA-W10 Series Low Power 2.4 GHz 802.11 bgn (3) ชิพ ECC508 Crypto Authentication (ดูรายละเอียดสินค้า)

 

 

7. Arduino Pro Mini 328 3.3V เป็นบอร์ด Arduino ขนาดเล็ก ที่ใช้ MCU เบอร์ ATmega328 ซึ่งจะคล้ายกับบอร์ด Arduino Mini05 แต่บนบอร์ดจะมี 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 Leonardo ETH with PoE เป็นบอร์ดจาก Arduino.org ที่มี ATmega32U4 พร้อมกับโมดูล Ethernet ในตัว เหมาะสำหรับผู้ที่ต้องการใช้งานควบคุมผ่าน Network (TCP/IP) (ดูรายละเอียดสินค้า)

 

 

10. Arduino Due เป็นบอร์ด Arduino ที่เปลี่ยนชิป MCU ใหม่ ซึ่งจากเดิมเป็นตระกูล AVR เปลี่ยนเป็นเบอร์ AT91SAM3X8E (ตระกูลARM Cortex-M3) แทน ทำให้การประมวลผลเร็วขึ้น แต่ยังคงรูปแบบโค้ดโปรแกรมของ Arduino ที่ง่ายอยู่ ข้อควรระวัง: เนื่องจากMCU เป็นคนละเบอร์กับ Arduino Uno R3 อาจะทำให้บอร์ด Shield บางตัวหรือ Library ใช้ร่วมกันกับบอร์ด Arduino Leonardo ไม่ได้ ผู้ใช้งานจำเป็นต้องตรวจสอบก่อนใช้งาน (ดูรายละเอียดสินค้า)

ตารางเปรียบเทียบคุณสมบัติของบอร์ด Arduino แต่ละรุ่น (คลิก !!! เพื่อดูรูปใหญ่)  

จากตารางจะเห็นได้ว่า

          เนื่องจากบอร์ด 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 R3Arduino Uno SMDArduino Mini 05Arduino Pro Mini 328 - 3.3VArduino Pro Mini 328 - 5VArduino Ethernet with PoE moduleArduino Ethernet without PoE module   

 

คำถาม: ถ้าต้องการทราบว่า Shield ที่รันบนบอร์ด Arduino Uno R3 นั้น สามารถรันบนบอร์ดArduino อื่นๆ ได้หรือไม่ มีหลักการตรวจสอบอย่างไร?

คำแนะนำ: หลักการตรวจสอบ คือ

   - ต้องดูระดับแรงดัน I/O ของบอร์ด Arduino รุ่นนั้นๆ ว่าสามารถต่อกับ Shield ได้หรือไม่

  • กรณีที่บอร์ด Arduino มีระดับแรงดัน 5V และบอร์ด Arduino Shield ก็ใช้ระดับแรงดัน 5V เช่นกัน ก็สามารถต่อใช้งานร่วมกัน
  • กรณีที่บอร์ด Arduino มีระดับแรงดัน 3.3V (อาทิเช่น Arduino DUE) และบอร์ด Arduino Shield ใช้ระดับแรงดัน 5V ต้องตรวจสอบว่าบนบอร์ด  Arduino Shield มี IC Voltage Level Converter หรือไม่? หรือขา I/O ที่ใช้สามารถทนกับระดับแรงดัน 5V ได้หรือไม่? (ถ้าไม่มี IC Voltage level converter จะต้องลดระดับแรงดันของทั้งสองบอร์ดให้เท่ากันก่อน จึงจะสามารถนำมาต่อร่วมกันได้)

   - นอกจากดูเรื่องระดับแรงดันแล้ว ต้องตรวจสอบต่อว่าบอร์ด Arduino Shield ที่จะนำมาต่อนั้น เมื่อเสียบกับบอร์ด Arduino แล้วมี Pin I/O ที่ต้องการใช้งานตรงกันหรือไม่? (เช่น Pin I2C, SPI, PWM)