
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59

Šī ziņojuma mērķis ir izskaidrot vieglāku veidu, kā izmantot Arduino Due (vai citu 3,3 V plati) ar populāro LCD 16x2 displeju ar I2C adaptera moduli.
Sākotnējā problēma ir tāda, ka LCD ekrānam ir nepieciešams 5 V, lai tā apgaismojums darbotos pareizi, bet SCL un SDA tapām jādarbojas ar 3,3 V spriegumu, lai sazinātos ar Arduino Due, neradot kaitējumu. Lai to atrisinātu, esmu atradis divas iespējas:
Visbiežāk minētais risinājums ir izmantot divvirzienu loģikas līmeņa pārveidotāju, kas patiešām atrisina problēmu. Bet tas arī pievieno jūsu sarakstam vēl vienu komponentu un papildu elektroinstalācijas savienojumus jūsu ķēdē
Otrs veids, ko esmu atradis, ir vienkārši atkausēt 2 pullup rezistorus "I2C adaptera mugursomā" no LCD. Papildus tam, ka tas ir daudz vieglāk, tam ir arī citas priekšrocības, kas izskaidrotas salīdzinājumā beigās. Šī metode ir šī raksta galvenā uzmanība
Piegādes
Arduino Due
16x2 LCD displejs ar I2C adaptera moduli
Lodāmurs
Lodēšanas sūknis vai lodēšanas dakts
Pincetes
1. solis: Risinājuma izcelsme
Risinājumu es neesmu izdomājis es, es redzēju diezgan labu ieteikumu un paskaidrojumu Arduino forumā zemāk esošajā saitē, kuru es atkārtošu šajā ierakstā.
forum.arduino.cc/index.php?topic=553725.0
Atbilde no: david_prentice
Internetā nevarēju atrast nevienu pilnīgu pamācību, un, tā kā tā ir ļoti izplatīta problēma, es cenšos šeit detalizēti izklāstīt risinājumu, liecināt, ka tas tiešām darbojas, un pievienot informāciju, kas varētu mazināt skepsi par tās rezultātiem.
2. darbība: skaidrojums
Ierīces
Lai I2C sakari darbotos, tam nepieciešami pievilkšanas rezistori, kas savienoti ar SDA un SCL tapām. Tas ir tāpēc, ka ierīces saziņas laikā šīs tapas pagriež tikai LOW. Lai pārstāvētu AUGSTU, tai tikai nav jāsūta LOW, un, pateicoties pullupiem, tā nonāk HIGH. (šī izpratne būs ļoti svarīga vēlāk)
LCD "I2C mugursomā" ir divi 4K7 pievilkšanas rezistori, kas kalpo I2C prasībām. Bet, tā kā tie ir savienoti ar Vcc, ja izmantojat 5 V, tie izvilks SDA un SCL līdz 5 V.
Ja paskatās uz datu lapu, jūs varat redzēt, ka atšķirībā no citiem dēļiem Due jau ir iebūvēti 1K5 pievilkšanas rezistori uz galvenajiem SDA, SCL tapām, kas tos pavelk līdz 3,3 V.
Testi
- Displeja LCD -> Arduino
- Gnd -> Gnd
- Vcc -> 5V
- SDA -> SDA
- SCL -> SCL
Ja jūs vienkārši pievienojat LCD uz Due (ievērojot iepriekš norādīto vadu), 1k5 (vai 1k0) Due pullup, kas savienots ar 3,3 V, un 4K7 LCD pullup, kas savienots ar 5 V, novedīs pie tukšgaitas I2C līnijām pie 3,7 V (3,6 V) ar 1k0). Tas nav labi, jo Due datu lapā I/O līnijām ir noteikts maksimālais spriegums 3,6 V.
Pārbaudot šo scenāriju, izmantojot tikai LCD, es saņēmu 3, 56 V. Pievienojot EEPROM moduli vienam un tam pašam SDA un SCL, tas palielinājās līdz 3.606 V. Abos gadījumos viss darbojās normāli, taču spriegums ir tālu no ideālā līmenis, ņemot vērā noteikto maksimālo 3,6 V spriegumu.
Tātad, jā, pastāv iespēja, ka tas darbosies tāpat kā mans, neveicot nekādas izmaiņas. Bet sprieguma līmenis joprojām ir tālu no ideāla, un dažas neatbilstības Due vai LCD pullup var izraisīt tā pārsniegšanu virs 3,6 V robežas. (Būtu ieteicams vismaz pirms rūpīgas pārbaudes ar 20K vai 100K potenciometru pārbaudīt, kāda ir zemākā pretestība starp 5 V un SCL/SDA tapām, pirms tie sasniedz 3,6 V, lai gan pārējais šķīdums ir daudz drošāks un, iespējams, vieglāk)
Risinājums
Piedāvātais risinājums ir vienkārši noņemt uzvilkšanas rezistorus no LCD mugursomas, kas mēģina izvilkt līniju līdz 5 V. Tad paliks tikai Due borta uzvilkšanas rezistori, velkot SCL un SDA līnijas līdz 3,3 V.. Tas strādāja perfekti, saglabājot tukšgaitas tapas pie aptuveni 3,262 V!
Savienojumi paliek nemainīgi:
- LCD displejs -> Arduino
- Gnd -> Gnd
- Vcc -> 5V
- SDA -> SDA
- SCL -> SCL
Ja jums rodas jautājums, vai LCD saziņas laikā neizvilks līniju līdz 5 V, lai attēlotu HIGH, atcerieties, ka I2C ierīces velk tikai LOW līnijas, kas ir HIGH signāls, kas netraucē, kas būs 3,3 V no Due's borta pievilkšanās.
Arī 3,3 V ir pietiekams, lai I2C mugursoma tiktu uzskatīta par HIGH signālu.
3. darbība: identificējiet un noņemiet rezistorus


