วิธีใช้งานโปรแกรม Arduino IDE เบื้องต้น

Arduino IDE คือโปรแกรมสำหรับใช้เขียนโปรแกรม, คอมไพล์ และอัปโหลดโปรแกรมลงบอร์ด Arduino หรือบอร์ดตัวอื่นๆ ที่คล้ายกัน เช่น Generic ESP8266 modules, NodeMCU หรือ WeMos D1 เป็นต้น

แนวคิดการใช้งานโปรแกรม Arduino IDE

  1. เขียนโปรแกรมด้วยภาษา C/C++ สำหรับ Arduino
  2. คอมไพล์หรือแปลโปรแกรมภาษา C/C++ ให้เป็นภาษาสำหรับไมโครคอนโทรลเลอร์และบันทึกเป็น Intel Hex File
  3. อัปโหลด Intel Hex File ลงบนไมโครคอนโทรลเลอร์ซึ่งอยู่บนบอร์ด Arduino ผ่านสาย USB หรือผ่าน Programmer

วิธีใช้งานโปรแกรม Arduino IDE อย่างง่าย

1. เปิดโปรแกรม Arduino IDE ขึ้นมา

2. สร้าง Sketch ใหม่ โดยคลิ๊กที่เมนู File > New

** หมายเหตุ : โปรแกรมที่ถูกเขียนด้วย Arduino IDE จะถูกเรียกว่า Sketch ครับ **

3. เขียนโปรแกรมลงไปตรงพื้นที่สีขาวๆ ครับ ซึ่งการเขียนโปรแกรมสำหรับ Arduino จะประกอบไปด้วยฟังก์ชั่น setup และ ฟังก์ชั่น loop ซึ่งมีความหมายดังนี้

  • ฟังก์ชั่น setup จะเริ่มทำงานเป็นอันดับแรกเมื่อ Arduino เริ่มทำงาน และคำสั่งที่ถูกเขียนลงไปในนี้ จะทำงานเพียงครั้งเดียวเท่านั้น
  • ฟังก์ชั่น loop จะเริ่มทำงานทันทีเมื่อฟังก์ชั่น setup ทำงานเสร็จ และคำสั่งที่ถูกเขียนลงไปในนี้ จะทำงานตั้งแต่คำสั่งแรก ไล่ไปจนถึงคำสั่งสุดท้าย แล้วกลับมาที่คำสั่งแรก ไล่ไปจนถึงคำสั่งสุดท้าย วนซ้ำแบบนี้ไปเรื่อยๆ ตลอดการทำงานของ Arduino

4. เมื่อเขียนโปรแกรมเสร็จแล้วให้บันทึกเก็บไว้โดยคลิ๊กที่เมนู File > Save จากนั้นจะมีหน้าต่างขึ้นมาให้เราเลือกว่าจะบันทึกไว้ที่ไหน และจะตั้งชื่อ Sketch ว่ายังไง ตรงนี้ก็แล้วแต่เราจะตั้งชื่อครับ

เมื่อทำถูกต้องที่ Tittle bar จะแสดงชื่อ Sketch ตามที่เราได้ตั้งชื่อไปตอนบันทึกครับ

5. ต่อบอร์ด Arduino เข้ากับคอมพิวเตอร์ผ่านสาย USB (แนะนำให้ต่อครั้งละ 1 บอร์ดป้องกันการสับสน)

6. ตั้งค่าเพื่อบอก Arduino IDE ว่าเราจะอัปโหลดโปรแกรมให้กับบอร์ดรุ่นอะไร และอัปโหลดผ่าน Port ไหน

6.1. คลิ๊กที่เมนู Tools > Board เลือกบอร์ด Arduino ให้ตรงกับรุ่นที่เราต่อใช้งานอยู่

