IOT > Internet of Thing ESP32 | ESP8266 : เตรียมโปรแกรม Arduino IDE ให้สามารถเขียนโปรแกรมลง ESP8266 ได้

เตรียมโปรแกรม Arduino IDE ให้สามารถเขียนโปรแกรมลง ESP8266 ได้
เป็นงานที่เตรียมโปรแกรม Arduion IDE ให้สามารถเขียนโปรแกรมลง ESP8266 ได้ซึ่งโปรแกรม Arduino IDE (จากค่าย .cc) ปกติหลังจากการติดตั้งจะยังไม่สามารถเขียนโปรแกรมลง ESP8266 ได้


การติดตั้งโปรแกรม (ในกรณีที่ยังไม่มีโปรแกรม Arduino IDE) 
1. เข้าไปยังเวปไซด์ เพื่อดาวน์โหลดโปรแกรม Arduino IDE เลือกดาวน์โหลดที่เป็นไฟล์ zip
https://www.arduino.cc/en/Main/Software


2. คลิกเพื่อดาวน์โหลด




3. แตกไฟล์แล้วไปวางไว้ในไดร์ฟ C เวลาเรียกใช้โปรแกรมให้ดับเบิลคลิกที่ไฟล์ arduino.exe


4. จะได้โปรแกรม Arduino IDE พร้อมใช้งาน 



ขั้นตอนการดำเนินการ เพื่อเพิ่มรายการบอร์ด ESP8266
1. คลิกที่เมนู File แล้วคลิกต่อตามรูป


2. ในช่อง Additional Board Manager URLs คัดลอกข้อความนี้ไปวาง แล้วกด OK

โค๊ด: [Select]
http://arduino.esp8266.com/stable/package_esp8266com_index.json



3. คลิกตามลำดับดังรูป


4. พิมพ์คำว่า 8266 ลงในช่อง(1) เลือกเวอร์ชั่นที่สมบูรณ์(เวอร์ชั่นล่าสุดที่ไม่มีคำว่า rc ต่อท้าย) ในรูปจะเลือกเวอร์ชั่น 2.4.2 (2) แล้วกดติดตั้ง (3)


5. รอจนติดตั้งเสร็จ หากระหว่างดำเนินการเกิดข้อผิดพลาดให้รอสักระยะหนึ่งแล้วทำการติดตั้งใหม่


6. เลือกบอร์ดที่ใช้เขียนโปรแกรมให้เลือกตามรูป ในกรณีที่เพิ่งติดตั้งเสร็จใหม่ ๆ จะยังไม่มีรายการบอร์ดในส่วนของ ESP8266 ให้เปิดโปรแกรมทิ้งไว้สักระยะแล้วค่อยเข้าเมนูตามรูปใหม่อีกครั้ง
ทั้งสองบอร์ดใช้แทนกันได้ มีความแตกต่างที่ความเร็วในการอัพโหลดโค้ดเท่านั้น
-NodeMCU 1.0 ความเร็วในการอัพโหลดอยู่ที่ 115200 bps และ LED_BUILTIN จะเป็น D0
-WeMos D1 mini ความเร็วในการอัพโหลดอยู่ที่ 921600 bps และ LED_BUILTIN จะเป็น D4
*ความเร็วสูงมีข้อดีคืออัพโหลดเสร็จเร็ว แต่หากสายไม่มีคุณภาพอาจล้มเหลวในการอัพโหลดได้


ทดสอบบอร์ด
------------------------------------------------------------------------------------------------
ในกรณีที่ยังไม่ได้ติดตั้งไดรเวอร์ USB
ชิพโมดูล USB ที่นิยมนำมาใช้งานที่ประกอบรวมกับ ESP8266 เช่น NodeMCU, Wemos มักเลือกใช้ชิพ CH340 หรือ CP210x แต่ละตัวสามารถดาวน์โหลดไดรเวอร์ได้ที่
1. ชิพ CH340,CH341 http://www.winchiphead.com/download/CH341/CH341SER.ZIP
2. ชิพ CP210x http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx
-------------------------------------------------------------------------------------------------
1. ตั้งค่าให้แสดงผลการคอมไพล์และการอัพโหลดลงบอร์ดดังรูปเพื่อประโยชน์ในการวิเคราะห์ผลการทำงาน


2. ตั้งค่าบอร์ด (1) และพอร์ตเชื่อมต่อ (2)


3. เปิดไฟล์โปรแกรมตัวอย่าง Blink


หมายเหตุ
NodeMCU V2 จะมี LED อยู่ 2 ตัวคือบนชิพ ESP8266 (D4) และบนบอร์ด (D0)
NodeMCU V3 จะมี LED อยู่ 1 ตัวคือบนชิพ ESP8266 (D4) ซึ่งไม่มีบนบอร์ดเหมือน V2
WeMosD1 mini จะมี LED อยู่ 1 ตัวคือบนชิพ ESP8266 (D4) ซึ่งไม่มีบนบอร์ดเหมือน V2 เช่นเดียวกับ V3

การใช้งานทั่วไปสามารถเลือกเป็นบอร์ดตัวใดก็ได้ โดยมีสิ่งที่แตกต่างคือ
-เลือกบอร์ดเป็น NodeMCU 1.0 ความเร็วอัพโหลดจะเป็น 115200 และ LED_BUILTIN จะเป็น D0
-เลือกบอร์ดเป็น WeMos D1 R2&mini ความเร็วอัพโหลดจะเป็น 921600 และ LED_BUILTIN จะเป็น D4
ดังนั้น หากเลือกอร์ดเป็น NodeMCU 1.0 แต่บอร์ดจริงใช้ NodeMCU V3 หรือ WeMos D1 เมื่อมีการใช้งาน LED_BUILTIN จะไม่มีผลอะไรแสดงยกเว้นมาการต่อ LED เพิ่มภายนอกเข้าที่ขา D0 

4. ทดลองคอมไพล์โค้ดโปรแกรม โดยคลิกที่ (1) สังเกตุผลหากขึ้นดังตำแหน่ง(2) แสดงว่าโค้ดโปรแกรมเขียนถูกไวยกรณ์


5. อัพโหลดลงบอร์ด โดยคลิกที่ (1) สังเกตุผล หากขึ้น ............จะเป็นขั้นกระบวนการอัพโหลดลงบอร์ดสุดท้ายหากอัพโหลดสำเร็จจะขึ้นดังรูป (2)


6. สังเกตุผลที่เกิดขึ้นที่บอร์ด NodeMCU แล้วทดลองเปลี่ยนค่าการหน่วงเวลา


กรณีที่อัพโหลดลงบอร์ดไม่ได้
รูปการอัพโหลดล้มเหลว

เกิดจากบอร์ดไม่สามารถเข้าโหมดใช้งาน Boot Loader ได้ซึ่งเกิดได้หลายสาเหตุ (ทุกสาเหตุคอมพิวเตอร์ต้องมองเห็นคอมพอร์ตแล้ว หากยังไม่เห็นให้ติดตั้งไดร์เวอร์ใหม่)
1. หากขา D3 หรือ D5 หรือ D8 มีการเชื่อมต่อวงจรขับโหลดให้ทำการปลดออกก่อน
2. สาย USB คุณภาพต่ำไม่สามารถส่งข้อมูลเร็วได้ แก้ไขโดยการเปลี่ยนใช้สายที่มีคุณภาพ
3. Boot Loader ไม่ทำงานซึ่งอาจเกิดจากไม่ได้โปรแกรมมาตั้งแต่ต้น(จากผู้ผลิต) แก้ไขโดยอัพใหม่ (พบไม่บ่อย)
4. ชิพ ESP8266 ไม่เข้าไปทำงาน Boot Loader อัตโนมัติซึ่งอาจเกิดจากวงจรควบคุมบกพร่อง แก้ไขโดยการต่อขา D3(GPIO0) ลงกราวด์แล้วกดสวิตช์รีเชต 1 ครั้ง เพื่อให้ชิพเข้าทำงานใน Boot Loader แล้วจึงทำการอัพโหลดโปรแกรม เมื่อทำการอัพโหลดเสร็จให้ทำการปลดสายกราวด์ที่ต่อกับ D3 ออกแล้วกดสวิช์อีก 1 ครั้งเพื่อเข้าทำงานในโหมดปกติ สำหรับ NodeMCU ได้สร้างปุ่ม Flash ซึ่งเป็นขา GPIO0 ไว้แล้วดังนั้นให้กดปุ่ม Flash ค้างไว้แล้วกดปุ่มรีเซต 1 ครั้งแล้วจึงไปอัพโหลดโปรแกรมรอจนกระทั้งข้อความเปลี่ยนจากสีขาวเป็นส้มแล้วจึงปล่อยมือจากปุ่ม Flash
5. หากทำขั้นตอนข้อที่ 4 ไม่ผ่านให้ดำเนินการดังนี้
   -เปลี่ยนสาย USB ให้ใช้สายที่มีขนาดสั้นที่สุดและมีขนาดสายที่อ้วนและโต
   -ต่อตัวต้านทานค่าระหว่าง 220-470 โอห์ม เข้าที่ขา D3 และ D8 ลงกราวด์ดังรูป
   -เชื่อมต่อสาย USB ระหว่างบอร์ดเข้ากับคอมพิวเตอร์
   -กดสวิตช์รีเซตแล้วปล่อย
   -คลิกอัพโหลดที่ตัวโปรแกรม Arduino IDE
   -เมื่ออัพโหลดเสร็จสิ้นให้ปลดตัวต้านทานออกแล้วกดสวิตช์รีเซตอีกครั้งเพื่อให้เข้าทำงานปกติ

ความคิดเห็น