Satura rādītājs:

5V LCD displejs ar Arduino Due 3.3V I2C: 5 soļi
5V LCD displejs ar Arduino Due 3.3V I2C: 5 soļi

Video: 5V LCD displejs ar Arduino Due 3.3V I2C: 5 soļi

Video: 5V LCD displejs ar Arduino Due 3.3V I2C: 5 soļi
Video: Как использовать SSD1306 128x32 OLED-дисплей I2C с кодом Arduino 2024, Jūlijs
Anonim
5V LCD displejs ar Arduino Due 3.3V I2C
5V LCD displejs ar Arduino Due 3.3V I2C

Šī 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

Identificējiet un noņemiet rezistorus
Identificējiet un noņemiet rezistorus
Identificējiet un noņemiet rezistorus
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: