Obsah:

5V LCD displej s Arduino vďaka 3,3 V I2C: 5 krokov
5V LCD displej s Arduino vďaka 3,3 V I2C: 5 krokov

Video: 5V LCD displej s Arduino vďaka 3,3 V I2C: 5 krokov

Video: 5V LCD displej s Arduino vďaka 3,3 V I2C: 5 krokov
Video: How to Use I2C LCD with Arduino | Very Easy Arduino LCD I2C Tutorial | Arduino 16x2 LCD I2C Tutorial 2024, Júl
Anonim
5V LCD displej s Arduino vďaka 3,3 V I2C
5V LCD displej s Arduino vďaka 3,3 V I2C

Tento príspevok si kladie za cieľ vysvetliť jednoduchší spôsob použitia Arduino Due (alebo inej dosky 3,3 V) s obľúbeným displejom LCD 16x2 s modulom adaptéra I2C.

Počiatočný problém je, že LCD potrebuje 5 V, aby správne fungovalo podsvietenie, ale piny SCL a SDA by mali pracovať na 3,3 V, aby komunikovali s Arduino Due bez poškodenia. Aby som to vyriešil, našiel som dve možnosti:

Najviac spomínaným riešením je použiť obojsmerný logický prevodník úrovní, ktorý skutočne problém rieši. Ale tiež pridá ďalší komponent do vášho zoznamu a ďalšie zapojenia vo vašom obvode

Druhý spôsob, ktorý som našiel, je jednoducho odpájať 2 pullup rezistory v „batohu adaptéra I2C“z LCD. Okrem toho, že je oveľa jednoduchší, má ďalšie výhody vysvetlené v porovnaní na konci. Táto metóda je hlavným zameraním tohto príspevku

Zásoby

Termín Arduino

LCD 16x2 displej s modulom adaptéra I2C

Spájkovačka

Spájkovacie čerpadlo alebo spájkovací knôt

Pinzeta

Krok 1: Pôvod riešenia

Riešenie som nevymyslel ja, celkom dobrý návrh a vysvetlenie som videl na fóre Arduino v nižšie uvedenom odkaze, ktorý uvediem v tomto príspevku.

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

Odpoveď od: david_prentice

Na internete som nenašiel žiadny kompletný návod a pretože sa jedná o veľmi bežný problém, pokúšam sa tu podrobne predstaviť riešenie, zistiť, že skutočne funguje, a pridať informácie, ktoré by mohli zmierniť skepticizmus ohľadom jeho výsledkov.

Krok 2: Vysvetlenie

Zariadenia

Na to, aby komunikácia I2C fungovala, sú potrebné vyťahovacie odpory pripojené k pinom SDA a SCL. Je to preto, že zariadenia počas komunikácie otáčajú tieto kolíky iba NÍZKO. Na to, aby predstavoval VYSOKÚ, musí iba neposielať NÍZKU a vďaka sťahovaniam prejde na VYSOKÝ. (toto porozumenie bude neskôr veľmi dôležité)

LCD „batoh I2C“má dva výsuvné odpory 4K7, ktoré slúžia požiadavke I2C. Ale pretože sú pripojené k Vcc, ak použijete 5 V, vytiahnu SDA a SCL na 5 V.

Ak sa pozriete na technický list, môžete vidieť, že na rozdiel od iných dosiek má Due už na svojich hlavných pinoch SDA, SCL integrované výsuvné odpory 1K5, ktoré ich ťahá na 3,3 V.

Skúšky

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

Ak len pripojíte LCD k zariadeniu Due (podľa vyššie uvedeného zapojenia), prípojky 1k5 (alebo 1k0) Due pripojené k 3,3 V a výsuvy LCD 4K7 pripojené k 5 V budú mať za následok nečinné vedenia I2C pri 3,7 V (3,6 V) s 1k0). To nie je dobré, pretože v technickom liste Due je pre jeho vstupno -výstupné vedenia stanovené maximálne napätie 3,6 V.

Testovaním tohto scenára, iba s LCD, som získal 3, 56 V. Po pridaní modulu EEPROM k rovnakému SDA a SCL to stúplo až na 3,606 V. V oboch prípadoch všetko fungovalo normálne, ale tie neboli ani zďaleka ideálne napätie. úrovne s prihliadnutím na stanovené maximum 3,6 V.

