
Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-23 14:47

Ovaj post ima za cilj objasniti lakši način korištenja Arduino Due (ili druge 3,3 V ploče) s popularnim LCD zaslonom 16x2 s I2C adapterskim modulom.
Početni problem je u tome što je LCD -u potrebno 5V da bi pozadinsko osvjetljenje radilo ispravno, ali SCL i SDA pinovi bi trebali raditi na 3.3V kako bi komunicirali s Arduino Dueom bez nanošenja štete. Da bih to riješio, pronašao sam dvije mogućnosti:
Najviše spomenuto rješenje je korištenje dvosmjernog pretvarača logičke razine, što doista rješava problem. Ali također dodaje još jednu komponentu na vaš popis i dodatne ožičenje na vašem krugu
Drugi način na koji sam otkrio je jednostavno odlijepiti 2 otpornika u "I2C adapterskom ruksaku" s LCD -a. Osim što je mnogo lakše, ima i druge prednosti objašnjene u usporedbi na kraju. Ova je metoda glavni fokus ovog posta
Pribor
Arduino Due
LCD 16x2 zaslon s I2C adapterskim modulom
Lemilica
Pumpa za lemljenje ili fitilj za lemljenje
Pinceta
Korak 1: Podrijetlo rješenja
Rješenje nisam izmislio, vidio sam prilično dobar prijedlog i objašnjenje na Arduino forumu na donjoj poveznici, koje ću reproducirati u ovom postu.
forum.arduino.cc/index.php?topic=553725.0
Odgovor od: david_prentice
Nisam mogao pronaći nikakav cjelovit vodič na Internetu, a budući da je to vrlo čest problem, pokušavam ovdje detaljno predstaviti rješenje, svjedočiti da ono zaista djeluje i dodati informacije koje bi mogle ublažiti skepsu prema njegovim ishodima.
Korak 2: Objašnjenje
Uređaji
Da bi I2C komunikacija funkcionirala, potrebni su pullup otpornici spojeni na SDA i SCL pinove. To je zato što uređaji samo NIZO okreću ove igle tijekom komunikacije. Da bi predstavljao HIGH, samo ne mora slati LOW, a zahvaljujući povlačenjima ide na HIGH. (ovo razumijevanje će kasnije biti prilično važno)
LCD "I2C ruksak" ima dva 4K7 pull-up otpornika koji zadovoljavaju zahtjeve I2C. No budući da su spojeni na Vcc, ako koristite 5 V, povući će SDA i SCL na 5 V.
Ako pogledate podatkovnu tablicu, možete vidjeti da, za razliku od drugih ploča, Due već ima ugrađene 1K5 pull-up otpornike na svojim glavnim SDA, SCL pinovima, koji ih vuku na 3,3 V.
Testovi
- LCD zaslon -> Arduino
- Gnd -> Gnd
- Vcc -> 5V
- SDA -> SDA
- SCL -> SCL
Ako samo spojite LCD na Due (slijedeći gornje ožičenje), 1k5 (ili 1k0) Due povezivanje spojeno na 3,3 V i 4K7 LCD izvlačenje spojeno na 5 V rezultirat će praznim I2C vodovima na 3,7 V (3,6 V s 1k0). To nije dobro jer podatkovna tablica Due propisuje maksimalni napon od 3,6 V za svoje I/O vodove.
Testiranjem ovog scenarija, samo s LCD -om, dobio sam 3, 56 V. Dodavanjem EEPROM modula na isti SDA i SCL, popeo se na 3,606 V. U oba slučaja sve je radilo normalno, ali oni su daleko od idealnog napona razine uzimajući u obzir predviđeni maksimum od 3,6 V.
Dakle, da, postoji šansa da će funkcionirati baš kao što je radio moj, a da nije napravio nikakve izmjene. No, razina napona je još uvijek daleko od idealne, a neke razlike na Due -u ili LCD pullupu mogu uzrokovati da pređe granicu od 3,6 V. (Bilo bi preporučljivo barem prije pažljivo provjeriti potenciometrom od 20K ili 100K koji je najmanji otpor između 5 V i SCL/SDA pinova prije nego što dosegnu 3,6 V, iako je ostatak otopine mnogo sigurniji i vjerojatno lakši)
Riješenje
Predloženo rješenje je jednostavno uklanjanje pull-up otpornika s LCD ruksaka koji pokušavaju izvući vod do 5 V. Zatim će ostati samo ugrađeni pull-up otpornici Due koji povlače SCL i SDA vodove na 3.3V. Radio je savršeno, održavajući igle u praznom hodu na oko 3.262 V!
Veze ostaju iste:
- LCD zaslon -> Arduino
- Gnd -> Gnd
- Vcc -> 5V
- SDA -> SDA
- SCL -> SCL
Ako se pitate neće li LCD povući liniju na 5 V kako bi predstavljao HIGH tijekom komunikacije, imajte na umu da na I2C uređaji povlače linije samo LOW, što je HIGH signal predstavljen kada ne ometa, što će biti 3,3 V od Due-ova uvlačenja.
Također, 3,3 V je dovoljno da se I2C ruksak može smatrati VISOKIM signalom.
Korak 3: Identificirajte i uklonite otpornike


Gornja slika prikazuje crvenom bojom otpornike koje sam pronašao u svom modulu.
Identificirati
Budući da se LCD I2C adapter ruksak može razlikovati, otpornici možda nisu u istoj konfiguraciji. Za identifikaciju izvlačnih otpornika možete koristiti multimetar s testom kontinuiteta. Svaki pull-up otpornik trebao bi imati jedan kraj spojen na SCL ili SDA pin, a drugi kraj na Vcc.
U mom slučaju, na ploči su bila tri od 4K7 (472 u SMD kodu) otpornika. Samo su njih dvojica zadovoljili gore navedene zahtjeve, ističući da su to tragovi koje smo tražili!
Radi dodatne mjere opreza (ako iz nekog razloga nisu bili 4K7), testirao sam i ostale otpornike i potvrdio da niti jedan od njih ne zadovoljava uvjete za podizanje.
Ukloniti
Sada ih samo trebate odlijepiti! Lakše je ako imate pomoć pumpe za lemljenje ili fitilja za lemljenje i pincete.
Korak 4: Usporedba rješenja
Dvosmjerni pretvarač logičke razine (LLC)
Prednosti:
Ne zahtijeva nikakvu opremu za lemljenje niti sposobnost
Protiv:
Oglasi više kabela i LLC na popisu komponenti popisa
Messier veze s dodatnim komponentama
Nešto skuplji
Odspojite LCD pull-up otpornike
Prednosti:
Čistiji konačni rezultat
Vjerojatno to možete učiniti odmah, ne morate čekati LLC
Posebno dobro ako želite smanjiti raznolikost komponenti i složenost sastavljanja u složenom projektu ili koje želite replicirati
Protiv:
Mijenja LCD krug (ako želite da je "spreman za upotrebu" s Uno -om, koji već ima 4K7 izvlačenje, možete poništiti promjene koje ste ih lemili)
Korak 5: Završna razmatranja
Nadam se da će ovaj vodič rasvijetliti ovo pitanje kompatibilnosti i neka od njegovih mogućih rješenja.
Ako imate ideje za poboljšanje, bolja objašnjenja, nova rješenja ili ste pronašli grešku u postu, recite mi u komentarima!:)
Preporučeni:
Kako koristiti LCD zaslon veličine 20x4 I2C znakova s Arduinom: 6 koraka

Kako koristiti LCD zaslon veličine 20x4 s I2C znakovima s Arduinom: U ovom jednostavnom vodiču naučit ćemo kako koristiti LCD zaslon s dimenzijama 20 x 4 s 2 znaka s Arduinom Uno za prikaz jednostavnog teksta " Hello World.Gledajte video
TTGO (kolor) zaslon s mikropythonom (TTGO T-zaslon): 6 koraka

TTGO (kolor) zaslon s Micropythonom (TTGO T-zaslon): TTGO T-zaslon je ploča temeljena na ESP32 koja uključuje zaslon u boji od 1,14 inča. Ploča se može kupiti za nagradu manju od 7 USD (uključujući dostavu, nagrada viđena na banggood -u). To je nevjerojatna nagrada za ESP32 uključujući zaslon. T
I2C / IIC LCD zaslon - Upotrijebite SPI LCD za I2C LCD zaslon Korištenje SPI do IIC modula s Arduinom: 5 koraka

I2C / IIC LCD zaslon | Upotrijebite SPI LCD na I2C LCD zaslonu Korištenje SPI na IIC modula s Arduinom: Zdravo dečki, budući da normalni SPI LCD 1602 ima previše žica za povezivanje pa je vrlo teško povezati ga s arduinom, ali na tržištu postoji jedan modul koji može pretvoriti SPI zaslon u IIC zaslon pa morate spojiti samo 4 žice
I2C / IIC LCD zaslon - Pretvorite SPI LCD u I2C LCD zaslon: 5 koraka

I2C / IIC LCD zaslon | Pretvorite SPI LCD u I2C LCD zaslon: za korištenje spi lcd zaslona potrebno je previše povezivanja, što je zaista teško učiniti pa sam pronašao modul koji može pretvoriti i2c lcd u spi lcd pa krenimo
Kako spojiti I2C LCD zaslon na Arduino Uno: 5 koraka (sa slikama)

Kako spojiti I2C LCD zaslon na Arduino Uno: Zdravo dečki, U ovom Instructableu ćete vidjeti kako spojiti i2c LCD zaslon na arduino i kako ispisivati na LCD zaslonu. Prije nego što započnete ovaj vodič, morate znati ukratko o i2c komunikacija.Svaka I2C sabirnica sastoji se od dva signala