6.2. คลิ๊กที่เมนู Tools > Port ตรงนี้ถ้าเราต่อไว้แค่บอร์ดเดียว, ติดตั้ง Driver ไว้แล้ว และบอร์ดไม่ได้เสีย จะมีรายการขึ้นมาให้เลือกแค่รายการเดียวครับ (Winows จะแสดงเป็น COMx ส่วน Linux จะแสดงเป็น /dev/ttyUSBx หรือ /dev/ttyACMx)

7. คลิ๊กปุ่มอัปโหลด หรือจะคลิ๊กที่เมนู Sketch > Upload ก็ได้ (ปุ่มนี้จะคอมไพล์ + อัปโหลดในขั้นตอนเดียว)

หากเขียนโปรแกรมถูกต้อง และไม่ได้มีปัญหาระหว่างการอัปโหลด จะมีข้อความขึ้นว่า Done uploading และจะมีข้อความรายงานเป็นข้อความสีขาวๆ

หรือหากเขียนโปรแกรมผิดจะแสดงเป็นข้อความสีส้มๆ ที่เมื่อแปลข้อความแล้วก็พอจะสามารถเดาได้ว่าเราเขียนโปรแกรมผิดตรงจุดไหน เช่น เคสนี้ “expected ‘;’ before ‘}’ token” แปลว่า ลืมพิมพ์ ; ก่อนเครื่องหมายปีกกา } เป็นต้นครับ

หรือหากมีปัญหาระหว่างการอัปโหลด ก็จะมีข้อความขึ้นว่า Problem uploading to board.  ซึ่งปัญหาอาจเกิดขึ้นได้จากหลายปัจจัย แนะนำให้เข้าไปศึกษาวิธีแก้ปัญหาได้ที่ https://www.arduino.cc/en/Guide/Troubleshooting#upload

นี่ก็เป็นวิธีการใช้งาน Arduino IDE แบบคร่าวๆ ครับ หวังว่าจะเป็นประโยชน์กับผู้อ่านทุกท่านนะครับ

ข้อมูลเพิ่มเติม

 

แบ่งปันสิ่งนี้บน

วิธีดาวน์โหลดและติดตั้ง Arduino IDE บน Ubuntu

ขั้นตอนการดาวน์โหลด

1. เข้าไปยังเว็บไซต์หลักของ Arduino เพื่อดาวน์โหลด Arduino IDE โดยคลิกที่นี่ https://www.arduino.cc/en/main/software

2. เมื่อเข้าเว็บไซต์มาแล้ว ให้คลิกดาวน์โหลดที่ Linux 32 bits หรือ Linux 64 bits อย่างใดอย่างหนึ่ง (ขึ้นอยู่กับเวอร์ชั่น Ubuntu ของคุณเป็นแบบ 32 bits หรือ 64 bits)

3.หลังจากที่คุณคลิกดาวน์โหลดแล้ว หน้าเว็บไซต์จะเปลี่ยนไปเป็นหน้า Donate (บริจาค) และจะมี 2 ปุ่มให้คุณเลือกคลิกครับ

  1. ปุ่ม JUST DOWNLOAD คือ ดาวน์โหลดอย่างเดียว
  2. ปุ่ม CONTRIBUTE & DOWNLOAD คือ บริจาคเงินจากนั้นค่อยดาวน์โหลด

ซึ่งตรงนี้คุณจะเลือกคลิกที่ JUST DOWNLOAD หรือ CONTRIBUTE & DOWNLOAD ก็แล้วแต่คุณครับ คลิกปุ่มใดปุ่มหนึ่งได้เลย

จากนั้นก็เบราเซอร์ของคุณก็จะเริ่มดาวน์โหลด และหากเบราเซอร์ของคุณไม่ถามว่าจะให้บันทึกไฟล์ไว้ที่ไหน ไฟล์ก็มักจะถูกบันทึกไว้ที่ไดเรคทอรี่ชื่อว่า Downloads ครับ

ขั้นตอนการติดตั้ง

