เชื่อว่าหลายๆคนคงน่าจะรู้จักหรือเคยได้ยินชื่อเจ้า Arduino กันมาบ้างแล้ว ในฐานะที่มันเป็นบอร์ดเอนกประสงค์ เอาไปทำเป็นของเล่นหรืออุปกรณ์ต่างๆได้มากมายตามแต่จินตนาการของเรา ซึ่งเป็นที่นิยมกันมากในเหล่าMaker ความสามารถของมันขึ้นอยู่กับความคิดสร้างสรรค์ของนักพัฒนาใครมีไอเดียมากก็สามารถทำอะไรกับมันได้มากซึ่งมีตัวอย่างโปรเจคและแหล่งข้อมูลให้เราได้ศึกษามากมาย ซึ่งผู้เขียนก็ตั้งใจว่าจะเขียนบทความสอนการใช้งาน Arduino เบื้องต้น เพื่อเป็นความรู้ให้กับทุกคนในครั้งต่อๆไป เพื่อใครจะเอาไว้ทำของเล่นสนุกๆยามวางหรือบางคนอาจจะเอาไปทำโปรเจคส่งอาจารย์ก็ได้ แต่ก่อนอื่นบทเรียนแรกที่คิดว่าผู้เริ่มต้นควรจะต้องรู้ก่อน ก็คือ Arduino จริงๆแล้วมันคืออะไรกันแน่ งั้นเราไปทำความรู้จักกับ Arduino กันเลย

Arduino คือ แพลตฟอร์ม open-source ซึ่งมีส่วนที่เป็นทั้ง Software (Arduino Board) และ Hardware (Arduino IDE) สำหรับการสร้าง Prototype หรืออุปกรณ์ต้นแบบของโปรเจคที่เกี่ยวข้องกับอิเล็กทรอนิคส์และEmbedded System โดยArduinoนั้นถูกออกแบบมาเพื่อให้ง่ายต่อการใช้งาน เหมาะกับผู้เริ่มต้น และสามารถนำไปประยุกต์ใช้ พัฒนาต่อยอดได้หลากหลาย

Arduino Board คือ บอร์ด PCB (Printed Circuit Board) ที่ถูกออกแบบมาเป็นพิเศษ โดยมีชิป Microcontroller ที่สามารถโปรแกรมได้สำหรับใช้ในการควบคุมหรือรับค่าจากอุปกรณ์ต่างๆผ่านพอร์ตInputและOutput ตัวอย่างการรับค่าInput เช่น การอ่านค่าจากเซ็นเซอร์ การตรวจจับการกดปุ่ม หรือ การรับสัญญาณAnalogต่างๆ เป็นต้น ส่วนการสั่งงานOutputนั้นArduinoก็สามารถทำได้ เช่น การส่ง Pulse ไปควบคุมมอร์เตอร์ หรือ การเปิด-ปิดหลอดไฟLED เป็นต้น นอกจากนี้บอร์ด Arduino ยังสามารถเชื่อมต่อวงจรอิเล็กทรอนิกส์ต่างๆจากภายนอกได้ หรือเพื่อให้ง่ายขึ้นไปอีกก็มีนักพํฒนาหลายคนได้ทำบอร์ดเสริมหรือ Arduino Shield ออกมา ซึ่งเป็นบอร์ดวงจรอิเล็กทรอนิคส์สำหรับทำงานเฉพาะอย่างที่สามารถต่อขึ้นไปเป็นชั้นๆบนบอร์ด Arduino ได้เลย เช่น Ethernet Shield เป็น Shield ที่มีพอร์ต Ethernet ไว้สำหรับต่อLAN เป็นต้น

Ethernet Shield

Arduino IDE (Arduino Integrated Development Environment) คือ Software ที่ใช้สำหรับเขียนโค้ด คอมไพล์และอัพโหลดโปรแกรมลงบอร์ดArduino ซึ่งเป็นการบอกกับMicrocontrollerว่าเราต้องการจะให้มันทำงานอะไร ตัวอย่างเช่น คุณสามารถที่จะเขียนโปรแกรมเพื่อสั่งงานให้หลอดLED เปิด-ปิด หรือกระพริบตามที่เราต้องการได้ หรือถ้าคุณต่อปุ่ม Pushbutton เพิ่มเข้าไปและทำการเขียนโค้ดเพิ่มอีกเล็กน้อย คุณก็สามารถควบคุมการเปิด-ปิดไฟของหลดLEDด้วยการกดปุ่มได้แล้ว โดยในการเขียนโปรแกรมเพื่อควบคุมArduinoนั้นเราจะใช้ภาษา Arduino Programming Language ซึ่งมีรากฐานมาจากภาษา Wiring ซึ่งเป็น Open-source programming Framework สำหรับ Microcontroller อีกตัวหนึ่ง นิยมใช้ในงานด้านศิลปะเกี่ยวกับ Interactive Art และการทำPrototype ส่วนArduino IDE นั้นก็มีต้นแบบมากจากโปรแกรม Processing Development Environment (PDE) ซึ่งเป็นที่มาของการเขียนโค้ดในรูปแบบ Sketch นั่นเอง จะเห็นได้ว่าหน้าตาของมันละม้ายคล้ายกับ Arduino IDE มากๆเลย

จุดเด่นของ Arduino

  • ราคาไม่แพง
  • Cross-platform: Arduino IDE สามารถรันได้บนทุกระบบปฏิบัติการ
  • ง่ายต่อการใช้งาน: ใช้งานง่ายเหมาะกับผู้เริ่มต้น และมีความยืดหยุ่นพอสำหรับการพัฒนาและประยุกต์ใช้งานในระดับสูง
  • Open-source Software: Arduino IDE เป็นโปรแกรม Open source สามารนำไปพัฒนาต่อได้ รวมถึงเปิดโอกาสให้นักพัฒนาสามารถเขียน libraries เพิ่มเติมด้วยภาษา C++ เพื่อเพิ่มความสะดวกและความง่ายแก่ผู้ใช้งานมากยิ่งขึ้น
  • Open-source Hardware: Arduino อนุญาติให้ผู้ผลิตหรือนักพัฒนานำแบบและลายวงจรของบอร์ดArduino ไปสร้างหรือพัฒนาเพิ่มเติมได้
  • มีแหล่งข้อมูล และ community จำนวนมาก