วิธีตั้งค่า Arduino IDE ให้รองรับ ESP8266 และ NodeMCU

เมื่อเราติดตั้ง Arduino IDE เสร็จใหม่ๆ ตัวโปรแกรมจะยังไม่รองรับ ESP8266 และ NodeMCU

เราจำเป็นต้องติดตั้งแพคเกจ esp8266 ผ่าน Boards Manager เสียก่อน โดยมีขั้นตอนการติดตั้งง่ายๆ เพียงไม่กี่ขั้นตอนเท่านั้นครับ

หมายเหตุ: การติดตั้งแพคเกจ esp8266 จะทำให้ Arduino IDE รู้จักกับ Generic ESP8266 และบอร์ดอื่นๆ ที่พัฒนามาจาก ESP8266 ด้วย เช่น NodeMCU, ESPresso Lite, SparkFun ESP8266 Thing, WeMos D1, ESPino และอื่นๆ

ขั้นตอนการติดตั้งแพคเกจ esp8266 ให้ Arduino IDE

1. ที่โปรแกรม Arduino IDE ไปที่เมนู File > Preferences

2. ที่หน้าต่าง Preferences คลิ๊กที่ไอคอนด้านขวามือของ Additional Boards Manager URLs:

3. ที่หน้าต่าง Additional Boards Manager URLs เพิ่ม URL ด้านล่างนี้ลงไป (ถ้ามี URL อื่นอยู่แล้ว ให้เพิ่ม URL ไปที่บรรทัดใหม่ครับ) จากนั้นกดปุ่ม OK

4. ที่หน้าต่าง Preferences กดปุ่ม OK อีกครั้งเพื่อบันทึกการตั้งค่า

5. ที่โปรแกรม Arduino IDE ไปที่เมนู Tools > Board > Boards Manager…

6. ที่หน้าต่าง Boards Manager ตรงช่องค้นหาให้พิมพ์คำค้นหาว่า esp8266 และเมื่อเจอผลลัพธ์ให้คลิ๊กเลือกที่ esp8266 by ESP8266 Community จากนั้นคลิ๊กปุ่ม Install และรอจนมีข้อความขึ้นว่า INSTALLED จากให้กดปุ่ม Close เป็นอันเสร็จสิ้นขั้นตอนการติดตั้งครับ

เมื่อคุณติดตั้งเสร็จแล้ว คุณสามารถตรวจเช็คดูว่า Arduino IDE ของคุณรองรับ ESP8266 แล้วหรือยัง โดยคลิ๊กที่เมนู Tools > Board และลองเลื่อนดูว่ามี Generic ESP8266 และบอร์ดอื่นๆ ที่พัฒนามาจาก ESP8266 ปรากฏขึ้นมาแล้วหรือยังครับ

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

สินค้าที่ poundxi.com มีจำหน่าย

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

วิธีดาวน์โหลดและติดตั้ง 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 คือตัวเลข)

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

สินค้าที่ poundxi.com มีจำหน่าย

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

วิธีติดตั้ง Driver CH340 CH340G บน Windows

สำหรับใครที่ต้องการจะอัปโหลดโปรแกรมลงบอร์ด Arduino, NodeMCU, หรือบอร์ดอื่นๆ ที่ใช้ชิป USB to Serial CH340 หรือ CH340G (มักจะเจอในบอร์ดจากประเทศจีน) บนระบบปฏิบัติการ Windows คุณจำเป็นต้องติดตั้ง Driver สำหรับชิปตัวนี้ก่อนนะครับ ไม่อย่างนั้น Windows จะไม่สามารถติดต่อกับบอร์ดตัวนั้นๆ ได้ครับ (สำหรับ Linux จะมี Driver มาให้ในตัวแล้วครับ)

ซึ่งหากใครจะใช้โปรแกรม Arduino IDE เพื่ออัปโหลดโปรแกรม โดยที่ยังไม่ได้ติดตั้ง Driver ตัวโปรแกรมก็จะมองไม่เห็นบอร์ดที่ใช้ชิป CH340 หรือ CH340G ครับ