เมื่อคุณดาวน์โหลดไฟล์เสร็จแล้ว คุณจะได้ไฟล์ชื่อว่า arduino-version-linux32.tar.xz หรือ arduino-version-linux64.tar.xz ซึ่งเป็นไฟล์ที่ถูกบีบอัดไว้ คุณต้องแยกไฟล์ออกมา โดยกดปุ่มลัดบนคีบอร์ด Alt + Ctrl + T เพื่อเรียกโปรแกรม Terminal ขึ้นมา และพิมพ์คำสั่งดังต่อไปนี้ลงไปครับ

1. สร้างไดเรคทอรี่ชื่อ bin ไว้ในไดเรคทอรี่ home สำหรับเก็บไฟล์โปรแกรม Arduino IDE

2. แยกไฟล์ arduino-version-linux.tar.xz ไปไว้ที่ไดเรคทอรี่ bin

แก้ your-download-path เป็นชื่อไดเรคทอรี่ที่คุณดาวน์โหลดไฟล์เก็บเอาไว้ เช่น Downloads

แก้ arduino-version-linux.tar.xz เป็นชื่อไฟล์ที่คุณดาวน์โหลดมา เช่น arduino-1.8.5-linux64.tar.xz

3. เพิ่มไอคอน Arduino IDE ไปยังเมนูของระบบ

แก้ arduino-version ให้ตรงกับเวอร์ชั่นของ Arduino IDE ที่คุณดาวน์โหลดมา เช่น arduino-1.8.5

การเรียกโปรแกรม Arduino IDE ขึ้นมาใช้งาน

คุณสามารถเรียกโปรแกรม Arduino IDE ขึ้นมาด้วย 2 วิธีครับ

วิธีที่1 คลิกไอคอนโปรแกรม Arduino IDE จากเมนูของระบบครับ

วิธีที่2 เรียกผ่าน command-line บนโปรแกรม Terminal ด้วยคำสั่งนี้ครับ

วิธีแก้ไขเมื่อเจอ error: cannot access /dev/ttyUSB0

เมื่อคุณพยายามอัปโหลดโปรแกรมลงบอร์ด คุณบางคนอาจจะเจอปัญหาเกี่ยวกับ USB permission (การอนุญาตให้อ่านเขียน USB) แบบรูปด้านล่าง

ถ้าหากคุณลองพิมพ์คำสั่ง ls -l /dev/ttyUSB* คุณก็จะเห็นว่าสิทธิ์การใช้งาน USB คืออนุญาตให้ผู้ใช้ root และผู้ใช้ที่อยู่ในกลุ่ม dialout เท่านั้นที่สามารถอ่านเขียน USB ได้

crwrw—- 1 root dialout 188, 0 พ.ค. 8 14:33 /dev/ttyUSB0

วิธีแก้ไขก็แค่เพิ่มผู้ใช้ของลงไปในกลุ่ม dialout เท่านั้นเองครับ โดยใช้คำสั่งต่อไปนี้

หลังจากพิมพ์คำสั่งข้างบนแล้วให้ logout และ login ใหม่อีกครั้งครับ

หมายเหตุ: บางบอร์ด path จะไม่ใช่ /dev/ttyUSBx แต่จะเป็น /dev/ttyACMx แทนครับ (x คือตัวเลข)

หมายเหตุ2: บางบอร์ดจำเป็นต้องติดตั้ง Driverก่อน เช่น บอร์ดที่ใช้ชิพ USB to Serial CH340/CH340G

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

NodeMCU คืออะไร

NodeMCU (โหนด เอ็มซียู) คือ บอร์ดคล้าย Arduino ที่สามารถเชื่อมต่อกับ WiFi ได้, สามารถเขียนโปรแกรมด้วย Arduino IDE ได้เช่นเดียวกับ Arduino และบอร์ดก็มีราคาถูกมากๆ เหมาะแก่ผู้ที่คิดจะเริ่มต้นศึกษา หรือทดลองใช้งานเกี่ยวกับ Arduino, IoT, อิเล็กทรอนิกส์ หรือแม้แต่การนำไปใช้จริงในโปรเจคต่างๆ ก็ตาม เพราะราคาไม่แพง

ภายในบอร์ดของ NodeMCU ประกอบไปด้วย ESP8266 (ไมโครคอนโทรลเลอร์ที่สามารถเชื่อมต่อ WiFi ได้) พร้อมอุปกรณ์อำนวยความสะดวกต่างๆ เช่น พอร์ต micro USB สำหรับจ่ายไฟ/อัปโหลดโปรแกรม, ชิพสำหรับอัปโหลดโปรแกรมผ่านสาย USB, ชิพแปลงแรงดันไฟฟ้า และขาสำหรับเชื่อมต่ออุปกรณ์ภายนอก เป็นต้น

NodeMCU V3
NodeMCU V3

จุดเด่นของ NodeMCU

  1. สามารถเชื่อมต่อกับ WiFi ได้โดยไม่ต้องติดตั้งโมดูล WiFi เพิ่มเติม
  2. ราคาถูกมาก เมื่อเทียบกับบอร์ดที่มี WiFi ในตัวรุ่นอื่นๆ (ราคาในไทยประมาณ 200บาท)
  3. สามารถเขียน และอัปโหลดโปรแกรมลงบอร์ดด้วยโปรแกรม Arduino IDE ผ่านสาย USB แบบเดียวกับที่ใช้ชาร์จโทรศัพท์ได้
  4. ตัวบอร์ดมีขนาดเล็ก (ประมาณ 5.5 x 3 cm.)

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

สอนใช้ Arduino อ่านค่าจากเซ็นเซอร์วัดอุณหภูมิ DHT11

DHT11 เป็นเซ็นเซอร์สำหรับวัดอุณหภูมิและความชื้นในอากาศ ที่มีขนาดเล็ก และราคาถูกมากๆ  เพียงตัวละประมาณ 50 บาท สามารถใช้งานร่วมกับ Arduino ได้ง่ายๆ เพียงแค่จ่ายไฟให้เซ็นเซอร์ และอ่านค่าจาก Arduino โดยใช้ digital pin เพียง 1 pin เท่านั้น

สเปคคร่าวๆ ของ DHT11

  • วัดความชื้นในอากาศ (Humidity) ได้ตั้งแต่ 20-90%RH มีโอกาศคลาดเคลื่อน ±5%RH
  • วัดอุณหภูมิ (Temperature) ได้ตั้งแต่ 0-50 °C มีโอกาศคลาดเคลื่อน ±2 °C
  • ขนาดของตัวเซ็นเซอร์ 1.5 x 1.0 x 0.5 cm
  • ใช้ไฟ DC ที่มีแรงดันไฟตั้งแต่ 3-5.5V

DHT11 pinout

DHT11 มีขาทั้งหมด 4 ขา แต่เราจะใช้จริงเพียงแค่ 3 ขาเท่านั้น คือ ขาที่ 1, 2 และ 4 เพราะ datasheet บอกว่า “ขาที่ 3 เป็น Null หรือก็คือไม่ได้ใช้ประโยชน์นั่นเอง”

DHT11_pinout

การต่อวงจร

การต่อวงจรให้ดูรูปด้านล่างครับ เราจะใช้ 5kΩ pull-up resistor สำหรับการต่อสายระหว่าง Arduino กับ DHT11 ในระยะที่ห่างกันไม่เกิน 20 เมตรนะครับ (อ้างอิงจาก DHT11 datasheet)

โค้ดตัวอย่าง

ดาวน์โหลด และติดตั้งไลบรารี่ Dht11_Library ที่ถูกปรับปรุงโดย Andy Dalton แล้วใช้โค้ดด้านล่างนี้ทดสอบได้เลย

