Tartalomjegyzék:
- Kellékek
- 1. lépés: A megoldás eredete
- 2. lépés: Magyarázat
- 3. lépés: Az ellenállások azonosítása és eltávolítása
- 4. lépés: A megoldások összehasonlítása
- 5. lépés: Utolsó szempontok
Videó: 5V LCD kijelző Arduino Due 3.3V I2C -vel: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
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
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:
20x4 -es I2C karakterű LCD kijelző használata Arduino -val: 6 lépés
20x4 I2C karakterű LCD kijelző használata Arduino -val: Ebben az egyszerű oktatóanyagban megtanuljuk, hogyan kell használni egy 20x4 -es I2C karakterű LCD -kijelzőt az Arduino Uno -val egy egyszerű szöveg megjelenítéséhez: "Hello World. Nézze meg a videót
TTGO (színes) kijelző Micropython-szal (TTGO T-kijelző): 6 lépés
TTGO (színes) kijelző Micropython-szal (TTGO T-kijelző): A TTGO T-Display az ESP32 alapú tábla, amely 1,14 hüvelykes színes kijelzőt tartalmaz. A táblát 7 dollárnál kisebb nyereményért lehet megvásárolni (beleértve a szállítást, a banggoodon látható díjat). Ez hihetetlen nyeremény egy kijelzővel ellátott ESP32 -ért
Arduino I2C 16*2 LCD kijelző csatlakozás Utsource -nal: 10 lépés
Arduino I2C 16*2 LCD kijelző csatlakozás Utsource-val: I²C (Integrált áramkör), kiejtve I-négyzet-C, egy több mester, többszolga, csomagkapcsolt, egyvégű, soros számítógépes busz, amelyet a Philips Semiconductor talált fel (most NXP Semiconductors)
I2C / IIC LCD kijelző - SPI LCD használata az I2C LCD kijelzőhöz Az SPI to IIC modul használata Arduino -val: 5 lépés
I2C / IIC LCD kijelző | Használjon SPI LCD -t az I2C LCD -kijelzőhöz Az SPI -IIC modul használata Arduino -val: Sziasztok, mivel egy normál SPI LCD 1602 -nek túl sok vezetékét kell csatlakoztatni, ezért nagyon nehéz összekapcsolni az arduino -val, de a piacon elérhető egy modul konvertálja az SPI kijelzőt IIC kijelzővé, így csak 4 vezetéket kell csatlakoztatnia
I2C / IIC LCD kijelző - Az SPI LCD átalakítása I2C LCD kijelzővé: 5 lépés
I2C / IIC LCD kijelző | Konvertálja az SPI LCD -t I2C LCD kijelzővé: az spi lcd kijelző használata túl sok kapcsolatot igényel, ami nagyon nehéz, ezért találtam egy modult, amely képes átalakítani az i2c LCD -t spi lcd -re, így kezdjük