ส่วนขั้นตอนการติดตั้งก็ง่ายมากๆ ครับ เพียงทำตามขั้นตอนด้านล่างนี้เพียงไม่กี่คลิกเท่านั้น Windows ของคุณก็จะสามารถใช้งานกับบอร์ดทุกตัวที่ใช้ชิป CH340 หรือ CH340G ได้ทันทีครับ

ขั้นตอนการติดตั้ง Driver สำหรับ CH340/CH340G

1. ดาวน์โหลดไฟล์ติดตั้ง Driver CH341SER.EXE (www.wch.cn)

2.ดับเบิ้ลคลิกที่ไฟล์ชื่อ CH341SER.EXE ที่เราเพิ่งดาวน์โหลดมาครับ แล้วจะมีหน้าต่างขึ้นมาวิ่งๆ อยู่ครู่หนึ่งแบบในรูป

3.เมื่อปรากฏหน้าต่างแบบในรูป ให้คลิกปุ่ม INSTALL

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

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

สินค้าที่ poundxi.com มีจำหน่าย

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

Duck DNS (Dynamic DNS ฟรี) สมัครง่าย ตั้งค่าง่าย

Duck DNS เป็น Dynamic DNS (DDNS) ฟรีๆ อีกหนึ่งค่ายที่น่าสนใจครับ เนื่องจากผมใช้งานจริงด้วยตัวเองมาแล้ว บอกได้เลยว่าประทับใจ และตอบโจทย์ผมได้เป็นอย่างดีครับ ผมจึงอยากจะแบ่งปันสิ่งดีๆ ให้ท่านผู้อ่านได้รู้จักกันครับ

สิ่งที่ทำให้ Duck DNS น่าใช้

  • ใช้งานฟรี
  • บัญชีหนึ่ง สามารถสร้างได้ 5 domain
  • สมัครสมาชิกง่ายมาก แค่ล็อคอินด้วย Twitter, Facebook, reddit หรือ Google Account ก็สามารถใช้งานได้แล้วครับ
  • ตั้งค่าเพื่ออัปเดต IP ง่ายมากๆ (แค่ส่ง HTTP Request ออกไปเพื่อบอก Server ว่าจะอัปเดตเท่านั้นเองครับ)
  • อุปกรณ์ที่สามารถใช้อัปเดต IP ได้มีหลากหลายครับ ตั้งแต่ใช้คอมพิวเตอร์, เราท์เตอร์ หรือ Arduino (ESP8266) ก็ยังสามารถทำได้ครับ

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

NodeMCU คืออะไร

NodeMCU (โหนด เอ็มซียู) คือ บอร์ดคล้าย Arduino ที่สามารถเชื่อมต่อกับ WiFi ได้ และบอร์ดก็มีราคาถูกมากๆ เหมาะแก่ผู้ที่คิดจะเริ่มต้นศึกษา หรือทดลองเกี่ยวกับ 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.)

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

สินค้าที่ poundxi.com มีจำหน่าย

 

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

สอนใช้ 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กับArduino

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

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

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

DHT11_program_output

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

สินค้าที่ poundxi.com มีจำหน่าย

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

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 )
  2. ส่วนที่เป็น Software คือ
    • ภาษา Arduino เป็นภาษาสำหรับเขียนโปรแกรมควบคุม MCU, มีไวยากรณ์แบบเดียวกับภาษา C/C++
    • Arduino IDE เป็นเครื่องมือสำหรับเขียนโปรแกรมด้วยภาษา Arduino, คอมไพล์โปรแกรม (Compile) และอัปโหลดโปรแกรมลงบอร์ด (Upload)
Arduino UNO R3
Arduino UNO R3

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

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 เท่านั้นเองครับ
Arduino Software IDE 1.6.7
Arduino Software IDE 1.6.7

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

สินค้าที่ poundxi.com มีจำหน่าย

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