สารบัญ:
- ขั้นตอนที่ 1: แผนภาพวงจร
- ขั้นตอนที่ 2: การสร้างกระดานหลัก
- ขั้นตอนที่ 3: บอร์ดเพิ่มเติม
- ขั้นตอนที่ 4: การเขียนโปรแกรม
- ขั้นตอนที่ 5: พินไหน
- ขั้นตอนที่ 6: บทสรุป
วีดีโอ: NODEMCU LUA ESP8266 พร้อม MCP23017 16 บิตพอร์ต Expander IC: 6 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
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 บรรทัด คิดถึงความเป็นไปได้ที่นั่น!
แนะนำ:
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: 3 ขั้นตอน
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: เป็นโปรเจ็กต์เครื่องรับย่านความถี่ทั้งหมด ใช้ห้องสมุด Arduino Si4734 ห้องสมุดนี้มีตัวอย่างมากกว่า 20 ตัวอย่าง คุณสามารถฟัง FM ด้วย RDS สถานี AM (MW) ในพื้นที่ SW และสถานีวิทยุสมัครเล่น (SSB) เอกสารทั้งหมดที่นี่
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: 5 ขั้นตอน
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: Micropython เป็นการเพิ่มประสิทธิภาพของ python และมีขนาดเล็กของ python ซึ่งหมายถึงการสร้างสำหรับอุปกรณ์ฝังตัวซึ่งมีข้อจำกัดด้านหน่วยความจำและใช้พลังงานต่ำ Micropython สามารถใช้ได้กับคอนโทรลเลอร์หลายตระกูล ซึ่งรวมถึง ESP8266, ESP32, Ardui
PWM พร้อม ESP32 - Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: 6 ขั้นตอน
PWM พร้อม ESP32 | Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: ในคำแนะนำนี้เราจะดูวิธีสร้างสัญญาณ PWM ด้วย ESP32 โดยใช้ Arduino IDE & โดยทั่วไปแล้ว PWM จะใช้เพื่อสร้างเอาต์พุตแอนะล็อกจาก MCU ใดๆ และเอาต์พุตแอนะล็อกนั้นอาจเป็นอะไรก็ได้ระหว่าง 0V ถึง 3.3V (ในกรณีของ esp32) & จาก
NODEMCU LUA ESP8266 พร้อม MCP23008 8 บิตพอร์ต Expander IC: 6 ขั้นตอน
NODEMCU LUA ESP8266 พร้อม MCP23008 8 บิตพอร์ต Expander IC: MCP23008 เป็น 8-Bit I/O Expander พร้อม Serial Interface และทำงานระหว่าง 1.8 ถึง 5.5 โวลต์ ดังนั้นจึงเหมาะอย่างยิ่งสำหรับ ESP8266, Arduino, Raspberry Pi, PIC Chips และอื่นๆ หากคุณเคยเห็น Instructable อื่นของฉันใน MCP23017 คุณอาจสงสัยว่า
NODEMCU LUA ESP8266 พร้อม CD4017 Decade Counter: 4 ขั้นตอน (พร้อมรูปภาพ)
NODEMCU LUA ESP8266 พร้อม CD4017 Decade Counter: CD4017 เป็นตัวนับทศวรรษ / ตัวแบ่ง ซึ่งหมายความว่าเมื่อได้รับพัลส์จะนับและส่งเอาต์พุตไปยังพินที่เหมาะสม เป็น IC ที่ใช้งานง่ายและคุณสามารถสร้างวงจรบนบอร์ดขนมปังหรือซื้อจาก Ebay สำหรับ