Iepriekš redzamajā attēlā sarkanā krāsā ir parādīti savilkšanas rezistori, kurus esmu atradis savā modulī.
Identificējiet
Tā kā LCD I2C adaptera mugursoma var atšķirties, rezistori var nebūt vienā konfigurācijā. Lai identificētu pievilkšanas rezistorus, varat izmantot multimetru ar nepārtrauktības pārbaudi. Katram pievilkšanas rezistoram vienam galam jābūt savienotam ar SCL vai SDA tapu, bet otram-Vcc.
Manā gadījumā uz tāfeles bija trīs no 4K7 (472 SMD kodā) rezistoriem. Tikai divi no viņiem izpildīja iepriekš minētās prasības, norādot, ka šie ir pullups, kurus mēs meklējām!
Papildu piesardzības nolūkos (ja kāda iemesla dēļ tie nebija 4K7) es pārbaudīju arī citus rezistorus un apstiprināju, ka neviens no tiem neatbilst pievilkšanas prasībām.
Noņemt
Tagad viss, kas jums jādara, ir tos atkausēt! Tas ir vieglāk, ja jums ir palīgā lodēšanas sūknis vai lodēšanas dakts un pincete.
4. solis. Risinājumu salīdzinājums
Divvirzienu loģikas līmeņa pārveidotājs (LLC)
Plusi:
Neprasa lodēšanas iekārtas vai spējas
Mīnusi:
Reklamē vairāk kabeļu un LLC jūsu saraksta sastāvdaļu sarakstā
Messier savienojumi ar papildu komponentiem
Nedaudz dārgāk
Atkausējiet LCD pievilkšanas rezistorus
Plusi:
Tīrāks gala rezultāts
Jūs, iespējams, varat to izdarīt uzreiz, negaidot LLC
Īpaši labi, ja vēlaties samazināt komponentu dažādību un montāžas sarežģītību sarežģītā projektā vai arī vēlaties to atkārtot
Mīnusi:
Maina LCD shēmu (ja vēlaties, lai tas būtu gatavs lietošanai ar Uno, kam jau ir 4K7 pullups, varat atsaukt izmaiņas, atjaunojot tās)
5. darbība. Pēdējie apsvērumi
Es ceru, ka šī apmācība nedaudz izskaidro šo saderības problēmu un dažus tās iespējamos risinājumus.
Ja jums ir kādas uzlabošanas idejas, labāki paskaidrojumi, jauni risinājumi vai esat atradis ziņā kļūdu, lūdzu, pastāstiet man komentāros!:)
Ieteicams:
TTGO (krāsains) displejs ar mikropitonu (TTGO T displejs): 6 soļi

TTGO (krāsains) displejs ar mikropitonu (TTGO T displejs): TTGO T-displejs ir tāfele, kuras pamatā ir ESP32 un kurā ir 1,14 collu krāsu displejs. Dēli var iegādāties par balvu, kas mazāka par 7 ASV dolāriem (ieskaitot piegādi, balva redzama banggood). Tā ir neticama balva par ESP32, ieskaitot displeju
Arduino LCD 16x2 apmācība - Saskarnes 1602 LCD displejs ar Arduino Uno: 5 soļi

Arduino LCD 16x2 apmācība | Saskarnes 1602 LCD displejs ar Arduino Uno: Sveiki, puiši, jo daudziem projektiem ir nepieciešams ekrāns, lai parādītu datus neatkarīgi no tā, vai tas ir kāds diy mērītājs vai YouTube abonentu skaita displejs vai kalkulators vai tastatūras bloķēšana ar displeju, un ja visi šāda veida projekti tiek veidoti ar arduino viņi noteikti noteiks
I2C / IIC LCD displejs - Izmantojiet SPI LCD I2C LCD displejā Izmantojot SPI līdz IIC moduli ar Arduino: 5 soļi

I2C / IIC LCD displejs | Izmantojiet SPI LCD I2C LCD displejā Izmantojot SPI to IIC moduli ar Arduino: Sveiki, puiši, jo parastajam SPI LCD 1602 ir pārāk daudz vadu, lai to savienotu, tāpēc ir ļoti grūti savienot to ar arduino, taču tirgū ir pieejams viens modulis pārvērst SPI displeju IIC displejā, tāpēc jums ir jāpievieno tikai 4 vadi
I2C / IIC LCD displejs - Pārveidojiet SPI LCD uz I2C LCD displeju: 5 soļi

I2C / IIC LCD displejs | Pārveidojiet SPI LCD uz I2C LCD displeju: lai izmantotu spi lcd displeju, ir nepieciešams pārāk daudz savienojumu, un to ir ļoti grūti izdarīt, tāpēc es atradu moduli, kas var pārvērst i2c LCD uz spi lcd, tāpēc sāksim darbu
DIY I2C LCD displejs ar ieejām: 6 soļi

DIY I2C LCD displejs ar ieejām: tipiskajam paralēlajam LCD, ko izmanto ar Arduino (16x2 vai 20x4), ir 16 tapas. Arduino ir nepieciešamas tikai 6 I/O tapas, bet ko darīt, ja jūs varētu to samazināt līdz divām I/O tapām un tās joprojām būtu pieejamas citām ierīcēm? I2C saskarne ir