Takže áno, je šanca, že to bude fungovať rovnako ako moje, bez toho, aby ste robili akékoľvek zmeny. Úroveň napätia je však stále ďaleko od ideálu a určité odchýlky v spôsobe splatnosti alebo vysunutí displeja LCD môžu spôsobiť, že prekročí hranicu 3,6 V. (Bolo by vhodné aspoň vopred starostlivo otestovať 20K alebo 100K potenciometrom, aký je najmenší odpor medzi 5 V a SCL/SDA kolíkmi, než sa dostanú na 3,6 V, aj keď zvyšok roztoku je oveľa bezpečnejší a pravdepodobne jednoduchší.)

Riešenie

Predloženým riešením je jednoducho odstrániť výsuvné odpory z batohu LCD, ktoré sa pokúsia vytiahnuť linku až do 5 V. Potom zostanú iba vstavané výsuvné odpory Due, ktoré potiahnu vedenia SCL a SDA na 3,3 V. Fungovalo to perfektne, pričom nečinné kolíky udržiavali okolo 3,262 V!

Pripojenia zostávajú rovnaké:

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

Ak vás zaujíma, či LCD pri komunikácii nevytiahne riadok na 5 V, aby predstavoval VYSOKÝ, pamätajte na to, že na I2C zariadenia ťahajú riadky iba NÍZKE, čo je signál VYSOKÝ, keď neruší, čo bude 3,3 V od príťahy na palube.

Tiež 3,3 V je dostatočné na to, aby batoh I2C považoval za VYSOKÝ signál.

Krok 3: Identifikujte a odstráňte rezistory

Identifikujte a odstráňte odpory
Identifikujte a odstráňte odpory
Identifikujte a odstráňte odpory
Identifikujte a odstráňte odpory

Obrázok vyššie zobrazuje červenou farbou pullup rezistory, ktoré som našiel vo svojom module.

Identifikovať

Pretože sa batoh adaptéra LCD I2C môže líšiť, rezistory nemusia byť v rovnakej konfigurácii. Na identifikáciu pullup rezistorov môžete použiť multimetr s testom spojitosti. Každý pull-up odpor by mal mať jeden koniec spojený s pinom SCL alebo SDA a druhý koniec s Vcc.

V mojom prípade boli na doske tri z rezistorov 4K7 (472 v SMD kóde). Iba dvaja z nich splnili vyššie uvedené požiadavky a poukázali na to, že ide o sťahovania, ktoré sme hľadali!

Kvôli mimoriadnej opatrnosti (ak z nejakého dôvodu neboli 4K7) som testoval aj ostatné odpory a potvrdil som, že žiadny z nich nespĺňa požiadavky na vyťahovanie.

Odstrániť

Teraz ich stačí iba odpájať! Je to jednoduchšie, ak máte na pomoc spájkovaciu pumpu alebo spájkovací knôt a pinzetu.

Krok 4: Porovnanie medzi riešeniami

Obojsmerný prevodník logickej úrovne (LLC)

Klady:

Nevyžaduje žiadne spájkovacie zariadenie ani schopnosti

Zápory:

Inzerujte ďalšie káble a spoločnosť LLC v zozname komponentov zoznamu

Špičkové prepojenie s ďalšími komponentmi

Mierne drahšie

Odpájajte výsuvné rezistory LCD

Klady:

Konečný výsledok čističa

Pravdepodobne to môžete urobiť okamžite, bez toho, aby ste museli čakať na spoločnosť LLC

Zvlášť dobré, ak chcete v komplexnom projekte znížiť rozmanitosť komponentov a zložitosť montáže alebo ktoré chcete replikovať

Zápory:

Mení obvod LCD (Ak chcete, aby bol „pripravený na použitie“s Uno, ktorý už má prípojky 4K7, môžete zmeny vrátiť späť ich rozlíšením)

Krok 5: Záverečné úvahy

Dúfam, že tento návod vnesie svetlo do tohto problému s kompatibilitou a niektorých z jeho možných riešení.

Ak máte nápady na vylepšenie, lepšie vysvetlenia, nové riešenia alebo ste v príspevku našli akúkoľvek chybu, dajte mi prosím vedieť v komentároch!:)

Odporúča: