Kazalo:

5V LCD zaslon z Arduino Due 3.3V I2C: 5 korakov
5V LCD zaslon z Arduino Due 3.3V I2C: 5 korakov

Video: 5V LCD zaslon z Arduino Due 3.3V I2C: 5 korakov

Video: 5V LCD zaslon z Arduino Due 3.3V I2C: 5 korakov
Video: Измерьте ток до 500A с помощью шунтирующего резистора с помощью Arduino 2024, November
Anonim
5V LCD zaslon z Arduino Due 3.3V I2C
5V LCD zaslon z Arduino Due 3.3V I2C

Namen te objave je razložiti enostavnejši način uporabe Arduino Due (ali druge 3.3V plošče) s priljubljenim zaslonom LCD 16x2 z vmesniškim modulom I2C.

Začetna težava je v tem, da LCD potrebuje 5V za pravilno delovanje osvetlitve ozadja, vendar bi morali zatiči SCL in SDA delovati pri 3.3V za komunikacijo z Arduino Due brez škode. Za rešitev tega sem našel dve možnosti:

Najbolj omenjena rešitev je uporaba dvosmernega pretvornika logičnih nivojev, ki resnično rešuje težavo. Vendar pa na vaš seznam dodaja še eno komponento in dodatne ožičenje na vašem vezju

Drug način, ki sem ga odkril, je, da z LCD -prikazovalnika preprosto "odlepite 2 uporna upora" v "nahrbtniku adapterja I2C". Poleg tega, da je veliko lažje, ima na koncu primerjavo razložene še druge prednosti. Ta metoda je glavni poudarek te objave

Zaloge

Arduino Due

LCD zaslon 16x2 z vmesniškim modulom I2C

Spajkalnik

Spajkalna črpalka ali spajkalni stenj

Pinceta

1. korak: izvor rešitve

Rešitve si nisem izmislil, na forumu Arduino sem na spodnji povezavi videl precej dober predlog in razlago, ki jo bom reproduciral v tem prispevku.

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

Odgovor od: david_prentice

Na internetu nisem našel nobene popolne vadnice in ker je to zelo pogosta težava, poskušam podrobno predstaviti rešitev tukaj, biti prepričan, da dejansko deluje, in dodati podatke, ki bi lahko ublažili skepticizem glede njenih rezultatov.

2. korak: Pojasnilo

Naprave

Da bi komunikacija I2C delovala, so potrebni vlečni upori, priključeni na zatiče SDA in SCL. To je zato, ker naprave med komunikacijo le zavrtljejo te nožice. Če želite predstaviti HIGH, le ne sme poslati LOW, zahvaljujoč pullups pa gre na HIGH. (to razumevanje bo kasneje zelo pomembno)

LCD "nahrbtnik I2C" ima dva vlečna upora 4K7, ki izpolnjujeta zahteve I2C. Ker pa so povezani z Vcc, bodo, če uporabljate 5 V, potegnili SDA in SCL na 5 V.

Če pogledate podatkovni list, lahko vidite, da ima Due za razliko od drugih plošč že vgrajene vlečne upore 1K5 na svojih glavnih zatičih SDA, SCL, ki jih potegnejo na 3,3 V.

Preizkusi

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

Če LCD le priključite na Due (po zgornjem ožičenju), bodo 1k5 (ali 1k0) Due napeljave, povezane na 3,3 V, in 4K7 LCD vdolbine, priključene na 5 V, povzročile proste linije I2C pri 3,7 V (3,6 V z 1k0). To ni dobro, saj podatkovni list Due določa največjo napetost 3,6 V za svoje V/I vodi.

S preizkušanjem tega scenarija sem samo z LCD -jem dobil 3, 56 V. Z dodajanjem modula EEPROM istemu SDA in SCL se je dvignil na 3,606 V. V obeh primerih je vse delovalo normalno, vendar te še zdaleč niso idealna napetost ravni glede na predpisani maksimum 3,6 V.

Tako da, obstaja možnost, da bo delovalo tako, kot je delovalo moje, medtem ko ne bi spremenil. Nivo napetosti pa je še daleč od idealnega in lahko zaradi nekaterih odstopanj zaradi vlečenja Due ali LCD preseže mejo 3,6 V. (Priporočljivo je, da vsaj s potenciometrom 20K ali 100K vsaj natančno preizkusite, kakšen je najnižji upor med zatiči 5 V in SCL/SDA, preden dosežejo 3,6 V, čeprav je preostala rešitev veliko varnejša in verjetno lažja)

Rešitev

Predstavljena rešitev je, da izvlečne upore preprosto odstranite iz nahrbtnika LCD, ki poskušajo potegniti linijo do 5 V. Nato ostanejo samo vgrajeni uporovni upori Due, ki potegnejo linije SCL in SDA na 3,3 V.. Deloval je odlično, pri čemer je vzdrževal prazne zatiče pri približno 3,262 V!

Povezave ostajajo enake:

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

Če se sprašujete, ali LCD med komunikacijo ne bo potegnil črte na 5 V, da bi predstavljal HIGH, ne pozabite, da naprave I2C vlečejo črte le NIZKO, kar je VISKI signal, ki je predstavljen, ko ne moti, kar bo 3,3 V od vgrajeni vlečni elementi podjetja Due.

Prav tako 3,3 V zadostuje, da nahrbtnik I2C šteje za VISOK signal.

3. korak: Prepoznajte in odstranite upore

Prepoznajte in odstranite upore
Prepoznajte in odstranite upore
Prepoznajte in odstranite upore
Prepoznajte in odstranite upore

Zgornja slika prikazuje rdeče uporne upore, ki sem jih našel v svojem modulu.

Prepoznajte

Ker se nahrbtnik z adapterjem LCD I2C lahko razlikuje, upori morda niso v isti konfiguraciji. Za identifikacijo upornih uporov lahko uporabite multimeter s preskusom kontinuitete. Vsak vlečni upor mora imeti en konec priključen na pin SCL ali SDA, drugi konec pa na Vcc.

V mojem primeru so bili na plošči trije upori 4K7 (472 v SMD kodi). Le dva izmed njih sta izpolnila zgornje zahteve, pri čemer sta poudarila, da so to iskanje, ki smo ga iskali!

Zaradi dodatne previdnosti (če iz nekega razloga niso bili 4K7) sem preizkusil tudi druge upore in potrdil, da nobeden od njih ne izpolnjuje zahtev glede vlečenja.

Odstrani

Zdaj jih morate le razsajiti! Lažje je, če imate v pomoč spajkalno črpalko ali spajkalni stenj in pinceto.

4. korak: Primerjava rešitev

Dvosmerni pretvornik ravni logike (LLC)

Prednosti:

Ne zahteva nobene opreme za spajkanje ali sposobnosti

Slabosti:

Oglasi več kablov in LLC na svoj seznam komponent seznama

Messierjeve povezave z dodatnimi komponentami

Nekoliko dražje

Odlepite vlečne upore LCD

Prednosti:

Čistejši končni rezultat

Verjetno lahko to storite takoj, ne da bi morali čakati na LLC

Še posebej dobro, če želite zmanjšati raznolikost komponent in kompleksnost sestavljanja v kompleksnem projektu ali pa ga želite ponoviti

Slabosti:

Spremeni vezje LCD (če želite, da je "pripravljeno za uporabo" z Uno, ki že ima vlečne elemente 4K7, lahko razveljavite spremembe, ki jih ponovno spajkate)

5. korak: Končni premisleki

Upam, da bo ta vadnica osvetlila to vprašanje združljivosti in nekatere njegove možne rešitve.

Če imate kakšne ideje za izboljšanje, boljše razlage, nove rešitve ali ste v objavi odkrili napako, mi to povejte v komentarjih!:)

Priporočena: