ESP8266 การต่อวงจรเพื่อใช้งาน ESP8266 รุ่นต่าง ๆ
เนื้อหาในบทนี้อาจจะยาวไปหน่อย ถ้าเพื่อน ๆ ที่มีพื้นฐานอยู่แล้ว สามารถข้ามไปดูคลิปวีดีโอสอนได้เลย เพื่อให้เข้าใจในการเขียนโปรแกรม ESP8266 รุ่นต่าง ๆ เช่น ESP-01 , ESP-12E และ NodeMCU เราจะทำการเขียนโปรแกรมง่าย ๆ อย่างโปรแกรมไฟกระพริบ ลงโมดูล ESP8266 เพื่อทดลองการควบคุมขา GPIO โดยเซตค่าตั้งแต่เริ่มต้นจนถึงเขียนโปรแกรมให้บอร์ด ESP8266 ควบคุมไฟกระพริบ หรือสั่งงานขา GPIO ต่าง ๆ ได้ โมดูล ESP8266 สามารถเขียนโปรแกรมเพื่อควบคุมได้หลายภาษา หนึ่งในภาษาที่นิยมใช้กันก็คือภาษา C เขียนด้วย Arduino IDE โดยก่อนอื่นต้องเพิ่ม Board และไลบารี esp8266 ให้กับ Arduino ก่อน ซึ่งเราจะได้เมนู บอร์ด ESP8266 เพิ่มมาในโปรแกรม วิธีการทำได้ง่าย ๆ ดังนี้
- ที่เมนู File > Preferences

- ที่ช่อง Additional Boards Manager URLs : พิมพ์ http://arduino.esp8266.com/stable/package_esp8266com_index.json แล้วกด OK

- เลือกเมนู Tools > Board > Boards Manager...

- พิมพ์คำว่า 8266 แล้วกด Install ระหว่างนี้รอซักหน่อย ขึ้นกับความเร็วอินเตอร์เน็ตในการดาวน์โหลด

- เมื่อเสร็จแล้ว เราก็จะได้บอร์ด ESP8666 เพิ่มมา อีกหลายบอร์ดกันเลย

หลักการใช้งาน Arduino ESP8266 ทุกรุ่น การต่อขา ESP8266 เพื่อเขียนโปรแกรมหรือใช้งาน โดยหลัก ๆ แล้วจะมีวิธีต่อวงจรดังนี้
- GPIO0 เป็นขาสำหรับเลือกโหมด โดยเมื่อต่อกับ GND จะเข้าโหมดโปรแกรม เมื่อต้องการให้ทำงานปกติก็ไม่ต้องต่อ
- GPIO15 เป็นขาที่ต้องต่อลง GND เพื่อให้โมดูลทำงาน
- CH_PD หรือ EN เป็นขาที่ต้องต่อไฟ VCC เพื่อ pull up สัญญาณ ให้โมดูลทำงาน โมดูลบางร่นไม่มีขา Reset มาให้ เมื่อต้องการรีเซต ให้ต่อขา CH_PD กับ GND
- Reset ต่อกับไฟ VCC เพื่อ pull up สัญญาณ โดยเมื่อต้องการรีเซต ให้ต่อกับไฟ GND
- VCC เป็นขาสำหรับจ่ายไฟเลี้ยง ใช้ไฟเลี้ยง 3.3-3.6V
- GND ต่อกับไฟ 0V
- Rx - Tx
- Tx - Rx
เวลาต่อกับโมดูล ESP8266 รุ่นต่าง ๆ ก็ต่อขาทั้ง 8 นี้ให้ครบ ถ้าไม่ในโมดูลไม่มีก็ไม่ต้องต่อ เพียงเท่านี้ก็สามารถโปรกรม ESP8266 ได้ทุกรุ่นแล้ว ตัวอย่างการโปรแกรม ESP8266 รุ่นต่าง ๆ Arduino ESP-01 การอัพโหลดโคดลง ESP8266 ESP-01 ด้วย USB TTL การต่อใช้งาน จากโครงสร้าง การต่อ ESP-01 ตามที่แนะนำไปแล้ว เพื่อทำความเข้าใจ ลองดูการต่อขากับ usb ttl เพื่ออัพโหลดโปรแกรม ดังนี้
- RX - TX
- TX - RX
- VCC - 3.3-3.6V
- GND - GND
- RESET - VCC // Reset ต่อกับไฟ VCC เพื่อ pull up สัญญาณ โดยเมื่อต้องการรีเซต ให้ต่อกับไฟ GND
- CH_PD - VCC // CH_PD หรือ EN เป็นขาที่ต้องต่อไฟ VCC เพื่อ pull up สัญญาณ ให้โมดูลทำงาน โมดูลบางร่นไม่มีขา Reset มาให้ เมื่อต้องการรีเซต ให้ต่อขา CH_PD กับ GND
- GPIO0 - GND // กรณีต้องการเข้าโหมดโปรแกรม
- GPIO0 - ไม่ต้องต่อ
- GPIO2 - ไม่ต้องต่อ
ตัวอย่างโคด
int led = D4;
void setup() {
pinMode(led, OUTPUT); // Initialize the LED_BUILTIN pin as an output
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(led, LOW); // Turn the LED on (Note that LOW is the voltage level
// but actually the LED is on; this is because
// it is acive low on the ESP-01)
delay(1000); // Wait for a second
digitalWrite(led, HIGH); // Turn the LED off by making the voltage HIGH
delay(2000); // Wait for two seconds (to demonstrate the active low LED)
}
Arduino ESP8266-07 , ESP-12 , ESP-12E การอัพโหลดโคดลง ESP8266 ด้วย Arduino IDE การอัพโหลดโคดลง ESP8266 ESP-07 , ESP-12 , ESP-12E ด้วย USB TTL
ในการต่อวงจรเพื่อทดลอง ถ้าต้องการความสะดวกในการทดลอง แนะนำให้ใช้แผ่น PCB สำหรับขยายขา ESP8266 ซึ่งในแผ่น PCB มีสกรีนชื่อขาต่าง ๆ มาให้ด้วย มี R ต่อมาให้เรียบร้อยแล้ว นอกจากนี้ยังสามารถเพิ่มไอซีเรกูเลต ทำให้รับไฟได้ระหว่าง 3.3-5V ได้ด้วย การอัพโหลดโคดลง NodeMCU NodeMCU ต่อทดลองง่ายที่สุดในบทความนี้ เพราะบอร์ดประกอบมาให้สำเร็จรูปแล้ว เพียงแค่ต่อสาย เลือกพอร์ทให้ถูกต้อง แล้วกดปุ่ม upload แน่นอน ดังนั้นเบื้องต้นเราจึงเลือกใช้ NodeMCU ในการทดลอง
คลิปวีดีโอสอน Arduino ESP8266 โดยใช้ Arduino IDE