เมื่อเปิดดู Serial Monitor จะเห็นผลลัพธ์การทำงานดังนี้

DHT11_program_output

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

Arduino คืออะไร ?

Arduino เป็นภาษาอิตาลี อ่านว่า อาดุอีโน่ (ฟังการออกเสียงได้ที่ท้ายบทความ) หรือจะเรียกว่า อาดุยโน่ ก็ได้ ไม่ได้มีอะไรผิด ขอแค่สื่อสารกันเข้าใจก็พอแล้วครับ, Arduino คือ Open-Source Platform สำหรับการสร้างต้นแบบทางอิเล็กทรอนิกส์ โดยมีจุดมุ่งหมายให้ Arduino Platform เป็น Platform ที่ง่ายต่อการใช้งาน, โดย Arduino Platform ประกอบไปด้วย

1. ส่วนที่เป็นฮาร์ดแวร์ (Hardware)

  • บอร์ดอิเล็กทรอนิกส์ขนาดเล็ก ที่มีไมโครคอนโทรลเลอร์ (MCU) เป็นชิ้นส่วนหลัก ถูกนำมาประกอบร่วมกับอุปกรณ์อิเล็กทรอนิกส์อื่นๆ เพื่อให้ง่ายต่อการใช้งาน หรือที่เรียกกันว่า บอร์ด Arduino, โดยบอร์ด Arduino เองก็มีหลายรุ่นให้เลือกใช้ โดยในแต่ละรุ่นอาจมีความแตกต่างกันในเรื่องของขนาดของบอร์ด หรือสเปค เช่น จำนวนของขารับส่งสัญญาณ, แรงดันไฟที่ใช้, ประสิทธิภาพของ MCU เป็นต้น ( สามารถเปรียบเทียบ และดูสเปคคร่าวๆ ของ Arduino แต่ละรุ่นได้ที่ http://www.arduino.cc/en/Products/Compare )
Arduino UNO R3
Arduino UNO R3

By SparkFun Electronics from Boulder, USA (Arduino Uno – R3) [CC BY 2.0], via Wikimedia Commons

2. ส่วนที่เป็นซอฟต์แวร์ (Software)

  • ภาษา Arduino (ซึ่งจริงๆ แล้วก็คือ ภาษา C/C++) ใช้สำหรับเขียนโปรแกรมควบคุม MCU
  • Arduino IDE เป็นเครื่องมือสำหรับเขียนโปรแกรมด้วยภาษา Arduino, คอมไพล์โปรแกรม (Compile) และอัปโหลดโปรแกรมลงบอร์ด (Upload)
Arduino IDE 1.8.5
Arduino IDE 1.8.5

Arduino ทำอะไรได้ ?

Arduino ถูกใช้ประโยชน์ในลักษณะเดียวกับ MCU คือ ใช้ติดต่อสื่อสารและควบคุมอุปกรณ์ไฟฟ้าอื่นๆ ด้วยการเขียนโปรแกรมให้กับ MCU เพื่อควบคุมการรับส่งสัญญาณทางไฟฟ้าตามเงื่อนไขต่างๆ

ตัวอย่าง การประยุกต์ใช้ Arduino ในชีวิตประจำวัน เช่น ระบบเปิด/ปิดไฟในบ้านอัตโนมัติ, ระบบรดน้ำต้นไม้อัตโนมัติ, ระบบเปิด/ปิดประตูอัตโนมัติ, ระบบเครื่องซักผ้าหยอดเหรียญ หรือ ใช้ควบคุมความเร็วและทิศทางการหมุนของคุมมอเตอร์ เป็นต้น

Arduino Official Board กับ Compatible Board ต่างกันอย่างไร ?

Arduino เป็น บอร์ดอิเล็กทรอนิกส์ที่ open-source นั่นคือเปิดเผยแบแปลนในการผลิต ทำให้ใครๆ ก็สามารถผลิตหรือสร้างบอร์ด Arduino ขึ้นมาได้ ดังนั้นบอร์ด Arduino จึงมีผู้ผลิตออกมาจำหน่ายมากมาย โดยแบ่งประเภทของบอร์ด Arduino จากแหล่งที่มาที่ต่างกันได้เป็น 2 ประเภท ดังนี้

  1. Official Board หรือ บอร์ดที่ผลิตโดยต้นตำรับ ผลิตจากประเทศอิตาลี “บอร์ดจะถูกผลิตด้วยความประณีต สวยงาม อุปกรณ์แต่ละชิ้นได้มาตรฐาน ผ่านการตรวจเช็คความสมบูรณ์ของสินค้าอย่างดีก่อนออกจำหน่าย” (ตรงเครื่องหมายคำพูดนี้ ความรู้สึกส่วนตัวล้วนๆ ครับ -0-)
  2. Compatible Board หรือ บอร์ดที่เข้ากันได้(ใช้แทน Official Board ได้) ซึ่งไม่ได้ถูกผลิตโดยต้นตำรับ แต่อาจถูกผลิตขึ้นมาตามแบบแปลนแป๊ะๆ หรืออาจผลิตให้ใกล้เคียงกับแบบแปลนจากต้นตำรับ โดยอาจมีการปรับนู่นนิด ปรับนี่หน่อยบ้าง เพื่อลดต้นทุน หรือเพื่อเพิ่มความสามารถ บอร์ดประเภทนี้ส่วนมากผลิตที่จีนครับ คุณภาพอาจไม่ดีมากนัก แต่ราคาถูก เหมาะกับการเอามาศึกษาในระดับผู้เริ่มต้น ซึ่งถ้าเทียบราคากันในรุ่น Arduino UNO R3 ราคาของ Official Board จะอยู่ที่ราวๆ 800 บาท ส่วน Compatible Board จะอยู่ที่ราวๆ 200 บาท เท่านั้นเองครับ

สิ่งที่ทำให้ Arduino น่าสนใจ ?

  • Arduino กำลังเป็นที่นิยม และเป็นที่สนใจ สำหรับนักอิเล็กทรอนิกส์ทั้งมือใหม่ และมือเก่า ทำให้เราสามารถหาอ่านคู่มือ วิธีใช้ วิธีแก้ปัญหาต่างๆ ได้ง่ายบนอินเทอร์เน็ต
  • Arduino พร้อมใช้งานทันที เพราะบอร์ด Arduino ติดตั้งอุปกรณ์จำเป็นพื้นฐานมาให้หมดแล้ว (ต่างจาก MCU เปล่าๆ ที่ต้องซื้ออุปกรณ์จำเป็นอื่นๆ มาติดตั้งเพิ่มเติม)
  • Arduino สามารถเขียนโปรแกรมสั่งงานด้วยไวยากรณ์ภาษา C/C++ ซึ่งง่ายสำหรับผู้ที่มีพื้นฐานด้านการเขียนโปรแกรมอยู่บ้างแล้ว แต่สำหรับผู้ที่ไม่เคยเขียนโปรแกรมมาก่อนเลย ก็สามารถเริ่มต้นศึกษา และหาหนังสืออ่านได้ไม่ยาก นอกจากนี้ยังมี Library ให้เลือกใช้มากมาย ทำให้การเขียนโปรแกรมทำได้ง่ายและรวดเร็วขึ้นครับ
  • Arduino ราคาไม่แพงเกินไปสำหรับผู้ที่อยากจะเริ่มต้นใช้งาน
  • การอัปโหลดโปรแกรมที่เขียนบนคอมพิวเตอร์ลงไปที่ Arduino ก็ทำได้โดยง่าย แค่ใช้สาย USB ต่อบอร์ด Arduino เข้ากับคอมพิวเตอร์ แล้วอัปโหลดด้วยโปรแกรม Arduino IDE เท่านั้นเองครับ

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน