Orodha ya maudhui:

NODEMCU LUA ESP8266 Pamoja na MCP23008 8 Bit Port Expander IC: Hatua 6
NODEMCU LUA ESP8266 Pamoja na MCP23008 8 Bit Port Expander IC: Hatua 6

Video: NODEMCU LUA ESP8266 Pamoja na MCP23008 8 Bit Port Expander IC: Hatua 6

Video: NODEMCU LUA ESP8266 Pamoja na MCP23008 8 Bit Port Expander IC: Hatua 6
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, Novemba
Anonim
NODEMCU LUA ESP8266 Pamoja na MCP23008 8 Bit Port Expander IC
NODEMCU LUA ESP8266 Pamoja na MCP23008 8 Bit Port Expander IC

MCP23008 ni 8-Bit I / O Expander na Serial Interface na inafanya kazi kati ya 1.8 na 5.5 volts, kwa hivyo ni bora kwa ESP8266, Arduino, Raspberry Pi, PIC Chips na zaidi.

Ikiwa umeona yangu nyingine inayoweza kufundishwa kwenye MCP23017, unaweza kujiuliza ni kwanini pia ninafanya moja kwa MCP23008, kwani ni toleo dogo la kitu kimoja.

Sababu ni kwamba rejista zake ni tofauti kwa jina na nambari na ningependa kuonyesha jinsi ya kutumia moduli ya maktaba iliyo tayari. Sio kila mtu ana ujuzi wakati wa kutumia NodeMCU lua, kwa hivyo ningependa kuonyesha kipengele hiki cha programu na pia jinsi ya kutumia MCP23008.

Maktaba na programu zinapatikana kwenye github.com.

Jedwali la MCP23008 linapatikana kutoka Microchip.

Hatua ya 1: Wiring MCP23008

Wiring MCP23008
Wiring MCP23008

MCP23008 IC ni ya muundo rahisi na kujenga bodi ni rahisi kwake. Unaweza pia kuanzisha mzunguko kwenye bodi ya mkate.

Bandika Uunganisho kwenye ubao wangu

  • Bandika 18 (VDD) hadi 3v3
  • Bandika 9 (VSS) kwa GND
  • Bandika 7 (NC) kwa GND (Sio lazima)
  • Bandika 1 (SCL) kwa ESP GPIO2
  • Bandika 2 (SDA) kwa ESP GPIO0
  • Bandika 5 (A0) hadi GND
  • Bandika 4 (A1) hadi GND
  • Bandika 3 (A2) hadi GND
  • Bandika 6 (Rudisha) hadi 3v3

Unganisha pini ili usome kwa Gnd kwenye Port A (pini 10 - 17)

Kumbuka: hapa pini zote za anwani zimeunganishwa na Gnd kutumia MCP23008 kwenye anwani 0x20 kwenye basi ya anwani ya I2C.

Ikiwa ungetumia anwani 0x21 basi A0 ingeunganishwa na 3.3V, na A1 & A2 imeunganishwa na Gnd.

Vivyo hivyo ikiwa unatumia anwani 0x22 basi A1 italazimika kuunganishwa na 3.3V na A0 na A2 iliyounganishwa na Gnd.

na kadhalika…

Hatua ya 2: Kuunda Bodi

Kuunda Bodi
Kuunda Bodi

Nilitumia 25 mm x 64 mm (safu 9 x 25 mashimo) Vero strip board kujenga bodi yangu. Ni ngumu kidogo, lakini kama pini nyingi unazohitaji ziko upande wowote wa IC, inatosha kwa kile inachopaswa kufanya.

Nimetumia pini 8 na soketi 8 za kichwa kwa bandari A ili niweze kuziba moduli zangu anuwai na wiring nyingine kwa miradi tofauti. Nimeongeza pini za ziada za Gnd na 3.3V kwani naona kuna uhaba wa hizi wakati wa kuunganisha moduli pamoja.

Hatua ya 3: Kutumia Moduli ya Maktaba

Kutumia Moduli ya Maktaba
Kutumia Moduli ya Maktaba

