Tartalomjegyzék:

5V LCD kijelző Arduino Due 3.3V I2C -vel: 5 lépés
5V LCD kijelző Arduino Due 3.3V I2C -vel: 5 lépés

Videó: 5V LCD kijelző Arduino Due 3.3V I2C -vel: 5 lépés

Videó: 5V LCD kijelző Arduino Due 3.3V I2C -vel: 5 lépés
Videó: How to make a LED digital counter using 7- Segment Display 2024, Július
Anonim
5V LCD kijelző Arduino Due 3.3V I2C -vel
5V LCD kijelző Arduino Due 3.3V I2C -vel

Ez a bejegyzés célja, hogy elmagyarázza az Arduino Due (vagy más 3,3 V -os kártya) egyszerűbb használatát a népszerű 16x2 méretű LCD kijelzővel az I2C adaptermodullal.

A kezdeti probléma az, hogy az LCD -nek 5 V -ra van szüksége a háttérvilágítás megfelelő működéséhez, de az SCL és az SDA csapoknak 3,3 V -on kell működniük, hogy kommunikálhassanak az Arduino Due -val anélkül, hogy kárt okoznának. Ennek megoldására két lehetőséget találtam:

A leginkább említett megoldás egy kétirányú logikai szintváltó használata, amely valóban megoldja a problémát. De egy másik összetevőt is hozzáad a listához, és további vezetékeket csatlakoztat az áramkörhöz

A másik mód, amit találtam, az, hogy egyszerűen ki kell forrasztani 2 felhúzó ellenállást az "I2C adapter hátizsákban" az LCD -ről. Amellett, hogy sokkal könnyebb, más előnyökkel is rendelkezik, amelyeket a végén összehasonlítunk. Ez a módszer a fő hangsúly ebben a bejegyzésben

Kellékek

Arduino Due

LCD 16x2 kijelző I2C adapter modullal

Forrasztópáka

Forrasztópumpa vagy forrasztópáka

Csipesz

1. lépés: A megoldás eredete

A megoldást nem én találtam ki, elég jó javaslatot és magyarázatot láttam az Arduino Fórumon az alábbi linken, amelyet ebben a bejegyzésben reprodukálok.

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

Válasz innen: david_prentice

Nem találtam teljes oktatóanyagot az interneten, és mivel ez egy nagyon gyakori probléma, megpróbálom itt részletesen bemutatni a megoldást, tanúskodni arról, hogy valóban működik, és hozzáadni olyan információkat, amelyek enyhíthetnek némi szkepticizmust az eredményekkel kapcsolatban.

2. lépés: Magyarázat

Eszközök

Az I2C kommunikáció működéséhez az SDA és SCL csapokhoz csatlakoztatott felhúzó ellenállásokra van szükség. Ennek az az oka, hogy az eszközök csak alacsonyra fordítják ezeket a csapokat kommunikáció közben. A HIGH képviseletéhez csak nem kell LOW -t küldeni, és a húzásoknak köszönhetően a HIGH -ra megy. (ez a megértés később nagyon fontos lesz)

Az LCD "I2C hátizsák" két 4K7 felhúzó ellenállással rendelkezik, amelyek megfelelnek az I2C követelménynek. De mivel Vcc -hez vannak csatlakoztatva, ha 5 V -ot használ, akkor az SDA -t és az SCL -t 5 V -ra húzza.

Ha megnézi az adatlapot, láthatja, hogy a többi táblával ellentétben a Due már rendelkezik 1K5 felhúzó ellenállással a fő SDA, SCL csapjain, ami 3,3 V-ra húzza őket.

Tesztek

  • LCD kijelző -> Arduino
  • Gnd -> Gnd
  • Vcc -> 5V
  • SDA -> SDA
  • SCL -> SCL

Ha csak az LCD -t csatlakoztatja a Due -hez (a fenti kábelezést követve), akkor az 1k5 (vagy 1k0) Due felhúzás a 3.3V -hoz és a 4K7 LCD -nek az 5 V -hoz csatlakoztatva 3,7 V (3,6 V) üresjárati I2C vonalakat eredményez 1k0 -val). Ez nem jó, mivel a Due adatlap 3,6 V maximális feszültséget ír elő az I/O vonalakra.

Ennek a forgatókönyvnek a tesztelésével, csak az LCD -vel, 3, 56 V -ot kaptam. Az EEPROM modul hozzáadásával ugyanahhoz az SDA -hoz és SCL -hez 3,606 V -ra nőtt. Mindkét esetben minden normálisan működött, de ezek messze nem az ideális feszültséget a 3,6 V -os maximális értéket figyelembe véve.

