วันศุกร์, 30 ตุลาคม 2563

ESP8266 – ตอนที่ 1 : ทำความรู้จักกับ ESP8266

28 ส.ค. 2020
137

ตอนที่ 1 : ทำความรู้จักกับ ESP8266

มาทำความรู้จักกับไมโครคอลโทลเลอร์ยอดนิยมอย่าง ESP8266 ที่สามารถประยุกต์ใช้งานกับการศึกษา การเขียนโปรแกรม การประดิษฐ์ชิ้นงาน การทำโครงงานที่เกี่ยวกับ IoT

ESP8266 เป็นไมโครคอนโทรลเลอร์ที่ผลิตโดยบริษัท Espressif (เชี่ยงไฮ้, ประเทศจีน) มีคุณสมบัติเด่นคือการเชื่อมต่อ WiFi ที่มาพร้อมกับ Full TCP/IP Stack ตัวชิปมีราคาถูก อีกทั้งการเป็นไมโครคอนโทรลเลอร์หมายถึงสามารถเขียนโปรแกรมลงไปในตัวมันได้เลย ด้วยข้อดีต่างๆทั้งราคาถูก เขียนโปรแกรมได้ มีฟังก์ชั่น WiFi ติดมาพร้อม ทำให้ ESP8266 เป็นสิ่งที่ตอบสนองต่อการมาของยุค Internet of Things จึงทำให้ได้รับความนิยมอย่างแพร่หลาย

ESP8266 ทำงานที่แรงดันไฟฟ้ า 3.0V - 3.6V การนำ ไปใชงานร่วมกับ เซ็นเซอร์อื่นๆที่ใช้แรงดัน 5V ต้องใช้
วงจรปรับแรงดันเพื่อไม่ให้โมดูลเสียหาย กระแสที่ใช้งานสูงสุดคือ 200mA ความถี่คริสตอล 40MHz
ขาของโมดูล ESP8266 แบ่งได้ดังนี้

  • VCC เป็นขาสำหรับจ่ายไฟเข้าเพื่อให้โมดูลทำงานได้ ซึ่งแรงดันที่ใช้งานได้คือ 3.0 - 3.6 V
  • GND
  • Reset ไว้สำหรับเริ่มการทำงานของ ESP8266 ใหม่ (เหมือนกัน Reboot ระบบ)
  • GPIO เป็นขาดิจิตอลอินพุต / เอาต์พุต ทำงานที่แรงดัน 3.3V
  • GPIO15 เป็นขาที่ต้องต่อลง GND เท่านั้นเพื่อให้โมดูลทำงานได้
  • GPIO0 (จีพีไอโอศูนย์) เป็นขาสำหรับการเลือกโหมดการทำงาน หากต่อลง GND จะเป็นการ Flash โปรแกรม (เขียนโปรแกรมลง ESP8266) หากลอยขาไว้จะเป็นการทำงานปกติ
  • ADC เป็นขาอนาล๊อกอินพุต รับแรงดันได้สูงสุดที่ 1 V ขนาด 10 บิต (สามารถอ่านค่าที่มีความแตกต่างกันได้ตั้งแต่ 0 - 1023) หากนำไปใช้งานกับแรงดันที่สูงกว่าต้องใช้วงจรแบ่งแรงดันช่วย [esp8266 infomation]

 

ESP8266 รุ่นที่นิยมใช้งาน

ESP8266 มีอยู่ด้วยกันประมาณ 14 รุ่น และในแต่ละรุ่นจะมีรุ่นที่พัฒนาเพิ่มเติม เช่น ESP-01S, ESP-12E เป็นต้น(ในตอนที่เขียนบทความ) รุ่นที่นิยมใช้งานมีด้วยกันดังนี้

ESP-01


ภาพ ESP 01

 ESP-01 เป็นรุ่นที่เหมาะสำหรับการเรียนรู้ เหมาะสำหรับนำไปใช้งานงานที่โปรแกรมเล็กๆ มีขาทั้งหมด 8 ขา ได้แก่ VCC CH_PD Reset Rx Tx GPIO0 GPIO2 และ GND ทำงานที่แรงดันไฟฟ้า 3.3V – 3.6V กระแสที่โมดูลใช้งานสูงสุดคือ 200mA ความถี่คริสตอล 40MHz

การเขียนโปรแกรมลง ESP-01 จะต้องใช้อุปกรณ์สำหรับเชื่อมต่อกับโปรแกรม Arduino IDE ผ่าน Port USB และทำการเชื่อมต่อกับโมดูล ESP-01 เช่น  ESP8266 ESP-01 ESP-01S Programmer (รายละเอียดจะกล่าวถึงในบทความถัดไป) ใช้งานดังภาพ

 

 

ESP-12

ภาพ ESP-12 รุ่นต่าง ๆ

 ESP-12 เป็นโมดูลที่มีแผ่เหล็กครอบป้องกันสัญญาณรบกวน และมีขาเพิ่มเป็น 16 ขา มีขา GPIO ที่ใช้งานเป็นดิจิตอลอินพุตเอาต์พุตได้ มีเสาอากาศเปลี่ยนเป็นแบบลายทองแดงบน PCB รุ่นนี้นิยมใชทำงานที่ดีมีราคาไม่แพง (ซึ่งในบทความต่อไปผมจะใช้โมเดลนี้ในการใช้งานต่างๆ)

 

 

ESP-12 รุ่นที่ผู้เขียนใช้อยู่บ่อย ได้ก็จะเป็นตัว Wemos D1 mini ที่สามารถโปรแกรมผ่านสาย micro USB ได้เลย

ข้อมูล WeMos Mini NodeMCU ESP8266

The D1 mini is a mini wifi board based on ESP-8266EX

  • 11 digital input/output pins, all pins have interrupt/pwm/I2C/one-wire supported(except D0)
  • 1 analog input(3.2V max input)
  • a Micro USB connection
  • Compatible with Arduino
  • Compatible with nodemcu
  • lots of shields


ภาพ Wemos D1 mini

ในการใช้งาน ESP8266 ไม่ว่าจะโมดูลแบบไหนก็ตามผู้ใช้งานจำเป็นจะต้องศึกษา Pin Out ของอุปกรณ์นั้น ๆ ว่าพอร์ต GPIO อยู่ตำแหน่งไหน ซึ่งในบางครั้งอุปกรณ์พวก NodeMCU ในแต่ละรุ่น แต่ละยีห้อจะวาง Pin Out หรือขาการใช้งานที่ไม่เหมือนกัน ลักษณะของ PIn Out ของ Wemos D1 mini ดังภาพ