ประสบการณ์ การใช้ Node MCU ESP8266 WIFI กับ I2C ตอนที่ 1

ในบางครั้ง อุปกรณ์ Electronics หรือ Computer ต้องมีการสื่อสารกัน ด้วยคุณสมบัติของอุปกรณ์ที่ต่างกัน จึงต้องมีช่องสื่อสารสำหรับการติดต่อ.
ที่เรามักรู้จักกัน คือ Serial Communication หรือ Com Port 
แต่มีปัญหาคือ ช่องสื่อสาร Serial มีจำกัด ทำให้ไม่สามารถติดต่อกับอุปกรณ์ได้หลาย ๆ ตัว 
หรือ หากใช้ Ethernet ก็อาจยุ่งยากเกินไป 

ช่องสื่อสารที่น่าสนใจคือ I2C สามารถ สื่อสารกันได้ตาม รูปข้างล่างนี้
ทำความรู้จักกับ  I2C ว่ามันคืออะไร  หากสนใจลองหาอ่านได้ตาม link ข้างล่างนะครับ

1.https://en.wikipedia.org/wiki/I²C
2.เปรียบเทียบ I2C และ SPI อ่านได้ตาม Link นี้ครับ
3.I2C สำหรับ Arduino https://www.arduino.cc/en/Reference/Wire
4. Link นี้ของ คนไทย เขียนละเอียดดีครับ http://aimagin.com/blog/การใช้งานพอร์ตสื่อสาร-i2c/?lang=th



ในบางครั้ง อุปกรณ์ Electronics หรือ Computer ต้องมีการสื่อสารกัน ด้วยคุณสมบัติของอุปกรณ์ที่ต่างกัน จึงต้องมีช่องสื่อสารสำหรับการติดต่อ ที่เรามักรู้จักกัน คือ Serial Communication หรือ Com Port ปัญหาคือ ช่องสื่อสาร Serial มีจำกัด ไม่สามารติดต่อกับอุปกรณ์ได้หลาย ๆ ตัว หรือ หากใช้ Ethernet ก็อาจยุ่งยากเกินไป ช่องสื่อสารที่น่าสนใจคือ I2C สามารถ สื่อสารกันได้ตาม รูปข้างล่างนี้




เราสามารถใช้ช่องทาง I2C ติดต่อกับ CPU หลาย ๆ ตัวได้ โดยแต่ละตัว จะทำหน้าที่แตกต่างกัน เช่น Raspberry Pi กับ Arduino  เปรียบเทียบกันง่าย ๆ คือ Arduino เหมาะสมเรื่อง การควบคุมอุปกรณ์ ส่วน Raspberry Pi อาจจะ ทำงานทางด้านการประมวลผล และ ฐานข้อมูล ได้ดีกว่า หรือ มีการพัฒนางานร่วมกัน หลาย ๆ คน ก็ได้

ปัญหาของผู้เขียน ตั้งโจทย์การทำงานดังนี้


1.ต้องการใช้ Node MCU 



2.ต้องการใช้ SD Card สำหรับเก็บข้อมูลบน Node Mcu



3.ต้องการใช้ จอแสดงผล LCD แบบ I2C 



โปรแกรมสำหรับการพัฒนาใช้ Arduino IDE

ในแต่ละรุ่นจะ มีการกำหนด I/O ตามข้างล่างนี้

Board               I2C / TWI pins
Uno, Ethernet     A4 (SDA), A5 (SCL)
Mega2560 20        (SDA), 21 (SCL)
Leonardo            2 (SDA), 3 (SCL)
Due                    20 (SDA), 21 (SCL), SDA1, SCL1

ESP 8266 I2C I/O อยู่ที่ใหน ?



สำหรับ ESP8266 กำหนดได้ตามนี้ครับ สามารถ กำหนดขา I/O เปลี่ยนไปมาได้ครับ ลองตามไปอ่านกันดูนะครับ




บทความนี้ยังมีต่อนะครับ คราวต่อไปจะมาพูดถึงการเขียนโปรแกรมใช้งานกันครับ

เรียนท่านผู้เยี่ยมชม

 ต้องขออภัย เกี่ยวกับบทความบางหัวข้อใน blog นี้ ที่ไม่มีความต่อเนื่องในบางบทความ. เนื่องจากเป็นการแชร์ประสบการณ์ การทำงาน ในงานพัฒนาด้าน Mini CNC . ที่เราคิดว่าอาจเป็นประโยชน์ต่อผู้ศึกษา หรือทำงานเกี่ยวกับด้านนี้.จึงนำมาเล่าสู่กันฟัง .
ส่วนงานหลักที่เราต้องรับผิดชอบคือการให้ความรู้เกี่ยวกับการใช้งาน Mini CNC ซึ่งเป็นสินค้าที่เราจำหน่าย และเราต้องรับผิดชอบดูแลลูกค้า.
ดังนั้นบทความหลัก จะเป็นเรื่องที่เกี่ยวกับ Mini CNC. อีกทั้งบทความเหล่านี้เขียนด้วยคนเพียงคนเดียว . ที่มีงานรับผิดชอบด้านอื่นด้วย . จึงมีเวลาไม่มากที่จะทำได้ทุกเรื่อง.
ขออธิบายให้เข้าใจนะครับ. หากท่านใดสนใจ ติดตาม หรือ มีคำถามสามารถสอบถามในส่วนแสดงความคิดเห็นมาได้ครับ ยินดีตอบ หากเราทราบ และมีความรู้ในด้านนั้น
ยกตัวอย่าง ตาม link นี้ครับ http://panmaneecnc.blogspot.com/2015/12/esp8266-wifi-app-inventor.html

และอยากขอเชิญชวนคนไทยให้มาสร้าง วัฒนธรรมการ การรับ และ การให้ ด้วยกันครับ เราอยากเห็นสังคมไทยมีความสามัคคี ไม่แบ่งแยก และ เห็น แก่ตัว หรือ เอาแต่พวกพ้องของตนเอง เพียงเท่านี้ประเทศไทยก็แข่งขันกับคนอื่นได้แล้วครับ

ขอขอบคุณในนาม panmaneecnc.com


ความคิดเห็น

  1. บทความอ่านง่ายดีครับ รอตอนต่อไปครับ

    ตอบลบ
  2. ยินดีแบ่งปันข้อมูลครับ อยากให้สังคมไทยมีความสร้างสรรค์ครับ

    ตอบลบ

แสดงความคิดเห็น