Tehát igen, van rá esély, hogy ugyanúgy fog működni, mint az enyém, miközben nem változtat. De a feszültségszint még mindig messze nem ideális, és a Due vagy LCD felhúzás némi eltérése miatt a 3,6 V -os határ fölé kerülhet. (Érdemes lenne legalább 20K vagy 100K potenciométerrel alaposan tesztelni, hogy mi a legalacsonyabb ellenállás az 5 V és az SCL/SDA érintkezők között, mielőtt elérik a 3,6 V -ot, bár az oldat többi része sokkal biztonságosabb és valószínűleg könnyebb is.)

Megoldás

A bemutatott megoldás az, hogy egyszerűen távolítsa el a felhúzó ellenállásokat az LCD hátizsákból, amelyek megpróbálják felhúzni a vonalat 5 V-ig. Ezután csak a Due fedélzeti felhúzó ellenállások maradnak, és az SCL és SDA vezetékeket 3,3 V-ra húzzák. Tökéletesen működött, az üresjárati csapokat 3,262 V körül tartotta!

A kapcsolatok változatlanok:

  • LCD kijelző -> Arduino
  • Gnd -> Gnd
  • Vcc -> 5V
  • SDA -> SDA
  • SCL -> SCL

Ha kíváncsi arra, hogy az LCD nem húzza -e a vonalat 5 V -ra, hogy kommunikáció közben HIGH -t képviseljen, ne feledje, hogy az I2C -n az eszközök csak a LOW vonalokat húzzák, mivel a HIGH jel akkor jelenik meg, ha nem zavarja, ami 3,3 V lesz a Due fedélzeti felhúzásai.

Ezenkívül a 3,3 V elegendő ahhoz, hogy az I2C hátizsák HIGH jelnek minősüljön.

3. lépés: Az ellenállások azonosítása és eltávolítása

Az ellenállások azonosítása és eltávolítása
Az ellenállások azonosítása és eltávolítása
Az ellenállások azonosítása és eltávolítása
Az ellenállások azonosítása és eltávolítása

A fenti kép pirossal mutatja a modulban talált felhúzó ellenállásokat.

Azonosítani

Mivel az LCD I2C adapter hátizsákja eltérő lehet, előfordulhat, hogy az ellenállások nem azonos konfigurációban vannak. A felhúzó ellenállások azonosításához multimétert használhat, folytonossági teszttel. Minden felhúzó ellenállás egyik végét az SCL vagy SDA csaphoz kell csatlakoztatni, a másik végét pedig az Vcc-hez.

Esetemben a 4K7 (SMD kódban 472) ellenállásból három volt a táblán. Közülük csak ketten feleltek meg a fenti követelményeknek, rámutatva, hogy ezeket a húzásokat kerestük!

Extra elővigyázatosságból (ha valamilyen oknál fogva nem 4K7-esek voltak) a többi ellenállást is teszteltem, és megerősítettem, hogy egyikük sem felel meg a felhúzás követelményeinek.

Eltávolítás

Most már csak ki kell forrasztania őket! Könnyebb, ha forrasztópumpa vagy forrasztópáka és csipesz segít.

4. lépés: A megoldások összehasonlítása

Kétirányú logikai szintváltó (LLC)

Előnyök:

Nem igényel forrasztóberendezést vagy képességet

Hátrányok:

További kábeleket és az LLC -t hirdet a listakomponensek listájához

Messier kapcsolatok az extra alkatrészekkel

Kicsit drágább

Forrasztja le az LCD felhúzható ellenállásokat

Előnyök:

Tisztább végeredmény

Valószínűleg azonnal megteheti, nem kell várnia az LLC -re

Különösen jó, ha egy összetett projektben szeretné csökkenteni az alkatrészek sokféleségét és az összeszerelés összetettségét, vagy meg szeretné ismételni

Hátrányok:

Megváltoztatja az LCD áramkört (Ha azt szeretné, hogy "használatra kész" legyen az Uno -val, és már rendelkezik 4K7 lehúzással, akkor visszavonhatja az újraforráshoz szükséges módosításokat)

5. lépés: Utolsó szempontok

Remélem, hogy ez az oktatóanyag megvilágítja ezt a kompatibilitási problémát és néhány lehetséges megoldást.

Ha bármilyen javítási ötlete, jobb magyarázata, új megoldása van, vagy bármilyen hibát talált a bejegyzésben, kérjük, mondja meg megjegyzésekben!:)

Ajánlott: