Përmbajtje:

Ekran LCD 5V Me Arduino Due 3.3V I2C: 5 hapa
Ekran LCD 5V Me Arduino Due 3.3V I2C: 5 hapa

Video: Ekran LCD 5V Me Arduino Due 3.3V I2C: 5 hapa

Video: Ekran LCD 5V Me Arduino Due 3.3V I2C: 5 hapa
Video: Using LCD1602 or LCD2004 with ESP32 2024, Nëntor
Anonim
Ekran LCD 5V Me Arduino Due 3.3V I2C
Ekran LCD 5V Me Arduino Due 3.3V I2C

Ky postim synon të shpjegojë një mënyrë më të lehtë për të përdorur Arduino Due (ose tabelë tjetër 3.3V) me ekranin e njohur LCD 16x2 me modulin e përshtatësit I2C.

Problemi fillestar është se LCD ka nevojë për 5V që drita e pasme e tij të funksionojë siç duhet, por kunjat SCL dhe SDA duhet të funksionojnë në 3.3V për të komunikuar me Arduino Due pa shkaktuar dëm. Për të zgjidhur këtë, kam gjetur dy mundësi:

Zgjidhja më e përmendur është përdorimi i një Konvertuesi të Nivelit Logjik Bi-Drejtues, i cili me të vërtetë zgjidh problemin. Por gjithashtu shton një përbërës tjetër në listën tuaj dhe lidhje shtesë të telave në qarkun tuaj

Mënyra tjetër që kam gjetur është thjesht shkrirja e 2 rezistencave tërheqëse në "çantën e përshtatësit I2C" nga LCD. Përveç se është shumë më e lehtë, ajo ka përparësi të tjera të shpjeguara në krahasimin në fund. Kjo metodë është fokusi kryesor i këtij postimi

Furnizimet

Arduino Due

Ekran LCD 16x2 me modulin e përshtatësit I2C

Makine per ngjitjen e metalit

Pompë bashkimi ose fitil bashkues

Piskatore

Hapi 1: Origjina e zgjidhjes

Zgjidhja nuk u shpik nga unë, pashë një sugjerim dhe shpjegim mjaft të mirë në Forumin Arduino në lidhjen më poshtë, të cilën do ta riprodhoj në këtë postim.

forum.arduino.cc/index.php?topic=553725.0

Përgjigje nga: david_prentice

Unë nuk mund të gjej ndonjë mësim të plotë në internet dhe, meqenëse është një problem shumë i zakonshëm, po përpiqem të paraqes zgjidhjen këtu në detaje, të dëshmoj se në të vërtetë funksionon dhe të shtoj informacion që mund të zbusë njëfarë skepticizmi në lidhje me rezultatet e tij.

Hapi 2: Shpjegimi

Pajisjet

Që komunikimi I2C të funksionojë, kërkon rezistorë tërheqës të lidhur me kunjat SDA dhe SCL. Kjo për shkak se pajisjet i kthen këto kunja LOW ndërsa komunikojnë. Për të përfaqësuar një LART, duhet vetëm të mos dërgojë një LOW, dhe falë tërheqjeve shkon në HIGH. (ky kuptim do të jetë mjaft i rëndësishëm më vonë)

LCD "Çantë shpine I2C" ka dy rezistenca tërheqëse 4K7 që i shërbejnë kërkesës I2C. Por meqenëse ato janë të lidhura me Vcc, nëse përdorni 5 V, ata do të tërheqin SDA dhe SCL në 5 V.

Nëse shikoni fletën e të dhënave, mund të shihni se, ndryshe nga tabelat e tjera, Due tashmë ka rezistorë tërheqës 1K5 në bord në kunjat e tij kryesore SDA, SCL, që i tërheq ato në 3.3 V.

Testet

  • Shfaq LCD -> Arduino
  • Gnd -> Gnd
  • Vcc -> 5V
  • SDA -> SDA
  • SCL -> SCL

Nëse thjesht lidhni LCD -në në Due (pas instalimeve elektrike më lart), tërheqjet 1k5 (ose 1k0) Due të lidhura me 3.3V dhe tërheqjet 4K7 LCD të lidhura me 5 V do të rezultojnë në linja boshe I2C në 3.7 V (3.6 V) me 1k0). Kjo nuk është mirë, pasi që fleta e të dhënave Due përcakton një tension maksimal prej 3.6 V për linjat e tij I/O.

Duke testuar këtë skenar, vetëm me LCD, mora 3, 56 V. Duke shtuar një modul EEPROM në të njëjtat SDA dhe SCL, ai shkoi në 3.606 V. Në të dy rastet gjithçka funksionoi normalisht, por ato janë larg tensionit ideal nivelet duke marrë parasysh maksimumin e përcaktuar prej 3.6 V.

Pra, po, ka një shans që të funksionojë njësoj si e imja, duke mos bërë asnjë ndryshim. Por niveli i tensionit është ende larg idealit dhe disa mospërputhje në tërheqjen Due ose LCD mund ta bëjnë atë të shkojë mbi kufirin 3.6 V. (Do të ishte e këshillueshme që së paku të provoni me kujdes me një potenciometër 20K ose 100K se cila është rezistenca më e ulët midis kunjave 5 V dhe SCL/SDA para se të arrijnë në 3.6 V, megjithëse pjesa tjetër e zgjidhjes është shumë më e sigurt dhe ndoshta më e lehtë)

Zgjidhja

Zgjidhja e paraqitur është thjesht heqja e rezistencave tërheqëse nga çanta LCD, të cilat përpiqen të tërheqin vijën deri në 5 V. Pastaj, vetëm rezistencat tërheqëse në bord do të mbeten, duke tërhequr linjat SCL dhe SDA në 3.3V Me Ai funksionoi në mënyrë perfekte, duke ruajtur kunjat e papunë në rreth 3.262 V!

Lidhjet mbeten të njëjta:

  • Ekran LCD -> Arduino
  • Gnd -> Gnd
  • Vcc -> 5V
  • SDA -> SDA
  • SCL -> SCL

Nëse pyesni veten nëse LCD nuk do ta tërheqë vijën në 5 V për të përfaqësuar një LART HIGH kur komunikoni, mbani mend se në I2C pajisjet tërheqin vetëm linjat LOW, duke qenë sinjali i Lartë i përfaqësuar kur nuk ndërhyn, i cili do të jetë 3.3 V nga tërheqjet në bord të Due.

Gjithashtu, 3.3 V është i mjaftueshëm që çanta e shpinës I2C të konsiderohet si një sinjal i Lartë.

Hapi 3: Identifikoni dhe Hiqni Rezistencat

Identifikoni dhe hiqni rezistencat
Identifikoni dhe hiqni rezistencat
Identifikoni dhe hiqni rezistencat
Identifikoni dhe hiqni rezistencat

Imazhi i mësipërm tregon me të kuqe rezistencat tërheqëse që kam gjetur në modulin tim.

Identifikoni

Ndërsa shpina e përshtatësit LCD I2C mund të ndryshojë, rezistorët mund të mos jenë në të njëjtin konfigurim. Për të identifikuar rezistorët tërheqës, mund të përdorni një multimetër me një test të vazhdimësisë. Çdo rezistencë tërheqëse duhet të ketë njërin skaj të lidhur me pin SCL ose SDA dhe skajin tjetër me Vcc.

Në rastin tim, kishte tre nga rezistencat 4K7 (472 në kodin SMD) në tabelë. Vetëm dy prej tyre plotësuan kërkesat e mësipërme, duke vënë në dukje se këto janë tërheqjet që ne po kërkonim!

Për një masë paraprake shtesë (nëse për ndonjë arsye nuk ishin 4K7), unë gjithashtu testova rezistorët e tjerë dhe konfirmova se asnjëri prej tyre nuk i plotësonte kërkesat për të qenë tërheqës.

Hiq

Tani, gjithçka që duhet të bësh është t’i shkrij ato! Easiershtë më e lehtë nëse keni një pompë saldimi ose fitil saldimi dhe piskatore për t'ju ndihmuar.

Hapi 4: Krahasimi midis zgjidhjeve

Konvertuesi i nivelit të logjikës me dy drejtime (SH. PK)

Pro:

Nuk kërkon ndonjë pajisje ose aftësi bashkimi

Disavantazhet:

Reklamon më shumë kabllo dhe LLC në listën e përbërësve të listës suaj

Lidhjet më të çrregullta me përbërësit shtesë

Pak më e shtrenjtë

Shkrini Rezistencat e tërheqjes LCD

Pro:

Rezultati përfundimtar më i pastër

Ju ndoshta mund ta bëni atë menjëherë, pa pasur nevojë të prisni për LLC

Veçanërisht e mirë nëse doni të zvogëloni shumëllojshmërinë e përbërësve dhe kompleksitetin e montimit në një projekt kompleks ose që dëshironi të përsërisni

Disavantazhet:

Ndryshon qarkun LCD (Nëse dëshironi që ai të jetë "gati për t'u përdorur" me Uno, duke pasur tashmë tërheqjet 4K7, mund t'i zhbëni ndryshimet duke i rishitur ato)

Hapi 5: Konsideratat përfundimtare

Shpresoj që ky tutorial të hedhë dritë mbi këtë çështje të pajtueshmërisë dhe disa nga zgjidhjet e tij të mundshme.

Nëse keni ndonjë ide përmirësimi, shpjegime më të mira, zgjidhje të reja ose keni gjetur ndonjë gabim në postim, ju lutem më tregoni në komente!:)

Recommended: