สารบัญ:

NODEMCU LUA ESP8266 พร้อม MCP23017 16 บิตพอร์ต Expander IC: 6 ขั้นตอน (พร้อมรูปภาพ)
NODEMCU LUA ESP8266 พร้อม MCP23017 16 บิตพอร์ต Expander IC: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: NODEMCU LUA ESP8266 พร้อม MCP23017 16 บิตพอร์ต Expander IC: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: NODEMCU LUA ESP8266 พร้อม MCP23017 16 บิตพอร์ต Expander IC: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ESP8266 NodeMCU Interface - MCP23017 i/o expender with LED Example! 2024, พฤศจิกายน
Anonim
NODEMCU LUA ESP8266 พร้อม MCP23017 16 บิตพอร์ต Expander IC
NODEMCU LUA ESP8266 พร้อม MCP23017 16 บิตพอร์ต Expander IC

MCP23017 เป็น IC ที่ค่อนข้างง่ายในการสร้างบอร์ดเนื่องจากมีพอร์ต A และ B ที่ด้านใดด้านหนึ่งของชิปและพินอยู่ในลำดับตามลำดับ

ในทำนองเดียวกัน I2C แอดเดรสบัสก็อยู่ด้วยกันเช่นกัน

มี 2 พินบน IC นี้ซึ่งไม่ได้ใช้เนื่องจากเทียบได้กับ MCP23S17 ซึ่งใช้อินเทอร์เฟซ SPI ซึ่งใช้พินเหล่านี้

แผ่นข้อมูลสำหรับ IC นี้สามารถหาได้จาก Microchip

ขั้นตอนที่ 1: แผนภาพวงจร

แผนภูมิวงจรรวม
แผนภูมิวงจรรวม

แผนภาพวงจรแสดงวิธีเชื่อมต่อ IC กับ ESP8266

หมายเหตุ: IC ทำงานระหว่าง 2.7 ถึง 5.5 โวลต์

ปักหมุดการเชื่อมต่อบนกระดานของฉัน

  • ตรึง 9 (VDD) ถึง 3v3
  • ตรึง 18 (รีเซ็ต) เป็น 3v3
  • ตรึง 17 (A2) กับ GND
  • ตรึง 16 (A1) ถึง GND
  • ตรึง 15 (A0) ถึง GND
  • พิน 14 (NC) ถึง GND (ไม่จำเป็น)
  • ตรึง 13 (SDA) กับ ESP GPIO0
  • ตรึง 12 (SCL) กับ ESP GPIO2
  • ปักหมุด 11 (NC) ถึง GND (ไม่จำเป็น)
  • ตรึง 10 (VSS) กับ GND

ขั้นตอนที่ 2: การสร้างกระดานหลัก

การทำกระดานหลัก
การทำกระดานหลัก

กระดานตรงไปตรงมาเพื่อให้ตามที่อธิบายไว้ข้างต้น ทุกอย่างเป็นโครงร่างที่เรียบง่าย

กระดานหลักของฉันใช้เวลาเพียงเล็กน้อยในการทำและแสดงไว้ด้านบน

แน่นอนคุณสามารถสร้างวงจรนี้บนเขียงหั่นขนม

ขั้นตอนที่ 3: บอร์ดเพิ่มเติม

บอร์ดเพิ่มเติม
บอร์ดเพิ่มเติม

ฉันได้สร้างบอร์ด 8 บิตพิเศษขึ้นมา ซึ่งสามารถเสียบเข้ากับบอร์ดโปรเจ็กต์ต่างๆ ได้อย่างง่ายดาย

บอร์ดแรกเชื่อมต่อกับจอแสดงผล LED 7 ส่วนและเชื่อมต่อพิน 1 กับเซ็กเมนต์ a, พิน 2 ถึง b เป็นต้น มีตัวต้านทานขนาดเล็ก (ประมาณ 55 โอห์ม) เพื่อป้องกันไฟ LED

อันที่สองคือ 8 สวิตซ์แบงค์ทั้งหมดต่อสายเข้าด้วยกันและสามารถเชื่อมต่อกับ 3.3V หรือกราวด์ได้ ฉันไม่ได้รวมตัวต้านทานการดึงเนื่องจาก MCP23017 มีในตัว

อันที่สามมาจากชุด Ebay ประกอบด้วยไฟ LED 8 ดวงและอาร์เรย์ตัวต้านทานที่มีการเชื่อมต่อกับ Gnd ฉันยังมีบอร์ดเดียวกัน แต่ติดตั้ง LED ในทางตรงกันข้ามเพื่อให้เชื่อมต่อกับ 3.3V หรือ 5V แทน Gnd บนอีเบย์พวกเขาเป็นที่รู้จักในนามชุด DIY ไฟ LED น้ำไหล 8 ช่อง 99p จากประเทศจีน

ขั้นตอนที่ 4: การเขียนโปรแกรม

การเขียนโปรแกรม
การเขียนโปรแกรม

ฉันได้เขียนโปรแกรมเพื่อทำงานกับ ESP01 เนื่องจากมีพิน I/O เพียง 2 พิน สามารถใช้กับบอร์ด ESP8266 ใดก็ได้ พิน SDA & SCL สามารถจัดสรรให้กับพินใดก็ได้ระหว่าง 1 ถึง 12

หากใช้ LUA เวอร์ชันเก่า (เช่น NodeMCU 0.9.6 build 20150704 ที่ขับเคลื่อนโดย Lua 5.1.4) แสดงว่ามีการติดตั้ง I2C แล้ว มิฉะนั้น คุณต้องแน่ใจว่าโมดูล I2C รวมอยู่ในบิลด์ของคุณ

ฉันได้รวมโปรแกรม Lua ง่ายๆ 3 โปรแกรมเพื่อแสดงว่าสามารถใช้ IC ได้อย่างไร

7Segment.lua ขับเคลื่อนจอแสดงผล LED และเรียงลำดับระหว่างตัวเลข 1 ถึง 0

KittCar.lua ขับบอร์ด 8 LED จำลองรถดังจากยุค 80

Reader.lua อ่านจากพอร์ต B

ขั้นตอนที่ 5: พินไหน

พินไหน?
พินไหน?

โปรแกรมพิเศษที่ฉันคิดขึ้นในขณะที่กำลังซ่อมแซม

ใช้พอร์ต B เป็นอินพุตและพอร์ต A เป็นเอาต์พุต ภาพถ่ายแสดงสวิตช์ DIP แต่คุณสามารถเชื่อมต่อพินพอร์ต B ตัวใดตัวหนึ่งกับ Gnd และจอแสดงผล LED จะแสดงว่าพินใดเชื่อมต่ออยู่

หมายเหตุ: ใช้งานได้ครั้งละ 1 พินเท่านั้น!

ขั้นตอนที่ 6: บทสรุป

บทสรุป
บทสรุป

มีตัวขยาย I/O อื่นๆ ให้เลือก บางตัวเป็น 8 บิต 16 บิตและ 24 บิต! ทั้งหมดทำงานในลักษณะเดียวกันกับ MCP23017 แต่ IC นี้มีราคาถูกมากสำหรับความสามารถของมัน และสามารถหาที่มาจากประเทศจีนได้ในราคาประมาณ 10p

ฉันไม่ได้ใช้คุณสมบัติทั้งหมดของ IC นี้เนื่องจากมีการขัดจังหวะที่สามารถใช้งานได้ การอ่านแผ่นข้อมูลจะบอกทุกอย่างเกี่ยวกับรีจิสเตอร์ต่างๆ และวิธีการใช้ IC

เป็นไปได้ที่จะมีอุปกรณ์เหล่านี้ 8 เครื่องบนบัส I2C เดียวกัน โดยให้พอร์ต I/O 128 พอร์ตทั้งหมดควบคุมด้วย 2 บรรทัด คิดถึงความเป็นไปได้ที่นั่น!

แนะนำ: