วันนี้ว่าจะเขียนบทความเรื่องการเขียน firmware และ upload ให้กับบอร์ด Arduino ครับ แต่มานั่งนึกไปนึกมา ถ้าคนที่ไม่เคยรู้จักว่า Arduino นี้คืออะไรเลยก็อาจจะงงไปกันใหญ่ วันนี้ผมก็เลยเปลี่ยนเนื้อหาบทความนิดหน่อยครับ มาแนะนำเจ้าบอร์ด Arduino ให้กับหลายๆคนได้พอรู้จักกันสักหน่อยดีกว่า
Arduino คืออะไร?
Arduino เป็นบอร์ดอิเล็กทรอนิกส์ Micro controller ที่ใช้สำหรับในการสร้างต้นแบบโปรเจ็คต่างๆ ที่เกี่ยวข้องกับการควบคุมทางอิเล็กทรอนิกส์ครับ ซึ่งข้อแตกต่างสำหรับบอร์ด Arduino กับบอร์ดทดลองทั่วๆไปก็ในเรื่องของความเป็น open source ครับ คือเปิดเผยวิธีการสร้างทั้งในส่วนของ Hardware ไม่ว่าจะเป็นวงจรต่างๆ ภายในบอร์ด และตัว Tool Software ที่จะเป็นเครื่องมือที่จะใช้ในการเขียนคำสั่งต่างๆลงบอร์ด ล้วนเป็น Opensource หมด ซึ่งก็หมายความว่าทุกคนมีสิทธิ์ที่จะดาวน์โหลดโปรแกรมต่างๆ ที่เกี่ยวกับการพัฒนา Arduino ไปใช้ฟรี และสามารถสร้างวงจรเองจากต้นแบบใช้ฟรีได้เช่นกัน ซึ่งข้อดีก็คือเป็รการสร้างมาตฐานในการพัฒนาที่จะเป็นไปในทิศทางเดียวกันครับ เพราะนักพัฒนาทั่วโลกก็จะหันมาใช้งานบอร์ดชนิดนี้กันมากขึ้น ดังนั้นไม่ว่าจะเป็นในเรื่องของตัวอย่าง source code ตลอดจนการพูดคุยปัญหาเรื่องการใช้งาน และตัวอย่างการต่อวงจรเพื่อการใช้งานในรูปแบบต่างๆ ก็จะถูกพัฒนาภายใต้ open source ของบอร์ดนี้ ตัวอย่าง ง่ายๆ ลองนึกถึงพวก Linux ครับ มีนักพัฒนาอยู่ทั่วโลก ซึ่งจะเป็น community ที่ใหญ่มากๆ ดังนั้นการช่วยเหลือในเรื่องต่างๆ ก็จะมากตามไปด้วย
สำหรับตัวบอร์ดสำเร็จรูปที่ถูกสร้างไว้แล้ว ผู้ใช้สามารถติดต่อซื้อได้ครับ ตามร้านขายอุปกรณ์ประเภทอิเล็กทรอนิกส์ใหญ่ๆ ทั่วไป (ลองใช้อากู๋คนหาได้) หรือต้นฉบับที่เว็บ http://www.arduino.cc/
เรามาดูคุณสมบัตเบื้องต้นของเจ้าบอร์ด Arduino กันครับ จริงๆแล้ว Arduino มีหลายรุ่น spec ก็ต่างกัน แต่รุ่นต่อไปนี้เป็นรุ่นที่ผมมีอยู่ครับ เลยยกตัวอย่างมาให้ดูกัน
ArduinoBoardUno
– Microcontroller ATmega328
– Operating Voltage 5V
– Input Voltage (recommended) 7-12V
– Input Voltage (limits) 6-20V
– Digital I/O Pins 14 (of which 6 provide PWM output)
– Analog Input Pins 6
– DC Current per I/O Pin 40 mA
– DC Current for 3.3V Pin 50 mA
– Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader
– SRAM 2 KB (ATmega328)
– EEPROM 1 KB (ATmega328)
– Clock Speed 16 MHz
จะเห็นได้ว่าคุณสมบัติมีครบครันครับ สามารถนำไปใช้ต่อกับวงจร ต่อกับ sensor ต่างๆ เพื่อพัฒนาเป็นระบบควบคุมอัตโนมัติ ไว้ใช้งานได้ครับ
สำหรับการทดลองใช้งานสำหรับมือใหม่อย่างผมที่ไม่เคยใช้งานบอร์ด Arduino มาเลย (แต่พอมีพื้นฐาน micro controller มาบ้าง) ก็ถือว่าไม่ยากครับ ข้อดีอันดับแรก คือลดเวลาในการสร้างวงจร micro controller ,งไปได้ เพราะลำพังแค่บอร์ด Arduino บอร์ดเดียว พร้อมกับ potoboard และสายจั๊มสำหรับต่อวงจร ก็สามารถเริ่มสร้างสรรค์ผลงานสนุกๆ ออกมาได้แล้วครับ อ้อ เวลาเขียนคำสั่งให้บอร์ด Arduino ก็ใส้สาย USB ธรรมดาๆ นี่แหละครับ upload โปรแกรมลงไปได้เลย ผ่าน Tool Software interface ของ Arduino เอง ซึ่งก็จะมีพร้อมครบครัน ทั้งในส่วนของการเขียนโปรแกรม และการ debug ตลอดจนการแสดงผลทาง comport ซึ่งสะดวกเอามากๆ ครับ
ใครที่สนใจเจ้าบอร์ดตัวนี้ก็ลองเข้าไปศึกษากันดูก่อนได้ครับ ที่เว็บ http://www.arduino.cc/
แล้วพบกับบทความเกี่ยวกับ Arduino ใหม่ตอนหน้าครับ