Mündəricat:
- Addım 1: MCP23008 -in naqilləri
- Addım 2: Bir lövhənin qurulması
- Addım 3: Kitabxana Modulundan istifadə
- Addım 4: Kitt Avtomobil Proqramı
- Addım 5: 7 Segment LED
- Addım 6: Nəticə
Video: NODEMCU LUA ESP8266, MCP23008 8 Bit Port Genişləndirici IC ilə: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
MCP23008, Serial İnterfeysi olan 8 Bitlik I/O Genişləndiricisidir və 1.8 ilə 5.5 volt arasında işləyir, buna görə ESP8266, Arduino, Raspberry Pi, PIC Chips və daha çoxu üçün idealdır.
MCP23017 -də mənim digər Təlimatlandırıcımı görmüsünüzsə, niyə eyni şeyi daha kiçik bir versiyası olduğu üçün niyə MCP23008 üçün də etdiyimi düşünürsünüz.
Səbəbləri, qeydlərinin həm ad, həm də nömrə baxımından fərqli olmasıdır və hazır bir kitabxana modulundan necə istifadə olunacağını göstərmək istərdim. NodeMCU lua istifadə edərkən hər kəs usta deyil, buna görə də proqramlaşdırmanın bu tərəfini və MCP23008 -dən necə istifadə olunacağını göstərmək istərdim.
Kitabxana və proqramlar github.com saytında mövcuddur.
MCP23008 məlumat cədvəli Microchip -dən əldə edilə bilər.
Addım 1: MCP23008 -in naqilləri
MCP23008 IC sadə bir plana malikdir və bir taxta qurmaq onun üçün həqiqətən asandır. Dövrəni bir çörək taxtasına da qura bilərsiniz.
Lövhəmdəki bağlantıları bağlayın
- Pin 18 (VDD) 3v3 -ə bağlayın
- Pin 9 (VSS) GND -ə bağlayın
- Pin 7 (NC) GND -ə (Lazım deyil)
- Pin 1 (SCL) ESP GPIO2 -ə bağlayın
- Pin 2 (SDA) ESP GPIO0 -a bağlayın
- Pin 5 (A0) GND -ə bağlayın
- Pin 4 (A1) GND -ə bağlayın
- Pin 3 (A2) GND -ə bağlayın
- Pin 6 (SIFIRLA) 3v3 -ə qədər
Oxunacaq pinləri A Portunda Gnd -ə bağlayın (pinlər 10 - 17)
Qeyd: I2C ünvan avtobusundakı 0x20 ünvanında MCP23008 istifadə etmək üçün burada bütün ünvan pinləri Gnd -ə bağlıdır.
0x21 ünvanından istifadə edirsinizsə, A0 3.3V -ə, A1 & A2 isə Gnd -ə qoşulmuş olardı.
Eynilə, 0x22 ünvanından istifadə edildikdə, A1 -in Gnd -ə bağlı A0 və A2 ilə 3.3V -ə qoşulması lazımdır.
və s…
Addım 2: Bir lövhənin qurulması
Lövhəmi qurmaq üçün 25 mm x 64 mm (9 satır x 25 deşik) Vero şerit taxtadan istifadə etdim. Bir az sıxdır, ancaq ehtiyac duyduğunuz sancaqların çoxu IC -nin hər iki tərəfində olduğundan, nə etməli olduğu üçün kifayətdir.
A portu üçün 8 pin və 8 başlıq prizindən istifadə etdim ki, müxtəlif modullarımı və fərqli layihələr üçün digər naqilləri qoşa biləm. Əlavə Gnd və 3.3V sancaqlar əlavə etdim, çünki modulları bir -birinə bağlayanda həmişə çatışmazlıq olduğunu düşünürəm.
Addım 3: Kitabxana Modulundan istifadə
Kitabxana modulları, adətən, başqa bir proqramın əldə edə biləcəyi alt proqramlar, funksiyalar və dəyişənlərdən ibarətdir. Proqramın özü işləmir, ancaq funksiyalarına zəng edən proqram vasitəsilə daxil olmaq mümkündür. Kiçik bir zəng proqramı etməklə, alt rutinlərinizi kitabxanada saxlaya və ehtiyac duyduğunuz zaman zəng edə biləcəyiniz deməkdir. Eyni alt proqramlardan istifadə edən bir çox fərqli proqramınız varsa, hər bir proqrama alt rutinləri daxil etməyinizə ehtiyac yoxdur.
Qeyd: mcp23008.lua proqramının digər proqramlar kimi ESP8266 yaddaşına yüklənməsi lazımdır.
Kitabxananın işlədiyini göstərmək üçün github.com proqramlarını və sadə bir proqramı (test.lua) bura daxil etdim.
Kitabxananı proqramınıza daxil etməyin ən azı 2 yolu var.
tələb ("mcp23008")
mcp23008.begin (0x0, gpio2, gpio0, i2c. SLOW)
və ya
mcp = tələb ("mcp23008")
mcp.begin (0x0, gpio2, gpio0, i2c. SLOW)
Yuxarıda göstərilənlərin hər ikisi eyni şeyi edir, lakin ikinci üsul proqram adı əvəzinə öz dəyişəninizi istifadə etməyə imkan verir.
Addım 4: Kitt Avtomobil Proqramı
KittCar23008.lua proqramını və proqramları bu şəkildə yazmağın fərqini göstərmək üçün kitabxanadan istifadə edən KittLib.lua daxil etdim. Hər iki proqram eyni şeyi edir.
8 LED fişi Ebay -dan bir dəst olaraq mövcuddur və Çindən 99p olan 8 Kanallı Akan Su İşığı LED DIY Kit olaraq bilinir. Bunu özünüz lehimləməlisiniz.
Qeyd: KittLib.lua proqramını işə salmaqda probleminiz varsa, MCP23008 RESET pinini bir anda Gnd -ə bağlamağa çalışın. Bilirəm ki, bu, qısa bir qısaqapanma verəcək (3.3V -a bağlı olduğu üçün) və hər şeyi sıfırlamalısınız. Gnd -ə 10 ohm rezistor vasitəsilə qoşulmaqla işləyir, yəqin ki, bunu etmək üçün daha yaxşı bir yoldur.
Test.lua işlədikdən sonra KittLib.lua'nın heç bir problem olmadan qaçacağını da gördüm (Məndən niyə soruşmayın?)
KittLib.lua proqram problemini həll etmək üçün müxtəlif yollar sınadım, amma bu günə qədər niyə çökdüyünə dair heç bir məntiqi səbəb tapa bilmirəm. Kiminsə fikirləri varmı?
Bu proqramların hamısını özüm yazmamışam, buna görə problemin nə olduğunu deyə bilmərəm, baxmayaraq ki, kodlaşdırmaya baxdıqdan sonra açıq -aşkar yanlış bir şey görünmür.
Addım 5: 7 Segment LED
Yuxarıdakı KittCar.lua proqramında olduğu kimi, 7 seqmentli LED ekranı idarə etmək üçün müstəqil və kitabxanadan asılı bir proqram daxil etdim.
Yenə də hər iki proqram eyni şeyi edir, ancaq özünüz və ya başqası tərəfindən yazılmış kitabxana modulundan necə istifadə edəcəyinizi nümayiş etdirir.
Addım 6: Nəticə
Kod modullarını Lua mühitində necə istifadə edəcəyimi nümayiş etdirməyə və eyni zamanda xüsusi bir IC -yə tətbiq etməyə çalışdım.
Bunu etməkdə bir problemim olsa da, düşünürəm ki, bu modulların necə işlədiyini göstərməklə yanaşı, real həyatda tətbiq göstərmək də kifayətdir.
Tövsiyə:
Arduino Klaviatura Joystick Genişləndirici Qutu və Deej istifadə edən Səs Nəzarətçisi: 8 addım
Arduino Klaviatura Joystick Genişləndirici Qutu və Deej istifadə edən Səs Nəzarətçisi: Niyə Bir müddətdir ki, interfeys elementlərini və ya oyun və simulyatorlardakı digər kiçik tapşırıqları idarə etmək üçün klaviaturama kiçik bir joystick əlavə etmək istəyirəm (MS Flight Sim, Elite: Dangerous, Star Wars: Squadrons və s.) Ayrıca, Elit üçün: Təhlükəli, mən
Genişləndirici Höyük: 4 addım
Genişlənən Höyük: Genişlənən kurqan adi bir kurqana bənzəyir. Ancaq yaxınlaşanda bir şey olur. Genişlənir və işıq saçır
IR Uzaqdan Genişləndirici (2-ci hissə): 3 addım
IR Uzaqdan Genişləndirici (2-ci hissə): Salam uşaqlar! Mən IR Uzaqdan Uzatma Təlimatlı hissəsinin 2-ci hissəsinə qayıtdım. Birinci hissəni oxumayan uşaqlar üçün BURAYA TIKLAYIN. Başlayaq
IR Uzaqdan Genişləndirici (Part-1): 4 Addım
IR Uzaqdan Genişləndirici (1-ci hissə): Salam hamı! Bu layihə, elektron cihazlarınızı uzaq bir yerdən idarə etmək üçün bir IR uzaqdan idarəetmə genişləndiricisinin/təkrarlayıcısının necə qurulacağını təsvir edir. siqnalı yenidən yaymaq
NODEMCU LUA ESP8266 MCP23017 ilə 16 Bit Port Genişləndirici IC: 6 Addım (Şəkillərlə)
NODEMCU LUA ESP8266 MCP23017 ilə 16 Bit Port Genişləndirici IC: MCP23017, çipin hər iki tərəfində A və B Portu olduğu və pinlər ardıcıl olaraq yerləşdiyi üçün lövhə hazırlamaq üçün nisbətən asan bir IC -dir. Bu IC -də istifadə edilməyən 2 pin var