Moduli za Maktaba kawaida huwa na uteuzi wa njia ndogo, kazi na anuwai ambazo zinaweza kupatikana na programu nyingine. Programu yenyewe haifanyi kazi, lakini kazi zake zinaweza kupatikana na programu ya kupiga simu. Inamaanisha kuwa unaweza kuwa na taratibu zako ndogo ndani ya maktaba na kuziita wakati wowote unapohitaji, ukifanya mpango mdogo wa kupiga simu. Inakuwa ya thamani zaidi ikiwa una programu nyingi tofauti kwa kutumia njia ndogo sawa, hauitaji kujumuisha taratibu ndogo katika kila programu.

Kumbuka: mpango wa mcp23008.lua unahitaji kupakiwa kwenye kumbukumbu ya ESP8266 kama programu zingine.

Nimejumuisha programu za github.com hapa pamoja na programu rahisi (test.lua) kuonyesha kuwa maktaba inafanya kazi.

Kuna angalau njia 2 za kuingiza maktaba katika programu yako.

inahitaji ("mcp23008")

mcp23008. kuanza (0x0, gpio2, gpio0, i2c. SLOW)

au

mcp = inahitaji ("mcp23008")

mcp. kuanza (0x0, gpio2, gpio0, i2c. SLOW)

Zote mbili hapo juu hufanya kitu kimoja, lakini njia ya pili hukuruhusu kutumia anuwai yako badala ya jina la programu.

Hatua ya 4: Programu ya Gari ya Kitt

Programu ya Gari ya Kitt
Programu ya Gari ya Kitt

Nimejumuisha mpango wa KittCar23008.lua na KittLib.lua ambayo hutumia maktaba kuonyesha tofauti za jinsi ya kuandika programu kwa njia hii. Programu zote mbili hufanya kitu kimoja.

Programu-jalizi ya 8 ya LED inapatikana kutoka kwa Ebay kama kit na inajulikana kama 8 Channel Inayotiririka Maji ya Taa ya DIY Kit, 99p kutoka China. Lazima ujiuzie mwenyewe.

Kumbuka: Ikiwa una shida kujaribu kutumia programu ya KittLib.lua, jaribu kuunganisha pini ya MCP23008 Rudisha kwa Gnd kwa muda mfupi. Najua hii itatoa mzunguko mfupi wa moja kwa moja (kama imeunganishwa na 3.3V) na lazima ubadilishe kila kitu kingine. Inafanya kazi pia kwa kuungana na Gnd kupitia kontena la 10 ohm, labda njia bora ya kuifanya.

Niligundua pia kwamba KittLib.lua ingekimbia bila shida baada ya kuendesha test.lua (Usiniulize kwanini?)

Nimejaribu njia anuwai za kusuluhisha shida ya mpango wa KittLib.lua, lakini hadi sasa siwezi kupata sababu yoyote ya kimantiki ya kwanini inaanguka. Je! Mtu yeyote ana maoni yoyote?

Sijaandika programu hizi zote mwenyewe, kwa hivyo siwezi kusema ni kwanini kuna shida, ingawa baada ya kutazama usimbuaji, inaonekana hakuna kitu kibaya.

Hatua ya 5: Sehemu ya 7 LED

Sehemu ya LED
Sehemu ya LED

Kama ilivyo kwa mpango wa KittCar.lua hapo juu, nimejumuisha mpango wa kujitegemea na wa maktaba ya kuendesha onyesho la sehemu ya 7 ya LED.

Tena, programu zote mbili hufanya kitu kimoja, lakini onyesha jinsi ya kutumia moduli ya maktaba iliyoandikwa na wewe mwenyewe au mtu mwingine.

Hatua ya 6: Hitimisho

Hitimisho
Hitimisho

Nimejaribu kuonyesha jinsi ya kutumia moduli za kificho ndani ya mazingira ya Lua, na kuitumia kwa IC maalum kwa wakati mmoja.

Ingawa nimekuwa na shida kufanya hivi, nadhani kuna ya kutosha kuonyesha jinsi moduli hizi zinafanya kazi na vile vile kuonyesha matumizi halisi ya maisha.

Ilipendekeza: